Excel中SUMIF函数里[#Headers]与[#Totals]的计算逻辑疑问
SUMIF错误公式的计算逻辑解析
第一个错误公式:SUMIF(Elec[Green (Y/N)],"Yes",Elec[[#Headers],[Total (kWh)]])
这个公式里的求和区域Elec[[#Headers],[Total (kWh)]]指向的是表格中Total (kWh)列的表头单元格(单个单元格)。SUMIF的执行逻辑是:遍历Green (Y/N)列的每一行,每找到一个值为"Yes"的行,就把求和区域对应位置的单元格值加进去。但因为求和区域是单个表头单元格,所以每匹配到一个"Yes",就会重复累加这个表头单元格的数值。你得到结果100,说明你的Total (kWh)表头单元格的数值就是100,且恰好有1条符合条件的记录(Green=Yes)。
第二个错误公式:SUMIF(Elec[Green (Y/N)],"Yes",Elec[[#Totals],[Total (kWh)]])
这个公式的求和区域Elec[[#Totals],[Total (kWh)]]指向的是表格总计行中Total (kWh)列的单元格(单个单元格)。和第一个公式逻辑一致,每匹配到一个"Yes",就累加这个总计单元格的数值。你得到11110,说明总计行的Total (kWh)值是11110,且匹配到的"Yes"记录数量为1(如果是多个,结果会是该数值乘以匹配条数)。
正确公式的逻辑
SUMIF(Elec[Green (Y/N)],"Yes",Elec[Total (kWh)])引用的是整个Total (kWh)列的数据区域,每匹配到一个"Yes",就把对应行的Total (kWh)值累加,这才是符合需求的求和逻辑。
内容的提问来源于stack exchange,提问作者Jack the Ranger
相关产品推荐
相关产品推荐

