2014-09-22 38 views
0

如果所有單元格中的值都是數字,我需要檢查多個單元格並返回TRUE。 實施例:Excel函數的多個參數

A2,A4, A5,A8,A12,A16 <p> 

目前我寫如下公式:

=IF(AND(ISNUMBER(A2),ISNUMBER(A4),ISNUMBER(A5),ISNUMBER(A8),ISNUMBER(A12),ISNUMBER(A16)),"All Numbers","Some not numbers") 

有什麼方法來寫只有一個ISNUMBER函數的公式,其單元的陣列被傳遞?

+0

NO。在excel中沒有這樣的工作表函數。但是,您可以通過VBA程序(宏)創建這樣的功能。 – 2014-09-22 05:47:54

+0

謝謝福姆。我們需要將工作表發送給散佈在不同位置的技術不熟練的人員,並且由於宏中的支持依賴關係,寧願採用無宏觀解決方案 – user1955215 2014-09-22 06:49:02

+0

如果我將空白單元格計爲一個數字,它會影響嗎?如果沒關係(即你控制輸入範圍,以便不包含空白單元格),那麼有一個解決方案,但你必須通過兩次範圍。 – Bathsheba 2014-09-22 07:40:14

回答

1

如果數字將永遠只能是非零積極:

=IF(INDEX(FREQUENCY((A2,A4,A5,A8,A12,A16),0),2)=COUNTA(A2,A4,A5,A8,A12,A16),"All Numbers","Some not numbers") 

否則:

=IF(SUM(COUNTIF(INDIRECT({"A2","A4","A5","A8","A12","A16"}),{">=0";"<0"}))=COUNTA(INDIRECT({"A2","A4","A5","A8","A12","A16"})),"All Numbers","Some not numbers") 

如果在其上要執行此項檢查單元格的範圍是固定的,而不是動態的,那麼我們就可以縮短這些到:

=IF(INDEX(FREQUENCY((A2,A4,A5,A8,A12,A16),0),2)=6,"All Numbers","Some not numbers") 

或:

=IF(SUM(COUNTIF(INDIRECT({"A2","A4","A5","A8","A12","A16"}),{">=0";"<0"}))=6,"All Numbers","Some not numbers") 

問候

+0

謝謝XOR LX。這完全按照我想要的方式工作。這個要求已經有所改變了,我相信你能幫助我。現在,不是檢查單元格是否有數字,而是要求單元格不是空白的(澄清:範圍是固定的),那麼我使用什麼公式?「空白」意味着有一些價值(除空格字符外的字母/數字等)。提前致謝。 – user1955215 2014-09-22 09:55:07

+0

爲了進一步闡明,只有所有單元格都有一個值(即非空),公式纔會返回TRUE,並且即使一個單元格有空白也應該返回FALSE。 – user1955215 2014-09-22 09:56:45

+0

好的。更改爲:= SUM(COUNTIF(INDIRECT({「A2」,「A4」,「A5」,「A8」,「A12」,「A16」}),{「?*」;「> 0」})) = 6 – 2014-09-22 11:21:44

1

如果要檢查的細胞是在一個連續的陣列可以用數組公式與isnumber功能:

=ISNUMBER(A2:A5)然後按ctrl+shift+enter而不是僅僅enter。當你再看看單元格的公式應該花括號像{=ISNUMBER(A2:A5)}

包圍如果細胞不能在一個連續的數組這是不行的,但是

+0

謝謝Zrethreal,範圍不是連續的 – user1955215 2014-09-22 06:47:20

0

好,坦率地說..因爲你希望他們在這些單元格輸入的數字,爲什麼不你只是使用數據驗證? (可在「數據」選項卡>「數據驗證」中找到)。選擇小數點,您甚至可以設置最小值到最大值的範圍。我個人認爲這是對您的情況更爲穩健的解決方案,因爲用戶將無法輸入數字以外的值。

0

COUNT功能只計算數字(不是文字或錯誤值或邏輯值或空白),所以這個公式可以得到同樣的結果作爲當前的公式具有多種功能ISNUMBER

=IF(COUNT(A2,A4,A5,A8,A12,A16)=6,"All Numbers","Some not numbers")