我有两张床单(表1和表2),包含大量数据,我必须根据标准求和(B列中的行项目),因为这是两个工作表中唯一匹配的列。如何解决此问题?我使用了以下公式,但它给了我一个错误。在工作表2中,借助公式,我需要总结的基础上行项目和拖动它下来。有人可以请帮助?
=SUMIFS(INDEX(Sheet1!C2:E10,MATCH(B2,Sheet1!B2:B10,0)),Sheet1!C2:E10,B2)
表1:
| 损益|行项目|一月|二月|三月|
| - ------| - ------| - ------| - ------| - ------|
| 客户销售|小行星5001|小行星5340|小行星2369|小行星1265|
| 公司间销售|小行星5001|一四五二|小行星6589|小行星7895|
| 报废销售|小行星5210|四五八|八十七|九十八|
| 进货运费|六千|四五七|八四五|九八六|
| 职责|六千|四百七十八|九八六|八九六|
| 薪金|小行星875|四五七|八五四|三百二十五|
| 办公用品|6300|七八九|八五四|六五一|
| 材料|6300|三五四|四十五|九十八|
| 办公室 scrapy |6300|四百五十二|二百五十八|六五四|
表2:
| 损益|行项目|一月|二月|三月|
| - ------| - ------| - ------| - ------| - ------|
| 销售额|小行星5001|小行星6792|||
| 报废|小行星5210||||
| 用品|6300||||
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
=SUMIFS(INDEX(Sheet1!C2:E10,MATCH(B2,Sheet1!B2:B10,0)),Sheet1!C2:E10,B2)
2条答案
按热度按时间kdfy810k1#
您可以使用SUMPRODUCT结合一元运算符和MATCH来获得以下结果:
单元格K2中的公式为:
向右向下拖动即可
SUMPRODUCT and Double Unary Operators
请注意,此公式将MATCH与
+2
组合在一起。之所以使用+2
,是因为COLUMN函数返回的是绝对列号,而MATCH仅对选定内容起作用。由于月份从列C(第三列)开始,因此需要加上2,以使COLUMN和MATCH在相同的引用中起作用。如果月份从列E开始,则为+4,列F为+5,依此类推。7ivaypg92#
假设您数据从
A1
开始,1.使用
LAMBDA()
命名您正在处理的范围,1.使用
MAKEARRAY()
定义ROW
和COL
索引,FILTER()
根据ITEMS
的DATA
,SUM()
是FILTER()
的结果。如果您不熟悉数组公式,也可以使用以下公式:
把它放进
H2
(我的例子),从左到右,从上到下,也应该可以。