我的工作簿中有 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(“要点”旁边):=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(KFC 旁边):=SUM(SUMIFS(C6:C16;B6:B16;"KFC"))
最佳答案
如果我正确理解您想要实现的目标,我认为您的设置在概念上不正确。
您似乎正在尝试跟踪费用,并且每项费用(或收款人)都分配到一个类别(“外卖”、“家庭”等)。来自relational-model从观点来看,您的第二个表(定义每个费用/收款人的类别)应该只有两列(或变量):费用名称和费用类别。 p>
您设置的表(“表 2”)使用类别(即可能的值)作为不同的列(即变量)。但只有一个变量,即“费用类别”,类别本身就是可能的值。
如果您这样设置,问题就会发生变化:您可以使用 VLOOKUP()
在第一个表中添加一个从属列,该列显示每个收款人(或“费用名称”)的类别。从第二个表。
然后,您可以对与该类别匹配的所有收款人的费用进行求和。
注意:我使用LibreOffice Calc创建了插图,因此可能存在一些细微的差异,但逻辑是相同的。
关于excel - SumIF 使用表/命名范围而不是单单元格标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54941221/