EXCE函數問題 =IF(H2>"13","NO",IF(H2>=10,"未來少年",IF(H2>7,"未來兒童"))) 想請問各位大大,假設H2=20,為何回傳回來的會是未來少年呢?

2016-01-11 11:16 am

回答 (1)

2016-01-13 5:01 pm
因為在H2>"13"這個條件,你用引號「" "」把「13」包住了,令excel把「"13"」識別為字串而非數字。
H2>13 和 H2>"13" 是有分別的。所有被引號包住的字符,excel都會將之當成等同於"x" "y"之類的字串而非數字。
當你使用 H2>"13" 這個條件,並在H2輸入20,
因為儲存格會自動將「20」識別為數字,但條件中的"13"卻是字串,
這個情況下,「20>"13" ?」 這條件等同於「20>"apple"?」,由於兩者不可比,因此會得出「False」,並進入函數IF(H2>=10,"未來少年",IF(H2>7,"未來兒童"))。這第二層函數中的條件,由於10沒被引號包住,所以「20>10?」就能得出「True」並output「未來少年」。
空運行的話:
H2 = 20
「20>"13" ?」= 「20>"apple"?」 --> False
「20>10?」 --> True --> 未來少年
-END-


收錄日期: 2021-04-18 14:29:29
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20160111031613AA4y7j9

檢視 Wayback Machine 備份