E2中, 想根據B2的值來判斷, 如B2值中, 首字為字母/非數字,即判斷為VIP 以及A2到E2變為黃色網底曾想過用=IF(LEFT(B2,1)<>?,"V",-"),出來結果卻不是預期的答案, 一直顯示"-"另外,如在設定格式化條件時, 函數公式是否也一樣?這問題困擾了很久, 一直想不
=IF(ISNUMBER(VALUE(LEFT(B2,1))),"-","VIP")可以請教一下, 為何要強制把LEFT(B2,1)前加上VALUE , 強制變成數值?那不會失去用ISNUMBER函數的意義嗎?
AoLin wrote:可以請教一下, 為何要強制把LEFT(B2,1)前加上VALUE ,強制變成數值?那不會失去用ISNUMBER函數的意義嗎? 用 LEFT 函數截取出來的是字串,即使原本是數字也會強制轉為文字格式,所以必須加上 VALUE 轉換回原本的數字格式,如果該字串為數字以外的文字,使用 VALUE 時會傳回錯誤,該文字並不會變成數字!
對齁,我忘了LEFT函數的特性! 剛看迷糊了是因為你把判斷後T/F的結果反過來,然後再想一下,用另一個函數也是可以做到,但不需要用到VALUE函數.式一.=IF(ISNUMBER(VALUE(LEFT(B2,1))),"-","VIP")式二.=IF(ISTEXT((LEFT(B2,1))),"VIP","-")式一等於式二
AoLin wrote:=IF(ISTEXT((LEFT(B2,1))),"VIP","-") 這樣的公式會無法判斷!LEFT 函數截出來的全部都是文字,所以不管 B 欄內容為何, IF 的結果全都是 TRUE!
AoLin wrote:所以這個情況,在使用函數情況下,只能用ISNUMBER? 使用 ISNUMBER 函數或許不是唯一解法,但應該是最直接、最容易懂的方式!大部份時候我都是用嘗試錯誤的方式去找出答案,先把主要的問題解決之後,下一步才是設法精簡公式內容!