论坛里有很多针对多工作表单条件进行汇总要求通过公式来实现的求助主题,该方面的主题通常可以借助公式:SUMPRODUCT+SUMIF+INDIRECT 或:数组公式:SUM+SUMIF+INDIRECT 来很好的实现。 可是对于多工作表双条件或更多条件汇总时,就不能借助上面两种方式来实现,一般需借助VBA或SQL语句来实现。但VBA与SQL语句对于大部分E菜鸟们还是有点高深。 现在介绍通过EXCEL 2007新增加的 SUMIFS 函数来实现。 具体下: 三张原始数据源工作表,分别为:Sheet1、Sheet2、Sheet3。 工作表:Sheet1 原始数据有: 部门 | 规格 | 型号 | 进货量 | A | T型 | TDR34-01 | 1 | B | B型 | BDR40-01 | 2 | C | A型 | ADR50-01 | 3 | A | A型 | ADR50-01 | 7 | C | T型 | TDR34-01 | 8 | B | A型 | ADR50-01 | 9 | B | T型 | TDR35-01 | 10 | A | B型 | BDR40-01 | 11 | A | A型 | ADR50-02 | 7 | A | T型 | TDR35-01 | 20 | B | T型 | TDR34-01 | 23 | A | A型 | ADR45-01 | 20 | A | A型 | ADR50-02 | 50 |
工作表:Sheet2 原始数据有: 部门 | 规格 | 型号 | 进货量 | A | T型 | TDR34-01 | 10 | B | B型 | BDR40-01 | 25 | C | A型 | ADR50-01 | 38 | A | A型 | ADR50-01 | 57 | C | T型 | TDR34-01 | 82 | B | A型 | ADR50-01 | 29 | B | T型 | TDR35-01 | 210 | A | B型 | BDR40-01 | 191 | A | A型 | ADR50-02 | 25 | A | T型 | TDR35-01 | 60 | B | T型 | TDR34-01 | 58 | A | A型 | ADR45-01 | 46 | B | A型 | ADR50-02 | 35 | C | T型 | TDR35-01 | 200 |
工作表:Sheet3 原始数据有: 部门 | 规格 | 型号 | 进货量 | A | T型 | TDR34-01 | 51 | B | B型 | BDR40-01 | 52 | C | A型 | ADR50-01 | 53 | A | A型 | ADR50-01 | 57 | C | T型 | TDR34-01 | 58 | B | A型 | ADR50-01 | 59 | B | T型 | TDR35-01 | 60 | C | B型 | BDR40-01 | 61 | A | A型 | ADR50-02 | 10 | A | T型 | TDR35-01 | 52 | B | T型 | TDR34-01 | 64 | A | A型 | ADR45-01 | 77 | B | A型 | ADR50-02 | 27 |
如果只单条件:“部门”进行多工作表的“进货量”汇总,这可以用公式(也是论坛已有的解法): - =SUM(SUMIF(INDIRECT("Sheet"&ROW($1:$3)&"!A:A"),A2,INDIRECT("Sheet"&ROW($1:$3)&"!D:D")))
复制代码来实现。
可是对于双条件:“部门”及“规格”进行对多工作表“进货量”汇总时,借助 SUMIF 函数是实现不了,一般需借助VBA(暂没列出)或SQL语句(具体见附件两工作表:“部门规格双条件汇总SQL”与“三条件汇总SQL”的效果)来实现。但VBA与SQL语句对于大部分E菜鸟们还是有点高深。 幸运的是,在EXCEL 2007版本新增了的 SUMIFS 函数可以帮我们解决这个问题: 公式: - =SUMPRODUCT(SUMIFS(INDIRECT("Sheet"&ROW($1:$3)&"!D:D"),INDIRECT("Sheet"&ROW($1:$3)&"!A:A"),A2,INDIRECT("Sheet"&ROW($1:$3)&"!B:B"),B2))
复制代码或数组公式: - =SUM(SUMIFS(INDIRECT("Sheet"&ROW($1:$3)&"!D:D"),INDIRECT("Sheet"&ROW($1:$3)&"!A:A"),A2,INDIRECT("Sheet"&ROW($1:$3)&"!B:B"),B2))
复制代码
继续追溯:
可想而知,如果三个条件或更多的条件进行多工作表汇总时,只需在条件区域增加相应的条件即可。像三条件:“部门”、“规格”及“型号”进行对多工作表“进货量”汇总时。 则公式为(数组公式不列出):
- =SUMPRODUCT(SUMIFS(INDIRECT("Sheet"&ROW($1:$3)&"!D:D"),INDIRECT("Sheet"&ROW($1:$3)&"!A:A"),A2,INDIRECT("Sheet"&ROW($1:$3)&"!B:B"),B2,INDIRECT("Sheet"&ROW($1:$3)&"!C:C"),C2))
复制代码
该贴已经同步到 dengjq2000的微博 |