在 A 列中,我有从 1 到 52 周的数据。在 B 列中有“TRUE”和“FALSE”。我想检查 B 列中的所有 TRUE,并返回 A 列中的所有相应数字。然后,A 列中的值将被发送到其他列,这些列将进一步匹配这些数字,然后计算总数。
目前我正在尝试这个公式:
=IF($B$2:$B$54=TRUE,COUNTIFS(tempDailyFeed_23July!$B$2:$B$1048576,"=abc",tempDailyFeed_23July!$BU$2:$BU$1048576,$A$2:$A$54),"")
这里 B2 到 B54 是我的包含 TRUE 和 FALSE 的列,而 A2 到 A54 包含从 1 到 52 的数字。在COUNTIF
函数中,我给出了与其他表匹配所需的条件。
答案1
答案2
如果您实际上想按照我在上面的评论中猜测的那样做,那么这里有一种方法可以做到。
我很难使用 COUNTIFS() 来执行此操作,因为无法在条件中放入逻辑运算符。
无论如何,这里有一个带有已经提到的警告的解决方案:
C2中的公式是G的学生之前给出的数组公式。
=IFERROR(INDEX($A$2:$A$16,SMALL(IF($B$2:$B$16=TRUE,ROW($A$2:$A$16)-ROW($A$2)+1),ROWS($A$2:$A2))),"")
D 列有一些文本名称来模拟您的范围tempDailyFeed_23July!$B$2:$B$1048576
,而 E 列有周数来用周数模拟您的范围。(它不能tempDailyFeed_23July!$B$2:$B$1048576
像您在问题中的 IF() 公式中那样)。或者也许我在这里完全搞错了方向。
F2 中的公式是另一个数组公式:
=IFERROR(IF((MATCH(1,1*(E2=C$2:C$7),0))*(D2="abc")>0,1,""),"")
它查找名称为“abc”并且周数为 C 列中的周数之一(B 列为 TRUE 时为 A 列中的周数)的行。