實在太多人過於依賴 COUNT(), 完全無視 COUNTA() 同 COUNTBLANK() 嘅存在, 用 COUNT 只會 filter 數字, 但你阿 sir 自己 classify 負數, 文字同非空格歸于同一類, 以現有公式應該用 COUNTA, 而唔係用 COUNT。
2011-06-15 10:14:07 補充:
漢兄, 小弟明白你意思, 但我所指出的正是這個矛盾, 單看公式用意是分開文字值(小心留意 blank 會被誤算為 0), 但大前題要求文字值出 "NOT A MARK", 用 COUNT 反而違反實質需要, 這樣會想一套, 做另一套。
2011-06-15 18:14:52 補充:
漢兄, 理當如此, 或者係習慣加上 overlooked 引致失誤。
題目的IF公式內的雙引號" ", 並不完整
假設要求是:
>=0 (即正數), 出 A ~ F
<0 (即負數), 出 NOT A MARK
如A1 是空白, 出空白
B1輸入公式:
=IF(COUNT(A1)=1,IF(A1>=90,"A",IF(A1>=80,"B",IF(A1>=70,"C",IF(A1>=60,"D",IF(A1>=50,"E",IF(A1>=0,"F","NOT A MARK")))))),"")
將B1下拉
此題須可用IF函數處理, 但IF函數最多祇能套7層(此題剛好7層), 可考慮用 LOOKUP函數 或CHOOSE函數, 公式可能較短, 層數亦沒有7層的限制。
最後, 多提供一條較短的公式, 用TEXT函數, 效果相同
B1輸入:
=TEXT(A1&"","!"&CHAR(MIN(MAX(65,75-(A1+1%)/10),70))&";!NOT A !MA!RK;F; ")
下拉
2011-06-15 09:35:07 補充:
亞sir 用 Count, 不用counta, 目的應是防文字值或錯誤值, 即A1為文字/空格/錯誤值, 公式應出空白, counta 無法做到
如祇有一個目的, 防空白, 則應採用Counta 或 A1=""
2011-06-15 18:02:49 補充:
Nick兄,
以我最初對題目的理解, 是負數才出 "NOT A MARK"
但現再細看, 空值可能亦是要求出"NOT A MARK", 如當真如此, 老師便用錯COUNT函數了