Excel 公式 =SEQUENCE(n,1,1,1) 會產生一欄從 1 開始自動遞增的 n 個整數,將其包入 ="INV-"&TEXT(SEQUENCE(n),"000") 後,這些整數就會變成格式化的發票號碼,例如 INV-001INV-002INV-003,完全不需要手動輸入。這個單一的動態陣列公式是在 Excel 中自動產生發票號碼最快的原生方式,只要在 Microsoft 365、Excel 2021 或 Excel for the web 中按下 Enter,結果就會溢出成一欄。較舊版本沒有 SEQUENCE 函數,仍然可以使用 ROW()、COUNTA() 和 MAX()+IF 模式自動編號,這些模式會在您插入或刪除列時重新計算,讓序號保持連續。下面的章節會逐步介紹每種 Excel 方法的完整公式,接著展示一個瀏覽器工作流程,大約一分鐘就能產生可列印的 PDF,適合臨時性工作、夜間開立的發票,以及單純不想維護活頁簿的自由工作者。

how to generate invoice number automatically in excel
how to generate invoice number automatically in excel

為什麼自動產生的發票號碼很重要

發票號碼是將帳單連結到您的會計分類帳、客戶的應付帳款,以及後續任何爭議或稽核的唯一識別碼。手動輸入的號碼會出錯:打錯字會產生重複、刪除一列會留下空號、複製貼上的錯誤會讓兩張發票共用同一個識別碼。自動編號一次解決這三種失敗模式,因為 Excel 會在工作表變更時根據公式重新建立序列,結果就是一個乾淨、連續、無空白的範圍,下游工具可以據此進行排序、篩選和加總。連續的發票識別碼也能讓人輕易看出哪筆紀錄遺失,這正是會計師發現已取消銷售或未付餘額所需的訊號。

可自動產生發票號碼的 Excel 公式

下面每種方法都會產生一個即時更新的發票號碼欄。請根據您的 Excel 版本和資料形狀選擇適合的方法。

方法Excel 版本公式行為
SEQUENCE + TEXTMicrosoft 365、Excel 2021、Excel for the web="INV-"&TEXT(SEQUENCE(50,1,1,1),"000")從單一儲存格溢出 50 行的欄位;當數量變更時會自動調整大小。
ROW()任何版本="INV-"&TEXT(ROW(A1),"000")當公式被拖曳或向下複製時,逐列自動遞增。
COUNTA()任何版本="INV-"&TEXT(COUNTA($B$2:B2),"000")計算上方的已填列數,讓號碼永遠對應到可見的明細項目。
MAX() + IF任何版本(陣列輸入)="INV-"&TEXT(MAX($A$1:A1)+1,"000")讀取前一個最大值並加 1,因此刪除列造成的空號不會打斷序列。

逐步說明:使用 SEQUENCE 建立自動編號欄

  1. 開啟您用來追蹤發票的活頁簿,挑選第一個空白欄,例如從第 2 列開始的 A 欄。
  2. 在 A1 儲存格輸入標題 Invoice #,讓動態陣列能依據標籤保持排序。
  3. 在 A2 儲存格輸入 ="INV-"&TEXT(SEQUENCE(50,1,1,1),"000") 並按下 Enter。Excel 會將陣列從 A2 溢出到 A51,值從 INV-001 到 INV-050。
  4. 如果您需要不同的前綴,請更改公式中的字串文字,例如 "2026-" 可產生以年份為前綴的號碼,或使用您的公司縮寫。
  5. 日後若要擴展範圍,請編輯 A2 儲存格,將 SEQUENCE 的第一個參數從 50 提高為更大的數字;按下 Enter 後陣列會自動調整大小。
  6. 事後將該欄位格式化為文字(常用 > 數值 > 文字),這樣在您將值複製到其他工作表時,前導零就不會被去掉。

逐步說明:在較舊的 Excel 版本中使用 ROW 自動編號

  1. 在 A1 儲存格放入標題 Invoice #
  2. 在 A2 儲存格輸入 ="INV-"&TEXT(ROW(A1),"000")。ROW(A1) 會回傳 1,所以 A2 顯示為 INV-001。
  3. 選取 A2,抓住填滿控點(右下角的小方塊),向下拖曳到您預期本月會開立發票的列數。
  4. 若要從特定值開始重新編號,請將 ROW(A1) 替換為 ROW(A1)+99,這樣第一張發票就會顯示為 INV-100。
  5. 確認該欄位格式化為文字,這樣 001 才會保持為 001,而不是被強制轉成整數 1。

