以下是對這部 YouTube 影片《Double Dash: The Secret to Smarter Excel Formulas》的**繁體中文完整整理 + 補充說明 + 實用例子總結**,非常適合想快速掌握 Excel 雙減號(--)技巧的人參考!
### 什麼是 Excel 的「雙減號」(Double Dash --)?
- 作用:強制把「布林值(TRUE/FALSE)」或「文字格式的數字」轉成真正的數字(TRUE → 1,FALSE → 0)
- 原理:
- 第一個減號:把值變負數(--19,000 → -19000)
- 第二個減號:再變回正數(→ 19000)
- 在轉換過程中,Excel 會自動把「看起來像數字的文字」強制轉為數值型態
- 常配合函數:SUMPRODUCT、SUM、MAX、MIN 等陣列運算使用(尤其在舊版 Excel 必須用)
### 六大實用情境(由易到難)
1. **計算符合條件的值有幾個(基礎計數)**
- 問題:計算有多少數字 > 10
- 一般寫法:`={陣列} > 10` → 得到 TRUE/FALSE,無法直接 SUM
- 正確寫法:
```excel
=SUMPRODUCT(--(A1:A10>10))
```
- 結果:TRUE 變 1,FALSE 變 0,可直接加總
- 替代方案:新版 Excel 可直接用 SUM,舊版一定要加 --
2. **文字數字轉真數字(最常見!)**
- 問題:數字前面手動打了 $ 或空格 → 變成文字,SUM/MAX 都變 0
- 解決方式:
```excel
=SUM(--A1:A10) → 錯誤!要加括號
=SUM(--(A1:A10)) → 正確
=MAX(--(A1:A10))
```
- 搭配新函數清理(推薦):
```excel
=TEXTAFTER(A1:A10, "$") → 先移除 $ 再計算更乾淨
```
3. **計算週末有幾天**
```excel
=SUMPRODUCT(--(WEEKDAY(日期範圍,2)>5))
```
- WEEKDAY( ,2):星期一=1,星期日=7
- >5 → 星期六、日 → 轉成 1,加總即週末天數
4. **計算電話號碼有 9 碼的個數(結合 LEN)**
```excel
=SUMPRODUCT(--(LEN(電話範圍)=9))
```
- 也可改成 ≠9、>9 等,彈性超高
5. **多條件 AND 邏輯(兩個都要通過)**
- 例如:理論 + 實務都 Pass 的人數
```excel
=SUMPRODUCT(--(理論範圍="True"), --(實務範圍="True"))
```
- 注意:每一個條件都要各自包括號 + 加 --
6. **最進階:多條件加總計算(條件符合才計算金額)**
- 問題:計算「Sales 部門」且「週末加班」的加班費用
```excel
=SUMPRODUCT(
--(部門範圍="Sales"),
--(週末範圍=TRUE),
加班時數範圍,
加班時薪範圍
)
```
- 結果:只有同時符合兩個條件的列才會相乘加總
### 快速記憶口訣
- 看到 TRUE/FALSE 要加總 → 一定加 --
- 看到「數字變文字」(左上角有綠色小三角)→ 用 -- 強制轉數字
- 多條件要同時成立 → 每個條件都要 --(條件)
- SUMPRODUCT 是萬能王,幾乎所有進階條件加總都靠它
### 其他等效寫法(新版 Excel 可用)
- `--(條件)` 可改用乘以 1:
```excel
=(條件)*1
```
- 或用 N() 函數(較少人知道):
```excel
=SUMPRODUCT(N(條件))
```
### 總結:什麼時候一定要用雙減號?
| 情況 | 是否需要 -- |
|----------------------------------|-------------------|
| TRUE/FALSE 要加總 | 一定要 |
| 文字數字要參與數學運算 | 一定要 |
| 多條件 AND 邏輯(SUMPRODUCT) | 每個條件都要 |
| 新版 Excel 直接 SUM 陣列公式 | 可以不用(但保險起見還是加) |
這招真的是 Excel 中階到高階的必殺技,學會之後很多原本卡關的公式瞬間變簡單!
推薦把這篇文章存下來,需要時直接抄公式就對了~
沒有留言:
張貼留言