簡體   English   中英

讓COUNTIFS忽略所有空白單元格(=空單元格和包含“”的單元格)

[英]Have COUNTIFS ignore all blank cells (= empty cells and cells containing “”)

我想使用COUNTIFS獲得一個公式,例如

=COUNTIF(A1:A3,"<>"&"")

這樣,當A1 = 2, A2 =“”, A3 =空時,它將返回1。

筆記:

  1. A2包含一個空字符串 ,作為公式的結果。 A3是一個空白單元格 ,其中沒有公式。
  2. 發布的公式返回2。
  3. 我嘗試使用各種數量的雙引號。 我總是得到2。
  4. 我嘗試使用&CHAR(34)&CHAR(34) 我得到2。
  5. 我如何獲取用於選擇Excel中所有非空白單元格的方法中發布的解決方案 是我嘗試過的,它返回2(無用)。
  6. 該公式實際上是=COUNTIFS(range1,cond1,range2,cond2) ,這就是為什么我不能使用=ROWS(A1:A3)-COUNTIF(A1:A3,"")=ROWS(A1:A3)-COUNTBLANK(A1:A3) (請參閱 )。 range1range2將來自具有INDIRECT表達式,但這可能不相關。
  7. 我已經使用=SUMPRODUCT(--(expression1),--(ISNUMBER(A1:A3))) ,但是我特別在問使用COUNTIFS的可能性。 此時,數字與文本(例如)的區分不相關。
  8. 空字符串是“煩惱”(見,例如,源 )。
  9. 對於BLANK的定義,Excel本身有些含糊。 在我的示例中, ISBLANK(A2)返回FALSE ,但是COUNTBLANK(A2)返回1
  10. 我對用戶Function不感興趣。

使用SUMPRODUCT函數對單元格內容的LEN函數SIGN函數進行計數。

針對零長度字符串的COUNTIF

根據您的樣本數據,A1有一個值,A2是由公式返回的零長度字符串,而A3實際上是空白。

C2中的公式是

=SUMPRODUCT(SIGN(LEN(A1:A3)))

是使用SUM而不是COUNTIFS選項嗎? 如果是這樣,我發現它在過濾數據集方面更加靈活。 例如:

= SUM(IF(NOT(ISBLANK(A1:A3)),IF(NOT(ISTEXT(A1:A3)),1,0),0))

(作為數組公式輸入)。 IF(NOT(ISBLANK(x))...過濾掉非空白,然后IF(NOT(ISTEXT(x))...過濾掉非文本。任何幸存的過濾器都通過加1來計數。您可以添加盡可能多的過濾器。如果您只想過濾空字符串,但要包含其他文本條目,則可以使用類似

IF(ISTEXT(X),IF(LEN(X)> 0,1,0),0)

我遇到了這個確切的問題,我才發現“?*”通配符可以搜索任何一個或多個字符,從而避免了空字符串問題-天才! 請參閱Jonathan Gawrych的答案(在選定答案之后發布):

Excel Countif不等於字符串長度零

不確定這是否適用於OP,因為看起來A1中的值可能需要作為數字而不是字符串來處理,但是它可能會幫助到達此處的任何其他人尋找文本解析解決方案。

暫無
暫無

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

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