作者:亚马逊的蝴蝶(Butterfly_of_Amazon)
假如你的工作需要经常统计汇总一堆令你头大的表格,当数据量巨大时,纵使你有三头六臂也无法应付时,你该怎么办?找人开发一个程序?统计需求经常变化,程序更新速度跟不上。若干年前我也面临这样的问题,几经摸索,最后通过电子表格多表关联解决了这个问题。最近我发现周围很多人像当年的我一样困惑于此,所以把经验写出来供大家参考。
下面的《总体供应情况表》是我当年每天要统计若干遍的表格,有时会根据需要进行调整,数据来自《配送明细》、《检定明细》和《到货明细》三个表格,这三个明细表可以从系统中导出。这里用《配送明细》做例子。我把这些表格放在一个WPS表格文件的不同Sheet中。
总体供应情况表 配送明细以《总体供应情况表》中的 J5 单元格为例,这个单元格中显示的是给CN公司配送的科陆电能表数量。我通过在这个单元格中输入下面公式实现Sheet页关联汇总统计:
=SUMPRODUCT((配送明细!D2:D9615 =J3) *(配送明细!A2:A9615 = A5) *配送明细!F2:F9615)
这个公式比较容易看懂,是指:对《配送明细》中所有接收单位是“CN公司”且生产厂家是“科陆”的行中的F列数据进行求和。
上面公式可实现从 J5 到 S23 这190个单元格的数据统计,但有个缺点:对于不同单元格,需要对公式中的“J3”和“A5”进行修改后才能统计出正确数据,修改粘贴的过程比较单调乏味耗时,虽然有些技巧可以提高修改粘贴的速度,但还是希望有更简便的方法。经过摸索,我找到了下面的改进版公式:
=SUMPRODUCT((配送明细!D2:D9615 = INDEX(A3:S3,ROW(A1), COLUMN())) *(配送明细!A2:A9615 = INDEX(A1:A23,ROW(), COLUMN(A1))) *配送明细!F2:F9615)
这个公式不用做任何修改就可以用于 J5 到 S23 这190个单元格,其中的关键点是函数“INDEX”,当年我在理解这个函数的参数上花了一些时间,不太容易解释清楚,这里就不写了。各位使用本公式时要根据实际情况对参数进行调整,如果有问题可在留言板留言或加好友探讨(微信号:Butterfly_of_Amazon)。
以上两个公式适用于对数值的关联汇总,而工作中有时会遇到需要把另一个Sheet中的单元格内容关联显示到当前Sheet中的情况,单元格内容可以是字符、数字等任意类型。对这个问题,我找到了函数 LOOKUP :
=LOOKUP(A1, Sheet2!A1:A1000, Sheet2!B1:B1000)
公式含义:在Sheet2中查找A列内容与当前Sheet的A1单元格相同的行,如果找到,则将该行的B列单元格内容显示在公式所在单元格。注意:Sheet2中A列数据必须按升序排序,否则无法查找到正确结果。这个公式同样可以通过加入INDEX函数进行改进,实现无改动地应用到其它单元格。
以上方法我直到现在还经常使用,帮我节省了大量的时间,希望对你也有帮助。
看完说点儿什么吧,要不点一下赞或踩一脚也行。您的任何一点儿反馈都能给我帮助,谢谢!
网友评论