【发布时间】:2019-07-23 06:50:35
【问题描述】:
我的工作簿中有 2 张工作表(Sheet1、Sheet2)。
工作表 2 包含一个包含 5 列的表(命名为 Table1):
- 外卖
- 家庭
- 服装
- 燃料
- 杂货
在第一张纸上,我有 2 列:
- 费用名称
- 总费用
现在,我想做的是:
- 设置费用名称的范围(范围 1)
- 设置费用总计的范围(范围 2)
- 将范围 1 与表中的相应列进行比较,仅将匹配项的值相加
例如,在范围 1 (B6:B16) 中:
- BP
- 加德士
- 麦当劳
- 肯德基
在范围 2 (C6:C16) 内:
- 300
- 400
- 200
- 150
现在,我要做的就是将外卖(麦当劳、肯德基)的值相加,并排除任何不符合条件的东西。
所以我的总和将是所有出现的外卖 - 只要它们在我的表中列出 - 在这种情况下为 350。
但我似乎无法让公式起作用。
我使用了这些来源:
https://exceljet.net/excel-functions/excel-sumifs-function
Selecting a Specific Column of a Named Range for the SUMIF Function
最后得到了这个公式:
=SUMIF($B$6:$B$16;Table1[Takeaways];C6:C16)
此来源:
https://excelchamps.com/blog/sumif-sumifs-or-logic/
最后得到了这个公式:
=SUM(SUMIFS(C6:C16;B6:B16;Table1[Takeaways]))
两个公式都返回 0。
但是,对于它们两者,如果我将 Table1[Takeaways] 更改为“McDonalds”,那么它会正确识别范围 1 中每个出现的单词“McDonalds”。
编辑:
我已经更新了上面的公式以匹配下面的图片。
这是包含引用的表:
此表包含数据:
公式:
单元格 C4(在 Takeaways 旁边):=SUMIF($B$6:B$16;Table1[Takeaways];C6:C16)
C5 单元(燃料旁边):=SUM(SUMIFS(C6:C16;B6:B16;Table1[Fuel]))
公式中似乎只检测到 BP。
当我使用带有单个单元格引用而不是表格或使用范围的公式时,这是一个输出表格:
公式:
单元格 F4(BP 旁边):=SUMIF($B$6:B$16;"BP";C6:C16)
F5 单元格(加德士旁边):=SUM(SUMIFS(C6:C16;B6:B16;"Caltex"))
F6 单元格(麦当劳旁边):=SUMIF($B$6:B$16;"McDonalds";C6:C16)
F7 单元格(肯德基旁边):=SUM(SUMIFS(C6:C16;B6:B16;"KFC"))
【问题讨论】:
标签: excel vba excel-formula formula sumifs