從 Excel 的文字中擷取數字,意味著要從混合字串中取出每個數值——從 INV-123 中取出 123、從 $19.99 中取出 19.99、從 50% 中取出 50——然後把結果放到試算表實際能使用的地方。如果不想撰寫公式、VBA 巨集或正規表示式,最乾淨的做法就是將來源文字貼到一個專用的瀏器型擷取工具,讓明確的數字文法辨識出數值,再將輸出以欄位、以逗號分隔清單,或以單一統計區塊的形式複製到工作表。這項工作的專用工具 Extract Numbers from Text,會一次一個回合讀取您的文字,套用可切換的規則來處理正負號、小數點、千分位分隔符與科學記號,然後依規則原樣回傳結果——既不多也不少。由於規則可切換且明確公開,您可以讓工具配合您的資料,而不是勉強修改資料去迎合公式。

extract numbers from text in excel
從貼上的文字中擷取數字 — 清單或統計

專用擷取工具勝過公式的時機

用於從混合字串中取出數字的 Excel 公式確實存在——VALUE、MID、SEARCH、FILTER、TEXTSPLIT——但很快就會變得混亂。一個能處理簡單 "INV-123" 儲存格的公式,一旦遇到小數點、千分位分隔符、正負號與百分比,就會變成脆弱的連鎖反應。在某一欄運作良好的 TEXTJOIN / FILTER / ISNUMBER 組合,當來源文字包含像 1,000,000 這類帶逗號的數字,或像 5-3 這類算術運算式時,往往會失效。每出現一種新的格式就需要新的公式,而這些公式必須在試算表上直接除錯。

正規表示式是「從 Excel 文字中擷取數字」這類任務的標準替代方案,但 Excel 並非每個版本都內建正規表示式,而 VBA 巨集則會增加一個安全審查步驟,多數團隊寧可跳過。專用的瀏覽器型擷取工具則能同時避開這兩個問題。它在您自己的分頁中執行,對文字套用一套明確的文法,並回傳一份清單或統計區塊供您貼回 Excel。文法就是契約:規則怎麼寫,輸出就怎麼對應;若規則不符合您的資料,您只需切換開關,不必重寫公式。

數字規則如何讀取您的文字

擷取工具依據明確定義的文法讀取文字,而非憑空猜測。整數與小數預設即可辨識,包括負值、前置正號,以及沒有前置零的裸小數(".5" 會讀成 0.5)。正負號的附加是有意識的:減號只有在位於一行的開頭、空白字元之後,或左括號、比較運算子之後時才會保留。這就是為什麼 "5-3" 會回傳五和三,而非 "5" 與 "-3";以及為什麼 "INV-123" 會回傳 123 而不帶負號。

當數字分組格式正確時,千分位分隔符會被正確解讀——1,000,000 是一個數字,不是三個片段——而切換開關可讓您在資料以不同方式使用逗號時,改為採用字面上的數字連續,例如每個逗號都是分隔符的 CSV 匯出檔。科學記號則由獨立的切換開關控制,預設為關閉,因為在一般文字中 "1e5" 較可能是打錯字或產品編號,而不是十萬。

去重切換開關會在保留首次出現順序的前提下,合併重複的數值,這在相同的總額同時出現在報告標題與內文中時格外重要。輸出模式切換開關可在「一行一個數字」清單、逗號分隔清單,以及顯示計數、總和、最小值、最大值與平均值的統計區塊之間切換。每條規則都是獨立的:關閉千分位分隔符不會改變正負號的處理方式,開啟去重也不會改變輸出格式。若想深入了解規則的運作機制及其互動方式,Extract Numbers From Text With Switchable Rules 指南會逐一示範每個切換開關並提供實際輸入範例。

三步驟將文字中的數字擷取到 Excel

  1. 將含有您要擷取之數字的文字貼到 Extract Numbers from Text 工具中——發票、日誌行、報告段落、問卷匯出等任何數字與文字混合的內容皆可。
  2. 視需要調整規則:開啟或關閉正負號、千分位分隔符、科學記號與去重功能,讓文法符合您的資料實際書寫數字的方式。
  3. 選擇清單或統計輸出,檢查找到的數量,然後複製結果。以欄位形式貼入 Excel,或使用「選擇性貼上」將逗號分隔清單橫向貼成一列。

常見的文字模式與工具的解析方式

來源文字擷取出的數字(依順序)
INV-123 | Qty 5 | $19.99123, 5, 19.99
Sensors: 12, 47, 103 readings12, 47, 103
Total revenue was $1,000,000 USD1000000 (單一數值,分組格式正確)
Expression 5-3 = 25, 3, 2 (數字之間的減號為運算子)
Cold -4°C / Warm 18°C-4, 18 (空白之後的減號為正負號)
Discount 10% on item12310, 123
SKU 4567-A batch 894567, 89

