name: xlsx-formula-master displayName: Excel 公式翻譯官(人話→公式) slug: xlsx-formula-master version: 1.0.0 author: ikun license: MIT language: zh-CN description: | 你描述需求(人話),它給你 Excel / WPS 公式 + 解釋 + 不踩坑的邊界條件。 專攻 VLOOKUP / XLOOKUP / INDEX-MATCH / SUMIFS / 陣列公式 / 動態陣列 / Power Query 等高頻但易錯場景。 自動適配你的 Excel 版本(2019 / 365 / WPS)——版本不同公式可能不能用。 觸發:使用者說 "Excel 公式"、"VLOOKUP"、"怎麼算"、"WPS 公式"、"求和怎麼寫"、"匹配資料"、"資料透視"。 keywords: ["Excel 公式", "WPS 公式", "VLOOKUP", "XLOOKUP", "INDEX MATCH", "SUMIFS", "COUNTIFS", "陣列公式", "動態陣列", "Power Query", "Excel 翻譯"]
Excel 使用者的兩大痛點: 1. 知道想要什麼,不知道用哪個公式 —— "我想要 A 列每個值在 B 列出現幾次" 不知道是 COUNTIF 2. 公式是 ChatGPT 給的,但用了報錯 —— 因為 Excel 版本 / 中英文 / 區域差異
這個 skill 幹 3 件事: 1. 翻譯:自然語言需求 → 可執行的 Excel / WPS 公式 2. 解釋:每個引數是什麼意思,為什麼這麼寫 3. 避坑:邊界條件(空值 / 錯誤值 / 大小寫 / 文本數字混排),不同版本相容性
不做的事:不做 VBA 宏(那是 xlsx-vba-zh 的活,本 skill 只覆蓋公式);不做資料透視表的視覺化設計。
查詢匹配類(用得最多)
├─ VLOOKUP(相容性好,但只能從左往右)
├─ XLOOKUP(2021/365 才有,最強)
├─ INDEX + MATCH(VLOOKUP 不夠時的萬能替代)
└─ HLOOKUP(橫向查詢,用得少)
條件聚合類
├─ SUMIF / SUMIFS(按條件求和)
├─ COUNTIF / COUNTIFS(按條件計數)
├─ AVERAGEIF / AVERAGEIFS(按條件平均)
└─ MAXIFS / MINIFS(條件最值,2019+)
文本處理類
├─ LEFT / RIGHT / MID(擷取)
├─ FIND / SEARCH(查詢位置)
├─ SUBSTITUTE / REPLACE(替換)
├─ TEXTJOIN(連線,2019+)
└─ TEXTSPLIT(拆分,365 才有)
日期時間類
├─ TODAY / NOW(當前)
├─ DATEDIF(日期差,隱藏函式)
├─ EOMONTH / EDATE(月末 / N 月後)
└─ NETWORKDAYS(工作日,要排除節假日)
陣列 / 動態陣列(365 / 2021+ 才有)
├─ FILTER(條件篩選)
├─ UNIQUE(去重)
├─ SORT / SORTBY(排序)
└─ LET / LAMBDA(自定義命名 / 函式,超強但少有人用)
邏輯判斷類
├─ IF / IFS(條件分支)
├─ AND / OR / NOT
├─ IFERROR / IFNA(錯誤兜底)
└─ SWITCH(多分支)
❌ 錯的:=VLOOKUP(A2, D:F, -1, FALSE) --- 左查詢 VLOOKUP 不行
✓ 對的:=INDEX(C:C, MATCH(A2, D:D, 0)) --- INDEX+MATCH 萬能
✓ 365:=XLOOKUP(A2, D:D, C:C) --- 最簡單
❌ 錯的:=VLOOKUP(A2, D:F, 2) --- 預設 TRUE 是模糊匹配
✓ 對的:=VLOOKUP(A2, D:F, 2, FALSE)
=VLOOKUP(A2, D:F, 2, 0)
模糊匹配會按 D 列的"接近值"匹配,結果完全錯。
現象:SUM 出來是 0,VLOOKUP 找不到。
診斷:=ISTEXT(A2) 看是否返回 TRUE。
小蔥技能站7w4.net每天更新,海量AI技能等你發現。
修:=VALUE(A2) 或選中列 → 資料 → 分列 → 完成(強制轉數字)。
❌ =SUMIFS(B2:B100, A:A, "蘋果") --- B 是 99 行,A 是整列,報錯
✓ =SUMIFS(B:B, A:A, "蘋果") --- 都用整列
✓ =SUMIFS(B2:B100, A2:A100, "蘋果") --- 都精確範圍
現象:單元格顯示日期,但參與計算變成 5 位數字。
修:單元格格式 → 日期。或者公式裡包一層 TEXT(A2, "yyyy-mm-dd")。
中文 Excel 預設中文公式名(如 求和 而非 SUM),跨電腦複製會報錯。
修:統一用英文公式名(在選項裡把"使用 R1C1 引用樣式"關掉,公式還是英文)。
"Sheet1 的 A 列是訂單號,要從 Sheet2 裡把對應的客戶名匹配過來"
Excel 2021 / 365:
=XLOOKUP(A2, Sheet2!A:A, Sheet2!B:B, "未找到")
Excel 2019 / WPS:
=IFERROR(VLOOKUP(A2, Sheet2!A:B, 2, 0), "未找到")
"把 A 列是『一般納稅人』且 B 列日期在 2024 年的 C 列金額加起來"
=SUMIFS(C:C, A:A, "一般納稅人",
B:B, ">="&DATE(2024,1,1),
B:B, "<="&DATE(2024,12,31))
單字姓(如 "張三"):
姓=LEFT(A2,1)
名=MID(A2,2,LEN(A2)-1)
複姓(如 "歐陽鋒")—— 需先建複姓清單 D:D:
姓=IF(COUNTIF(D:D, LEFT(A2,2))>0, LEFT(A2,2), LEFT(A2,1))
名=MID(A2, LEN(姓)+1, 99)
"A 列有重複的訂單號,統計有多少個不重複訂單"
Excel 365:
=COUNTA(UNIQUE(A:A))-1 --- 減 1 是去掉表頭
Excel 2019 / WPS:
=SUMPRODUCT(1/COUNTIF(A2:A1000, A2:A1000))
"找出 A 列是『北區』且 B 列大於 0 的 C 列最大值"
2019+ 直接:
=MAXIFS(C:C, A:A, "北區", B:B, ">0")
舊版 :
{=MAX(IF((A:A="北區")*(B:B>0), C:C))} --- 陣列公式 Ctrl+Shift+Enter
=DATEDIF(B2, TODAY(), "Y") & "年" &
DATEDIF(B2, TODAY(), "YM") & "個月"
DATEDIF 是隱藏函式,輸入時不會自動提示但能用。
如果使用者沒說清楚,問: 1. 你用的是 Excel 幾版 / WPS?(決定能不能用 XLOOKUP / FILTER 等) 2. 資料大概長什麼樣?(行數、列、有沒有表頭、空值情況) 3. 你想要的結果是什麼樣?(具體例子最好) 4. 這個公式是隻算 1 次還是要拖填整列?(影響 $ 鎖定方式)
輸出 3 部分:
【公式】
=...
【引數解釋】
- 引數 1:XX,含義是 XX
- 引數 2:XX,含義是 XX
...
【邊界條件】
- 如果 XX 情況會怎樣?→ 用 IFERROR 兜底:=IFERROR(原公式, "預設值")
- 如果 XX 資料型別問題 → 用 VALUE / TEXT 轉換
- 如果跨版本 → 相容寫法是 XX
【拖填注意】
- 列鎖定 / 行鎖定($A$1 vs $A1 vs A$1 vs A1)的選擇
## 你的需求
(用一句話複述使用者的需求,確認理解一致)
## 推薦公式(你的版本:Excel 2019)
=IFERROR(VLOOKUP(A2, Sheet2!A:B, 2, 0), "未找到")
## 怎麼用
1. 在 Sheet1 的 C2 輸入此公式
2. 雙擊 C2 右下角小方塊,自動拖填到底
3. C 列就是匹配到的客戶名
## 引數解釋
- A2:要查詢的訂單號
- Sheet2!A:B:在 Sheet2 的 A-B 列裡找
- 2:返回 B 列(匹配區域第 2 列)
- 0:精確匹配(一定要寫)
- IFERROR:兜底,找不到時返回"未找到"而不是 #N/A
## 注意事項
- 如果 A2 是數字但顯示是文本(左上角有綠三角),先選中列 → 分列 → 完成
- 如果你升級到 365 / 2021,可以換成更簡單的 XLOOKUP
## 備選方案(如果上面不行)
(XLOOKUP 寫法 + INDEX/MATCH 寫法)
不主動寫 VBA / 資料透視表 / Power Query(除非使用者要求)。
這個 Skill 質量不錯,內容實用性強。它把 Excel 公式的各種坑都講清楚了,還針對不同版本給出相容寫法,非常貼心。高頻場景模板和避坑指南對新手特別友好。不過它主要是文字教程,不是直接幫你生成公式的工具,想要直接得到答案可能還需要配合 AI 使用。整體來說是個很實用的 Excel 公式參考資料。