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

How to iterate through rows in Excel and to check multiple conditions?

提问人:mp00172 提问时间:10/17/2023 最后编辑:JNevillmp00172 更新时间:10/18/2023 访问量:70

问:

请帮忙!

我有这个问题,我不知道如何在Excel中做到这一点......我确信有一种方法,例如,我会知道如何在 Python 中做到这一点。我也知道有更好的方法来解释我的问题,所以我提前道歉......但这是我的确切情况。

我的表如下所示:

一个 B C D E
1 MATCHING_A random_jdd random_sdf 23
2 MATCHING_A MATCHING_B MATCHING_C 10
3 random_ert random_dca random_zzc 7
4 random_xhg random_ghd MATCHING_C 347
5 MATCHING_A MATCHING_B MATCHING_C 5
6
7 15

我需要它遍历行,直到它到达空行。我希望它检查多个条件:如果(在当前行中)A 列中有“MATCHING_A”,B 列中有“MATCHING_B”,C 列中有“MATCHING_C”,请从 D 列中取值并将其与单元格 E7 中的总和相加,等于 15。

因此,假设程序遍历了前 5 行。当它到达第 6 行(即第一行空行)时,循环停止了。它在第 2 行和第 5 行中找到了所有三个匹配条件,因此它从 D 列中获取了值 10 和 5,并得到了单元格 E7 中打印的总和 15。

求求你,帮帮我!我将不胜感激!

谢谢!:)

很难描述我尝试过什么......我是 Excel 的新手。

excel if 语 条件语句 求和 迭代

评论

0赞 BigBen 10/17/2023
这里不需要编码。只需使用公式.SUMIFS
0赞 mp00172 10/17/2023
你能帮我做吗?
0赞 Jackson Dunn 10/17/2023
这是您可以访问 python 的东西吗?熊猫的处理能力很强,当然可以做到这一点。在 excel 中,您需要构建一个 vbasic 宏。这个网站(extendoffice.com/documents/excel/...)有关于如何做到这一点的信息。就我个人而言,我总是尽可能选择python。
0赞 Mayukh Bhattacharya 10/17/2023
是的,正如@BigBen先生所提到的,或者会起作用。但是您能否解释一下,如果在第六行之后添加了新行,例如第七行或第八行,总和是从此处的空白行开始的新总和,还是您只是这些的总和,等等,而不考虑空行?SUMIFS()MMULT()MATCHING_AMATCHING_B
4赞 T. Grandemange 10/17/2023
我会这样做:=SUMIFS(E:E,B:B,“=MATCHING_A”,C:C,“=MATCHING_B”,D:D,“=MATCHING_C”)

答:

0赞 FlexYourData 10/18/2023 #1

一般来说,我建议不要使用整列引用,如 A:A、B:B、E:E。

具体说明范围:

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

如果运算符为“equals”,则无需将 equals 字符放在公式的匹配字符串中。

比这更好的方法是将数据范围转换为表。为此,您可以将光标置于数据范围内并按 +:CtrlT

enter image description here

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

enter image description here

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

enter image description here

您的公式可以是:

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

enter image description here

将数据存储在这样的表中的好处是在添加新数据时自动扩展范围。