簡體   English   中英

具有任何數字的Excel公式CountIFS

[英]Excel Formula CountIFS with any digit

我無法讓COUNTIFS搜索任何數字。

如果我將第二個條件設為一個特定的數值,這將起作用

=COUNTIFS(FOO!B:B,"*foobar*",FOO!C:C,"2")

但是我不只是想要搜索2 ,我想要任何數值(甚至任何包含數字的字符串)。 我嘗試了一些變體,但據我了解,這應該在下面起作用。 我想念什么?

=COUNTIFS(FOO!B:B,"*foobar*",FOO!C:C,"*{1,2,3,4,5,6,7,8,9,0}*")

數據

A     B         C
      foobar    51
      foo       682
      bar       S5
      foobar    CSGR
      foobar    8RD

給定我想要的值,countifs公式應返回2 ,其中B列是foobar ,C列包含任何數字。

您可以對C列使用=COUNT(FIND({0,1,2,3,4,5,6,7,8,9}),C2)>0 ,然后在D列中向下復制。這將返回如果單元格中有數字,則為TRUE或FALSE。

然后按照=COUNTIFS(FOO!B:B, "*foobar*", FOO!D:D, TRUE)

尚未測試。

好...

這有點麻煩,也許有更好的方法,但是在沒有幫助器列的情況下它可以工作:

在此處輸入圖片說明

=SUMPRODUCT(
    --NOT(ISERROR(SEARCH("*foobar*",B1:B5)))*
    (
        (
            --NOT(ISERROR(SEARCH("*0*",C1:C5)))+
            --NOT(ISERROR(SEARCH("*1*",C1:C5)))+
            --NOT(ISERROR(SEARCH("*2*",C1:C5)))+
            --NOT(ISERROR(SEARCH("*3*",C1:C5)))+
            --NOT(ISERROR(SEARCH("*4*",C1:C5)))+
            --NOT(ISERROR(SEARCH("*5*",C1:C5)))+
            --NOT(ISERROR(SEARCH("*6*",C1:C5)))+
            --NOT(ISERROR(SEARCH("*7*",C1:C5)))+
            --NOT(ISERROR(SEARCH("*8*",C1:C5)))+
            --NOT(ISERROR(SEARCH("*9*",C1:C5)))
        )>0
    )
)

如果SEARCH函數返回錯誤,則表示未找到文本。 SEARCH函數的結果由--NOT(ISERROR(部件)轉換為0或1。

因此,對於每一行,我們正在檢查B列是否包含“ foobar”。 如果是這樣,它將返回1。然后將其乘以公式后半部分的結果(也為0或1)。 在下半部分,我們將累加多少個數字檢查不會導致錯誤。 如果該數字大於0(即找到至少一位數字),則返回1。如果未找到數字,則返回0。

結果為1 * 1、1 * 0、0 * 1或0 * 0之和。 這意味着,如果在BOTH列中都找到了文本,則每一行的總和只會得到1,否則返回0。

然后,SUMPRODUCT只需將這些零和一加起來即可得出滿足您條件的總行數。

我希望這是有道理的。 如果您需要更多說明,請告訴我。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM