如果我想检查B2:B30
中的所有单元格(可见和隐藏)是否等于"Yes"
我知道我可以使用:
=COUNTIF(B2:B30;"Yes")/(COUNTA(B2:B30)+COUNTBLANK(B2:B30))
但是,如果我想检查该范围内的所有可见单元格是否等于是,我可以使用什么公式。
答案 0 :(得分:0)
这样的事情可以解决问题:
=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")
答案 1 :(得分:0)
这是一种肮脏的伎俩,但它应该有用。
首先,将X2
(或类似的远处单元格)设置为=IF(B2="Yes",0,"")
,然后将此公式复制到列X30
。接下来,将Y2:Y30
中的所有单元格设置为0
。
当=IF(=AGGREGATE(2,5,X2:X30)=AGGREGATE(2,5,Y2:Y30),TRUE,FALSE)
范围内的所有单元格等于TRUE
时,公式B2:B30
将评估为"Yes"
,而FALSE
时至少有"Yes"
不等于{{1}}。