如何在Excel中遍历行并检查多个条件?

hwamh0ep  于 2023-10-21  发布在  其他
关注(0)|答案(1)|浏览(96)

救命啊!
我有这个问题,我不知道如何在Excel中做到这一点。我相信有一种方法,我会知道如何在Python中做到这一点。我也知道有一个更好的方式来解释我的问题,所以我提前道歉...但这是我的确切情况。
我的表看起来像这样:
| 行|一|B| C| D| E|
| --|--|--|--|--|--|
| 1 |匹配_A|随机jdd|随机sdf| 23 ||
| 2 |匹配_A|匹配_B|匹配_C| 10 ||
| 3 |随机ert|随机DCA|随机ZZC| 7 ||
| 4 |随机xhg|随机ghd|匹配_C| 347 ||
| 5 |匹配_A|匹配_B|匹配_C| 5 ||
| 6 ||||||
| 7 ||||| 15 |
我需要它遍历各行直到到达空行。我希望它检查多个条件:如果(在当前行中)A列中有“MATCHING_A”,并且B列中有“MATCHING_B”,并且C列中有“MATCHING_C”,则从D列中取值并将其添加到单元格E7中的sum,其等于15。
所以,让我们假设程序迭代了前5行。当它到达第6行(第一个空行)时,循环停止。它已经在第2行和第5行找到了所有三个匹配条件,因此它从D列取值10和5,并得到打印在单元格E7中的和15。
请救救我!我会很感激的!
Thanks!:)
很难描述我尝试过什么...我是Excel的新手。

k3bvogb1

k3bvogb11#

一般来说,我建议不要使用整个列引用,如A:A,B:B,E:E。
请具体说明范围:

=SUMIFS(D1:D5,A1:A5,"MATCHING_A",B1:B5,"MATCHING_B",C1:C5,"MATCHING_C")

如果运算符是“equals”,则不需要在公式的匹配字符串中放置等号字符。
比这更好的是将数据范围转换为表。您可以通过将光标放在数据范围内并按Ctrl+T来执行此操作:

当数据位于表中时,您可以转到功能区的表设计选项卡,然后在表名称框中更改表名称:

为数据提供合理的列标题:

你的公式可以是:

=SUMIFS(dat[value],dat[category1],"MATCHING_A",dat[category2],"MATCHING_B",dat[category3],"MATCHING_C")

像这样将数据存储在Table中的好处是,当添加新数据时,可以自动扩展范围。

相关问题