在 Excel 裡,如果要判斷儲存格內是否為數字,常會使用 ISNUMBER 函數來搞定。但是 ISNUMBER 函數如果遇到是數字被設定成文字格式,則 ISNUMBER 函數仍會判斷為非數字。該如何處理?
例如,儲存格C5,公式:
=IF(LEN(A5)=(SUM(LEN(A5)-LEN(SUBSTITUTE(A5,ROW($1:$10)-1,)))),"V","")
(1) LEN(SUBSTITUTE(A5,ROW($1:$10)-1,))
ROW($1:$10)表示1,2,...10,ROW($1:$10)-1,) 可以得到 0,1, ..., 9。
SUBSTITUTE(A5,ROW($1:$10)-1,)表示將儲存格A5內容,將原來內容輪流由0~9置換為空字串。(結果如下)
(2) SUM(LEN(A5)-LEN(SUBSTITUTE(A5,ROW($1:$10)-1,)))
本例有二個數字不是「4」,表示儲存格內容有二個數字。(數字4表示沒有0~9的數字被置換)
(3) LEN(A5)=(SUM(LEN(A5)-LEN(SUBSTITUTE(A5,ROW($1:$10)-1,))))
你也可以使用以下公式,得到相同結果。
=IF(LEN(A5)=(SUM(LEN(A5)-LEN(SUBSTITUTE(A5,{0,1,2,3,4,5,6,7,8,9},)))),"V","")
或
=IF(AND(ISNUMBER(MID(A5,ROW(INDIRECT("1:"&LEN(A5))),1)+0)),"V","")
文章標籤
全站熱搜
留言列表