跳到主要內容跳到頁尾

收款訊息、收據編號與月份分組:用 TEXT 把日期金額組成文字

6 分鐘閱讀Lv.2 中級摘要與日期

用 TEXT 把日期和金額組成一句話的訊息範本、產生 INV-2026-0012 這種補零的收據編號、做出依月份分組的鍵來加總,再加上不看語系的中文星期寫法。

發布 更新

文章目錄

我每週都要根據一張收款紀錄,傳訊息給客戶確認款項,還要幫每一筆開一個收據編號,月底再看各月收了多少。

這三件事都要把日期和金額變成文字,今天就用 TEXT 一次做完,順便做一個中文星期。TEXT 的語法和格式碼在 TEXT 函式入門 講過了,這篇直接進到組合。

先看原始資料

收款紀錄放在 A 到 C 欄,一共六筆。流水號 C 欄是我手動接續上一張收據輸入的,上一張是 0011:

ABC
1日期金額流水號
22026/09/28128612
32026/09/3034213
42026/10/03207514
52026/10/0791815
62026/10/09534016
72026/10/11341717

我想要的成品,是在右邊多出幾欄:一句可以直接貼出去的訊息、收據編號、月份分組的鍵、星期,最後在旁邊有一張各月合計。

原始資料的三欄我都不動。日期和金額在這裡是真的日期、真的數字,後面要加總、要排序都靠它們。

把日期和金額組成一句話

D2 要的句子長這樣:「您好,已於 2026/09/28 收到款項 NT$ 1,286,謝謝!」

Google 試算表公式
fx

訊息範本:日期與金額都用 TEXT 指定樣子

="您好,已於 " & TEXT(A2, "yyyy/mm/dd") & " 收到款項 NT$ " & TEXT(B2, "#,##0") & ",謝謝!"

日期那段用 "yyyy/mm/dd",金額那段用 "#,##0"。如果少了 TEXT,A2 會變成日期序號 46293,B2 也不會有千分位。

往下複製到 D7,來看看結果:

列D 欄
2您好,已於 2026/09/28 收到款項 NT$ 1,286,謝謝!
3您好,已於 2026/09/30 收到款項 NT$ 342,謝謝!
4您好,已於 2026/10/03 收到款項 NT$ 2,075,謝謝!
5您好,已於 2026/10/07 收到款項 NT$ 918,謝謝!
6您好,已於 2026/10/09 收到款項 NT$ 5,340,謝謝!
7您好,已於 2026/10/11 收到款項 NT$ 3,417,謝謝!

這個範本想換成別的語氣,只要改引號裡的字就好,兩個 TEXT 不用動。

收據編號

收據編號我想要「INV-2026-0012」這種樣子:INV 開頭,接年份,最後是四位數的流水號,不夠的前面補 0。

年份可以從日期拿,流水號用 C 欄,補零交給 "0000":

Google 試算表公式
fx

收據編號:年份取自日期,流水號補成 4 位

="INV-"&TEXT(A2,"yyyy")&"-"&TEXT(C2,"0000")

E2 會得到 INV-2026-0012,往下複製的結果是:

列E 欄
2INV-2026-0012
3INV-2026-0013
4INV-2026-0014
5INV-2026-0015
6INV-2026-0016
7INV-2026-0017

年份我習慣從日期取,不自己打 2026,這樣跨年之後編號就會自己換成 2027,只有流水號要記得決定要不要重新從 1 開始。

流水號超過四位數的話,"0000" 不會把多的位數切掉,12345 還是會顯示 12345,只是編號長度就不整齊了。真的有可能用到五位數,就直接寫 "00000"。

補零後的 0012 是文字。算術運算可能把它轉回數字: 得到 13,不會保留前導零;ISNUMBER(TEXT(12,"0000")) 為 FALSE。要繼續編號,仍建議用 C 欄原始數字加 1,再用 TEXT 組成顯示文字。

把這個 0012 文字放進範圍交給 SUM,結果是 0,因為文字會被略過;範圍再加入真正的數值 12,結果是 12,不是 24。算術的 +1 會把文字轉成數字,但 SUM 讀取範圍時不會套用同一個轉換。

依月份分組的鍵

月底我想知道九月和十月各收了多少。我用的方法是先做一欄「月份」,再用它去加總。

F2 把年和月組成文字:

Google 試算表公式
fx

月份分組的鍵,例如 2026年09月

