# Excel Week 3 - Conditional, Logical, Error Function
###### tags: `Excel`
## 目錄
[Excel Week 2 - Cell References](/Y89sQy8VSn6OeJZwvt7Slg)
[Excel Week 3 - Conditional, Logical, Error Function](/L1QFm4HfQSqxlNW61Q4jEQ)
[Excel Week 4 - TRUE & FALSE, Operators](/7v5CuDH8Ri-YN3xAVyhKgA)
[Excel Week 4 - Statistical Functions](/PTR8Q-PmS7mJ9mBPEVi-dA)
[Excel Week 5 - Statistical + Conditional / Logical Functions](/uqi1U5xFSqSZ_nJbk-KiMQ)
[Excel Week 6 - Lookup & References](/AqLoNRtJRIWbEFyh6W2DaQ)
## TRUE & FALSE
**TRUE**
- 非0數值
- 邏輯值為TRUE
**FALSE**
- 0
- 邏輯值為FALSE
- 空值(blank)

### Special Return Value
#### TRUE :
:::danger
- 「 TRUE 」
- 「 =TRUE 」
- 「 =TRUE() 」
- 「 ="TRUE" 」
:::
#### OTHER :
:::danger
- 「 」(space) : only blank is false, space is #VALUE!
- 「 ="1" 」「 ="0" 」: except for 「 ="TRUE" 」, all texts are #VALUE!
:::
#### WHAT'S MORE :
:::danger
  However, **「 TRUE 」==「 =TRUE() 」!=「 ="TRUE" 」**
  Since the first two are **boolean** and **boolean function**, and the third one is **text**.
:::
## Transform between Types
**NUMBER**
- TRUE = 1, FALSE = 0
- TRUE+0 = 1, FALSE+0 = 0
**TEXT**
- TRUE = "TRUE", FALSE = "FALSE"
:::danger
  不同類別不等值(NUM(TRUE) = 1 != "TRUE")
:::

## 比較運算子
- 等於 =
- 不等於 <>
判斷是否為空值:ISBLANK()
## Conditional Functions
### IF()
- IF(boolean, ouput if TRUE, output if FALSE)
- IF(C3>=60, "及格", "不及格")
### IFS()
- IFS(陳述1, 輸出值1, 陳述2, 輸出值2, ...)
- IFS(E3>=90, "A", E3>=80, "B", ...)
- 依序判斷所有邏輯陳述,回傳**首個**為真的對應輸出
### SWITCH()
- SWITCH(要替換的欄位, 選項1, 替換值1, 選項2, 替換值2, ...)
- SWITCH(D2, "January", "一月", "February", "二月", ...)
## Logical Functions
### AND()
- 至少一個為假,則輸出FALSE
### OR()
- 至少一個為真,則輸出TRUE
### NOT()
- yeap.
### XOR()
- TRUE數量單數回傳TRUE,偶數回傳FALSE
## 錯誤訊息
### #N/A :
- **搜尋** 時找不到目標欄位
### #VALUE!:
- 運算子或值類別錯誤
- **5+abc**
### #REF! :
- 刪除儲存格後沒有更新參照位置,找不到指定的 **(舊)參照位置**
### #DIV/0! :
- **除數為 0**
### #NUM! :
- 不符規則的無效值
- **0 取對數**
### #NAME? :
- **函數文法** 錯誤
### #NULL! :
- **範圍**參照位置為空集合
## 錯誤訊息 Functions
### IFERROR()
- IFERROR(值, 若錯誤時回傳的值)
### IFNA()
- IFNA(值, 若值#N/A則回傳的值)
- IFNA(VLOOKUP("C", D:E, 2, FALSE), "找不到C")