如何在 Excel 中最好地同时执行 foreach 和 count

如何在 Excel 中最好地同时执行 foreach 和 count

我一直试图在 Excel 中做一些工作,但我似乎被困在了一点上

在“A”列中我有:a、b、c、d、e
在“B”列中我有:完成、开始、完成
在“C”列到“S”列中我有:一些“X”,但不是在所有字段中。

所以我的问题是如何做到以下

foreach row in excel.A
   Where Bx is done
   count("X", $row)

我尝试过pivot、countif、sumproduct但似乎无法让它们工作,有什么想法吗?

答案1

我相信你会想要使用SUMPRODUCT。试试这个:

=SUMPRODUCT((B1:B5="Done")*(C1:S5="X"))

X这将返回B 列值为 的所有行中 C 到 S 列出现的次数Done

乘法使 Excel 将布尔数组视为数字数组。这样就SUMPRODUCT不会返回错误。

答案2

尝试这个 -

=IF(B1="done",COUNTIF(C1:S1,"X"),"")

当然,这是区分大小写的。这会计算每一行并给出一个数字,除非它不是“完成”,否则它是空白的。

答案3

我认为您的意思是 C 至 S 列中没有 X 的任何单元格都没有任何内容。如果是这样,那么您可以通过使用 COUNTA 来简化一点:

=IF(B2="done",COUNTA(C2:S2),"")


请记住,如果这些 X 是通过公式输入的(如空白单元格中包含公式),那么这将不起作用,因为单元格将被视为包含某些内容。

相关内容