逐步說明:在刪除資料後保持號碼無空號

  1. 將 A 欄的簡單公式替換為 =IF(B2="","","INV-"&TEXT(MAX($A$1:A1)+1,"000")),以陣列公式方式輸入(在舊版 Excel 中按 Ctrl+Shift+Enter)。
  2. B 欄存放客戶名稱或敘述;只有在 B 欄非空時,公式才會產生號碼。
  3. 刪除 B 欄中的任何一列,上方的號碼會保持固定,而其後每一列會重新計算以填補空號。
  4. 若在大量貼上後陣列沒有自動更新,請按 F9 強制完整重算。

跳過試算表:在瀏覽器中產生發票

Excel 很適合用於追蹤,但當發票必須以完成的 PDF 形式離開您的螢幕時,瀏覽器中的免費發票產生器可以一次建立整份文件。它執行的計算很簡單:單價 $50 乘以數量 2 得到 $100 的小計,再加上 10% 的稅 $10,最終總額正好是 $110。在「From」下方填入您的公司資料,在「Bill To」下方填入客戶資料,設定發票號碼(預設為 INV-001),使用日期選擇器挑選開立與到期日期,並選擇貨幣符號。為每個產品或服務新增一個明細項目,輸入敘述、數量和單價;點擊 Add item 可新增更多列,或點擊刪除按鈕移除一列。輸入稅率和選擇性的固定折扣金額,即時預覽會立即更新小計、稅額、折扣和總計。當一切就緒後,點擊 Download PDF 即可儲存一份乾淨、可列印的發票,完全在本機瀏覽器中產生,絕不會上傳到任何地方。

逐步說明:一分鐘內送出可列印的 PDF

  1. 在任何現代瀏覽器中開啟發票產生器;不需要帳號、不需要註冊,也不需要安裝。
  2. From 下方填入您的公司資料,在 Bill To 下方填入客戶名稱和地址。
  3. 設定發票號碼(預設為 INV-001),選擇 Issue dateDue date,並挑選貨幣符號。
  4. 針對每個產品或服務,輸入敘述、數量(整數或 1.5 小時等小數皆可)和單價;按 Add item 可新增更多列。
  5. 以百分比輸入稅率,若有需要再以所選貨幣輸入固定折扣金額;右側的小計、稅額和總計會即時更新。
  6. 點擊 Download PDF;檔案會在本機瀏覽器中產生,並直接儲存到您的下載資料夾。

何時該留在 Excel,何時該改用瀏覽器發票工具

在以下情況請使用 Excel:發票號碼是大型活頁簿中的一個欄位、您需要樞紐分析表或對歷史銷售進行查詢、或您的會計師預期收到原始的 .xlsx 檔案。在以下情況請使用瀏覽器發票工具:您只準備寄出一張帳單、不想開啟試算表、客戶預期收到 PDF 附件而非 .xlsx,或是隱私考量:此發票產生器以 JavaScript 在本機執行所有計算並渲染最終 PDF,因此不會上傳任何資料,PDF 沒有浮水印,而且頁面載入後也能離線使用。如果您在 PDF 寄出後仍想保有 Excel 的追蹤能力,可以將 PDF 中的明細項目貼到活頁簿中的一個欄位,然後針對下一批發票重複使用上述的 SEQUENCE 公式。

讓發票號碼保持唯一且符合稽核需求

有三個習慣能讓自動編號欄在跨月、跨年時保持乾淨。第一,在每個號碼前加上年份前綴,例如 2026-001,這樣稽核紀錄就不會意外跨越日曆年度。第二,將該欄位格式化為文字,讓前導零在工作表排序、匯出或匯入到其他程式時保持不變。第三,每次開立發票後備份活頁簿,並避免從序列中間永久刪除列:MAX()+IF 公式會重新編號該欄其他部分以建立無空號紀錄,但在公式重新計算前進行永久刪除可能會破壞這個規則。

不過,對於臨時性的發票,更快的做法是完全跳過試算表。發票產生器能在您的瀏覽器中產生無浮水印的 PDF,內含明細項目、稅額和選擇性的折扣,所有運算都以整數分為單位,因此總額永遠能精準加總。如果您定期開發票,請將頁面加入書籤,只有在稽核紀錄需要保存在活頁簿中時,才回頭使用上述的 Excel 公式。

想進一步了解,請參閱 從 Excel 製作標籤:跳過合併列印

想進一步了解,請參閱 使用自動計數器時如何避免錯誤