Excel 检查一个范围内的所有可见单元格是否等于;是的;?

Excel 检查一个范围内的所有可见单元格是否等于;是的;?,excel,Excel,如果我想检查B2:B30中的所有单元格(可见和隐藏)是否等于“是”我知道我可以使用: =COUNTIF(B2:B30;"Yes")/(COUNTA(B2:B30)+COUNTBLANK(B2:B30)) 但是,如果我想检查该范围内的所有可见单元格是否都等于yes,我可以使用什么公式呢。类似这样的方法应该可以做到: =IF(SUMPRODUCT(SUBTOTAL(3,OFFSET(B2,ROW(B2:B30)-ROW(B2),0)),(B2:B30="Yes")+0)=SUBTOTAL(3,B2

如果我想检查
B2:B30
中的所有单元格(可见和隐藏)是否等于
“是”
我知道我可以使用:

=COUNTIF(B2:B30;"Yes")/(COUNTA(B2:B30)+COUNTBLANK(B2:B30))

但是,如果我想检查该范围内的所有可见单元格是否都等于yes,我可以使用什么公式呢。

类似这样的方法应该可以做到:

=IF(SUMPRODUCT(SUBTOTAL(3,OFFSET(B2,ROW(B2:B30)-ROW(B2),0)),(B2:B30="Yes")+0)=SUBTOTAL(3,B2:B30),"TRUE","FALSE")

编辑1

刚刚意识到这只适用于由于过滤器而隐藏的行。我想这就是为什么它对你不起作用

请尝试此操作,现在应忽略隐藏行:

=IF(SUMPRODUCT(SUBTOTAL(103,OFFSET(B2,ROW(B2:B30)-ROW(B2),0)),(B2:B30="Yes")+0)=SUBTOTAL(103,B2:B30),"TRUE","FALSE")

编辑2

如果在以下范围内存在任何空白单元格,则此公式应显示false:

=IF(SUMPRODUCT(SUBTOTAL(103,OFFSET(B2,ROW(B2:B30)-ROW(B2),0)),(B2:B30="Yes")+0)=SUBTOTAL(103,B2:B30), IF(SUMPRODUCT(((SUBTOTAL(103,OFFSET($C1,ROW($C$2:$C$30)-ROW($C$1),)))=1)*((SUBTOTAL(103,OFFSET(B1,ROW(B$2:B$30)-ROW(B$1),)))=0))=0,"TRUE"),"FALSE")

这是一种肮脏的伎俩,但它应该奏效

首先,将
X2
(或一些类似的远离单元格)设置为
=IF(B2=“Yes”,0“”
,并将此公式沿列复制到
X30
。接下来,将
Y2:Y30中的所有单元格设置为
0


公式
=IF(=聚合(2,5,X2:X30)=聚合(2,5,Y2:Y30),TRUE,FALSE)
现在将计算为
TRUE
,当范围
B2:B30
中的所有单元格都等于
“Yes”
时,如果至少有一个单元格不等于
“Yes”
,则
将根据某些条件隐藏行?无条件,由于各种原因,有些行被隐藏了。我不确定这个复杂的公式有什么作用,所以我不敢调整它。如果范围内的所有可见单元格都等于Yes,则我希望公式计算为true,否则为FALSE。这可能吗?是数组公式吗?当我尝试这个公式时,它似乎在计算“是”的数目,不管它们是隐藏单元格还是可见单元格。谢谢您的尝试。你是对的,那就不行了。我的最新编辑应该希望用公式来解决这个问题。它看起来更接近了。谢谢你的努力!但如果任何或所有可见单元格为空,则计算结果为真。我只希望它在所有可见单元格都为“是”时计算为真。