Excel - SUMIF 索引和匹配
Posted
技术标签:
【中文标题】Excel - SUMIF 索引和匹配【英文标题】:Excel - SUMIF INDEX and MATCH 【发布时间】:2017-10-28 05:25:49 【问题描述】:我坚持使用 sumif 公式。我想如果我使用一些索引和匹配的组合,我可以让它工作,但在过去的一个小时里我一直无法这样做!
我需要根据门牌号和 2 个日期从一个数字表中求和。例如,我需要将日期 08-05-17 和 13-05-17 之间的房子 1 的数字相加。
我以前使用索引和匹配的经验是,我只用它来获得一个特定的数字。
【问题讨论】:
【参考方案1】:修改如下
=SUMIFS(OFFSET(B3:ZZ3,MATCH("house 1",E:E,0)-3,0),B3:ZZ3,">"&42863,B3:ZZ3,"<"&42868)
将“house 1”更改为引用。
将 42863 和 42868 分别更改为开始日期和结束日期的引用。 (数字只是数字格式的日期。)
将范围和匹配公式中的 3s 更改为包含日期的行号。
将 B3:ZZ3 更改为日期的行范围。假设您正在连续更新数据,您可以通过增加范围来提供空间,就像我的示例中的 ZZ 列一样。
【讨论】:
【参考方案2】:假设:
第一个表在 Sheet1 上 第一个表中的 House 1 数据在第 4 行中 第二张表在单独的纸上 第二个表中的房屋 1 数据在第 4 行中Sheet2 中的这个公式,单元格 AG4 应该可以工作:
SUM(INDIRECT("Sheet1!R4C"&22+MATCH(AD4,Sheet1!W3:AC3,0),FALSE):INDIRECT("Sheet1!R4C"&22+MATCH(AE4,Sheet1!W3:AC3,0),FALSE))
【讨论】:
【参考方案3】:OFFSET 和 INDIRECT 是可变的,这可以通过 INDEX/MATCH 实现
=SUMIFS(INDEX(Sheet1!$W:$AC,MATCH("House " & B4,Sheet1!$A:$A,0),0),Sheet1!$W$3:$AC$3,"<=" & $AE4,Sheet1!$W$3:$AC$3,">=" & $AD4)
0
作为 INDEX 中的第三个条件将返回 MATCH 选择的行中的所有列。
这个公式是非易失性和非数组的。
【讨论】:
顺便说一句,我建议将 1 到 6 放入 A4:A9 并将单元格格式化为\Hou\s\e 0
。这将消除 MATCH 中的字符串连接。
我想我给了你四个小时的先机。 :) @Jeeped
这个答案很完美!我想坚持使用索引和匹配,而不是偏移和间接。干杯【参考方案4】:
AI4
使用数组操作的公式(虽然是普通公式,而不是 CSE):
=SUMPRODUCT(Sheet1!W4:XX100*
(Sheet1!A4:A100 = "House " & A4)*
(Sheet1!W3:XX3 >= AD4)*
(Sheet1!W3:XX3 <= AE4))
附言Index/Match
版本应该(据说)更快,但我喜欢这种形式的可读性...
【讨论】:
以上是关于Excel - SUMIF 索引和匹配的主要内容,如果未能解决你的问题,请参考以下文章
Pandas Merge 中未捕获 Excel 中的“索引匹配”功能(或者是吗?)