2016-05-12 121 views
2

我有一個Excel文件,我正在使用。有一列包含數字和文字,有時只是一個或另一個。我試圖編寫一個函數來掃描單元格的最左邊部分,以查看它是否以數字開頭。我以爲我擁有它,但顯然不是。這是我有:Excel ISNUMBER函數與IF語句

=IF(ISNUMBER(LEFT(E8,1)), "True", "False") 

這將繼續把我「假」的結果,即使特定的細胞,E8,以「3」開頭。我在這裏錯過了什麼?

+1

嘗試'= IF(ISNUMBER( - LEFT(E8,1)), 「真」 ,「False」)' –

+0

這兩個破折號是什麼? –

+0

「 - 」與VALUE()的功能相同,但沒有全部輸入。 –

回答

2

嘗試了這一點:

=IF(ISNUMBER(VALUE(LEFT(E8,1))),"True","False") 
+0

這是完美的。謝謝!我甚至不認爲要使用「VALUE」功能。 –

0
=IFERROR(IF(VALUE(LEFT(E8,1)),"TRUE","FALSE"),"FALSE") 
1

注意,你可以實現你需要與剛剛執行以下操作:

=NOT(ISERROR(LEFT(E8)*1)) 

如果不LEFT(E8) 1計算爲LEFT(E8,1)和乘法拋出任何非數字的錯誤

如果你需要爲你的字符串輸出然後更新按如下:

IF(NOT(ISERROR(LEFT(E8)*1)),"True","False") 

編輯

使用ISNUMBER()是一個很好的替代NOT(ISERROR())

=ISNUMBER(LEFT(A1)*1) 
=IF(ISNUMBER(LEFT(A1)*1),"True","False") 
0

使用IF語句是多餘的。最簡單有效的方法來實現你期望的結果是:

=ISNUMBER(--LEFT(E8,1)) 

它會自動返回TRUE或FALSE