=TEXT(A2,"yyyy")&"年"&TEXT(A2,"mm")&"月"

結果是 2026年09月,這一欄往下複製:

列F 欄
22026年09月
32026年09月
42026年10月
52026年10月
62026年10月
72026年10月

這裡有兩個我自己的小堅持。第一,月份用 "mm" 補成兩位數:如果寫 "m",變成「2026年9月」,用文字比大小,9 會排在 10 後面,月份順序就亂了。第二,我不用 "yyyy-mm" 這種長得像日期的寫法,因為擔心 SUMIF 之類的函式把它當成日期解讀,用「年」「月」兩個字隔開,它就是單純的文字。

接著在 J2 用 UNIQUE 取出有哪幾個月份,會自動往下展開:

Google 試算表公式
fx

取出不重複的月份

=UNIQUE(F2:F7)

K2 用 SUMIF 加總該月份的金額,往下複製到 K3:

Google 試算表公式
fx

該月份的金額合計

=SUMIF($F$2:$F$7,J2,$B$2:$B$7)
列J 欄K 欄
22026年09月1628
32026年10月11750

手算一下:九月是 1286 + 342 = 1628,十月是 2075 + 918 + 5340 + 3417 = 11750,跟公式算的一樣。

加總的對象是 B 欄那些真的數字。TEXT 只用在 F 欄做鍵,還有最後把合計變成一句話:

Google 試算表公式
fx

把合計組成可以貼出去的一句話

=J2&"合計 NT$ "&TEXT(K2,"#,##0")

L2 是「2026年09月合計 NT$ 1,628」,L3 是「2026年10月合計 NT$ 11,750」。加總前的金額欄不要先轉成文字,不然 SUM、SUMIF 會略過它,這件事在入門篇有提到。

只是要各月合計的話,資料透視表或 SUMIFS 搭配日期範圍也行,我選做一欄鍵,是因為鍵本身也是可以讀、可以篩選、可以拿去 UNIQUE 的標籤。

中文星期

訊息裡想加上「10/3(六)」這種寫法。月和日不用補零,用 "m/d" 就好,星期要另外處理。

TEXT(A2,"dddd") 可以直接取星期,字樣跟著試算表的地區設定走。台灣地區設定下會是中文(例如「星期六」),但每個人開的檔案設定不一定一樣,所以共用的表我會用一個不看語系的寫法:

Google 試算表公式
fx

用 WEEKDAY 取得週一到週日的編號,再從字串裡挑出對應的字

=MID("一二三四五六日",WEEKDAY(A2,2),1)

WEEKDAY(A2,2) 的第二個參數填 2,週一是 1、週二是 2,一直到週日是 7。MID 再從「一二三四五六日」這串字裡,拿出第幾個字。G 欄的結果是:

列G 欄
2一
3三
4六
5三
6五
7日

最後 H2 把日期跟星期合在一起:

Google 試算表公式
fx

日期加上括號裡的星期

=TEXT(A2,"m/d")&"("&G2&")"
列H 欄
29/28(一)
39/30(三)
410/3(六)
510/7(三)
610/9(五)
710/11(日)

成品與如何維護

A 到 C 是手動輸入的原始資料,D 到 H 是每一列的公式,J 到 L 是各月合計。

新增一筆收款,在第 8 列輸入日期、金額、流水號,再把 D8 到 H8 的公式從上一列複製下來。如果不想每次複製,可以參考 ARRAYFORMULA 自動填滿。

要記得的是,UNIQUE 和 SUMIF 裡的範圍 F2:F7、B2:B7 也要延伸到新的那一列,例如改成 F2:F8、B2:B8。K 欄的 SUMIF 遇到新月份,也要自己往下複製一列。

格式碼更細的差異,像是方括號條件、地區設定下的星期字樣,整理在 TEXT 格式碼進階陷阱。先把訊息範本改成你自己的版本,試試看吧!

我是喜特先生,Mr. Sheet,我們下個教學見!

分享:
#TEXT#收據編號#訊息範本#月份分組
喜特先生 Mr. Sheet

喜特先生 Mr. Sheet

數據分析師/商業分析師

八年工作經驗,跨不同業界解決數據需求。做過的案例都整理在作品集。

接下來可以

相關文章

查看所有文章

留言討論

共 0 則留言

訂閱電子報,新文章上線就通知你

免費,隨時可取消。

送出即表示同意服務條款與隱私權政策。