【发布时间】:2014-10-04 21:49:24
【问题描述】:
我有一个简单的公式,例如:IFERROR(SUM(SUMIFS(TBL1[SUMCOLUMN],TBL1[ACTIVITY],{"0001","0002","0003"})),0),它可以工作。
但我希望 {"0001","0002","0003"} 部分根据列的值而有所不同,因此我将公式更改为:
IFERROR(SUM(SUMIFS(TBL1[SUMCOLUMN],TBL1[ACTIVITY],IF([@TYPE]="EHT",{"0001","0002","0005"},IF([@TYPE]="CT",{"0003","0004","0007"},"0010")))),0)
它只给我基于第一个数组值的值。 示例:
IF([@TYPE]="EHT",{"0001","0002","0005"} //Gives me sum of only where "0001" and ignores "0002","0005"
IF([@TYPE]="CT",{"0003","0004","0007"} //Gives me sum of only where "0003" and ignores "0004","0007"
我认为 excel 正在将标准转换为文本,所以我尝试了不同的方法,例如使用 char(34)、不同数量的引号、将值放入不同的单元格和引用但没有帮助。 知道我缺少什么吗?
示例表: TBL1:
总结活动 5 0001 20 0002 50 0003 ... TBL2: 类型总计 EHT SUMIFS 在这里 CT SUMIFS 在这里 其他总结在这里【问题讨论】:
标签: arrays excel conditional sumifs