右欄顯示文法預設回傳的結果——每個可辨識的數字,依其出現順序,並套用正負號與分組規則。當兩種解讀皆屬合理時,正負號附加規則會決定哪一種勝出。擷取文法本身由超過二十個測試案例所固定,涵蓋正負號邊界、格式錯誤的分組、貨幣、百分比、嵌入的數字,以及行尾變體,因此此處所述的規則確實就是工具實際套用的規則。

清單輸出與統計輸出:何時該用哪一種

目標輸出模式貼入 Excel 的內容
稽核測量記錄清單,每行一個單一欄位,方便排序或篩選
從樣本建立直方圖清單,去重由不重複數值組成的一欄
加總多列的發票金額統計 (總和)包含總計的單一儲存格
快速核對貼上的資料集統計 (計數、最小值、最大值、平均值)小型摘要區塊
將數值饋入圖表數列清單,逗號分隔一列數值,可直接轉置

您選擇的模式與上方的規則切換開關互不影響。您可以一邊擷取去重清單一邊開啟科學記號,也可以關閉千分位分隔符切換同時取得完整的統計區塊,結果依然會遵守您選定的文法。每次擷取都會回報找到了多少個數字,因此在複製之前,輸出可與您的預期進行對照稽核。

將擷取出的數字放回 Excel

一旦取得結果,Excel 端就是簡單的收尾工作。三種貼上模式即可涵蓋大多數情境。

以欄位形式貼上清單:複製每行一個的輸出,點選工作表中的 A1 儲存格,然後貼上。每個數字會落入自己的列,可直接加上標題、進行排序或套用下游公式。由於排序一欄擷取出的數字是相當單純的工作,Sort Text in Excel: A Local Browser Workflow 指南將其視為一項獨立的清理工作來說明。

以一列形式貼上清單:複製逗號分隔的輸出,貼入 A1,然後使用「選擇性貼上」並勾選「轉置」選項,將其翻轉成欄位(若這是您下游公式所需的形式)。

以標籤化區塊貼上統計:將計數、總和、最小值、最大值與平均值複製到五個儲存格並手動標記,或將整個區塊貼到總計列的註解欄位中。由於計數是精確的,您可以確切知道該統計是基於多少個來源數字計算而成。

針對較大的資料集,請貼入空白欄位的第一個儲存格,讓貼上動作依分隔符自動展開。若貼上後內容集中在單一儲存格而非每列一個,可至「資料」索引標籤使用「資料剖析」功能,並選擇「逗號」作為分隔符加以分割。

邊界情況、限制及其意義

擷取工具的輸入上限為一百萬個字元,並以單一線性方式處理文字,這表示較大量的貼上會在瀏覽器接收資料所需的時間內大致完成回傳。整個過程不涉及上傳步驟:頁面完全在您的分頁中執行,沒有任何資料送往伺服器,也沒有任何資料被儲存,更沒有帳號可附加結果。若您關閉分頁,輸入的內容即消失。

統計值以標準的 JavaScript 雙精度浮點運算計算。在正常規模下,對乾淨的小數進行加總並無問題。以包含 $19.99、50% 與 item123 的貼上內容為例:取出的數字為 19.99、50 與 123。其總和為 192.99,可展開寫為 19.99 + 50 = 69.99,再 69.99 + 123 = 192.99。除以計數 3,平均值為 64.33。在較大的總額下,雙精度浮點數在第十五位有效數字可能帶有極小的差,頁面會將此情況明確揭露而非隱瞞。計數永遠是精確的;對於沒有任何可辨識數字的輸入,會回報為零個符合項目,而不會被視為錯誤。

僅辨識 ASCII 數字。像 "123" 這類全形數字,以及其他文字系統的數字符號會原樣通過而不被擷取,因為文法是為 ASCII 數字連續所設計,且頁面已明確說明這點,而非半套地支援其他數字系統。若您的來源使用非 ASCII 數字,請先加以轉換,或將結果視為部分擷取。

正負號處理是另一個容易憑直覺誤判的地方。運算式 "5-3" 會產生兩個數字,而非 "5" 與 "-3",因為減號位於兩個數字之間,文法會將其讀為運算子。文字 "Cold -4°C" 會產生 -4,因為減號位於空格之後。同樣的內容若寫成 "Cold-4°C",則會產生 4,因為減號附加於字母之後。當結果與您的預期不一致時,正負號附加規則就是首要檢查之處。