Excel 只留前幾個字:掌握截斷文字精髓,提升資料處理效率

Excel 只留前幾個字:為何這麼重要?

許多時候,我們在處理 Excel 表格時,會遇到這樣的困擾:欄位裡的文字資訊太長了,不僅佔空間,閱讀起來也很不方便,甚至會影響後續的分析。比如,產品名稱、客戶備註、或是地址資訊,常常會超出預設的欄寬,看起來一團亂。這時候,我們就得學習如何「截斷」文字,只保留我們最需要的「前幾個字」。這絕對不是一個複雜的技術,但卻是提升 Excel 資料處理效率的關鍵一步!

就拿我最近在整理一份客戶名單的經驗來說吧。原本的客戶地址欄位,有些輸入得特別詳細,從國家、縣市、鄉鎮、到詳細路名,整個塞得滿滿的。當我們要快速瀏覽、分類客戶時,光是捲動欄位就令人頭痛。更別提如果要把這些資訊匯入其他系統,過長的文字還可能造成系統錯誤。那時候,我真的覺得「Excel 只留前幾個字」這項小技巧,根本就是救星!

所以,今天我們就要來深入探討,如何在 Excel 中輕鬆實現「只留前幾個字」的需求,並且分享一些進階的應用,讓你的 Excel 操作更加得心應手。

Excel 截斷文字的基礎方法:公式大解密

談到「Excel 只留前幾個字」,最直接、也最常用的方法,就是利用 Excel 內建的函數。其中,最核心的兩個函數是 `LEFT` 和 `LEN`。

LEFT 函數:提取文字的左側部分

`LEFT` 函數的功能非常直觀,就是從一個文字字串的左邊開始,提取指定數量的字元。它的語法是:

LEFT(text, [num_chars])

  • text:這是你想要提取文字的來源儲存格。
  • [num_chars]:這是你想要從左邊提取多少個字元。這個參數是選擇性的,如果你省略了,Excel 會預設提取 1 個字元。

舉個例子來說,如果 A1 儲存格的內容是「台灣台北市信義區忠孝東路四段」,而我們只想保留前 5 個字,我們就可以在另一個儲存格輸入:

=LEFT(A1, 5)

這樣,這個儲存格就會顯示「台灣台北市」。是不是很簡單呀!

LEN 函數:計算文字字串的長度

`LEN` 函數則是用來計算一個文字字串有多少個字元。它的語法是:

LEN(text)

  • text:這是你想要計算長度的文字字串或儲存格。

例如,同樣是 A1 儲存格的「台灣台北市信義區忠孝東路四段」,如果我們輸入:

=LEN(A1)

Excel 就會回覆這個字串的總長度。這個函數本身看似簡單,但在搭配 `LEFT` 函數時,就能發揮很大的作用,尤其是在我們不確定要截取多少字,但知道總長度限制的時候。

LEN 和 LEFT 函數的聯手出擊:精準截取

有時候,我們可能需要根據某個條件來決定截取的長度。這時候,`LEN` 函數就派上用場了。假設我們有一個表格,其中 A 欄是產品名稱,我們希望無論產品名稱多長,都只顯示 10 個字,如果原來的名稱不足 10 個字,就全部顯示。這時候,我們依然可以使用 `LEFT` 函數,但我們直接將 `num_chars` 設定為 10。

=LEFT(A1, 10)

這樣,無論 A1 儲存格裡的文字是「蘋果手機 iPhone 15 Pro Max 256GB」還是「香蕉」,只要 A1 的字數超過 10 個,都會只顯示前 10 個字。如果 A1 的字數不足 10 個,則會原封不動顯示。這對於統一欄位格式,讓表格看起來更整齊,是非常實用的。

進階應用:合併多個函數,實現更彈性的截取

除了最基本的 `LEFT` 函數,我們還可以結合其他函數,來實現更複雜、更彈性的文字截取需求。

FIND 或 SEARCH 函數:根據特定字元進行截取

有時候,我們不是想截取固定數量的字,而是想根據某個特定的字元來決定截取的範圍。例如,我們可能想截取一個句子中,第一個逗號之前的所有文字。

這時候,我們可以使用 `FIND` 或 `SEARCH` 函數來找到特定字元的位置。

  • FIND(find_text, within_text, [start_num]):這個函數會尋找 `find_text` 在 `within_text` 中出現的位置,並且是「區分大小寫」的。
  • SEARCH(find_text, within_text, [start_num]):這個函數功能與 `FIND` 類似,但「不區分大小寫」。

假設 A1 儲存格內容是「產品名稱:蘋果手機,顏色:藍色」,我們想截取「產品名稱:蘋果手機」這部分,也就是第一個逗號「,」之前的所有文字。我們可以這樣做:

=LEFT(A1, FIND(",", A1) - 1)

這裡的邏輯是:

  1. `FIND(“,”, A1)`:找出第一個逗號在 A1 儲存格中的位置。假設逗號在第 12 個位置。
  2. FIND(",", A1) - 1:我們想要逗號「之前」的文字,所以要將逗號的位置減 1。這樣就是 11。
  3. `LEFT(A1, 11)`:從 A1 的左邊提取 11 個字,也就是「產品名稱:蘋果手機」。

如果我們不確定逗號的大小寫,或者希望更彈性一點,也可以使用 `SEARCH` 函數。

SUBSTITUTE 函數:替換文字後再截取

有時候,我們想截取的特定字元可能不存在,或者我們想用一個不存在的字元作為標記來截取。這時候,`SUBSTITUTE` 函數就很有用了。

SUBSTITUTE(text, old_text, new_text, [instance_num]):將 `text` 中的 `old_text` 替換成 `new_text`。`instance_num` 是選擇性的,表示要替換第幾個出現的 `old_text`。

假設我們有一串地址,例如「台北市大安區仁愛路四段 10 巷 5 弄 3 號」,我們想截取到「段」為止的內容。我們可以在 A1 儲存格輸入:

=LEFT(A1, FIND("段", A1))

這樣會得到「台北市大安區仁愛路四段」。這已經很接近我們的需求了。但如果某些地址沒有「段」這個字,公式就會出錯。我們可以考慮替換掉最後一個數字,然後再利用 `LEFT` 函數。

或者,我們可以用一個非常罕見的字元來標記截取點。例如,我們可以用一個不容易在文字中出現的特殊符號,例如「§」,然後用 `SUBSTITUTE` 把它加在我們想截取的位置後面。

舉例來說,如果我們想截取 A1 儲存格文字中,第一個「區」字後面的所有內容。這比較困難,因為我們通常是截取「前幾個字」。但如果是想截取第一個「區」字「之前」的內容,我們可以這樣:

=LEFT(A1, FIND("區", A1) - 1)

如果我們想截取第一個「區」字「之後」的內容,我們就需要搭配 `RIGHT` 或 `MID` 函數了,這就稍微超出「只留前幾個字」的範疇,但理解這些函數的組合應用,對處理文字非常有幫助。

處理空值和錯誤:讓公式更 Robust

在實際操作中,我們常常會遇到儲存格是空的,或是公式計算出現錯誤的情況。如果我們直接使用 `LEFT` 或 `FIND`,當來源儲存格是空值時,可能會產生錯誤。為了讓我們的公式更穩定,我們可以加入 `IFERROR` 或 `IF` 函數。

IFERROR 函數:處理公式錯誤

IFERROR(value, value_if_error):如果 `value` 計算結果是一個錯誤,則回傳 `value_if_error`;否則,回傳 `value` 的計算結果。

例如,我們之前用來截取逗號之前的文字:

=LEFT(A1, FIND(",", A1) - 1)

如果 A1 儲存格裡沒有逗號,`FIND` 函數就會回傳一個錯誤值。這時,我們可以這樣修改:

=IFERROR(LEFT(A1, FIND(",", A1) - 1), A1)

這樣,如果 A1 儲存格沒有逗號,公式就會回傳 A1 儲存格的原始內容,而不是一個錯誤訊息。如果我們希望沒有逗號時,顯示空白,則可以這樣寫:

=IFERROR(LEFT(A1, FIND(",", A1) - 1), "")

IF 函數:根據條件判斷

`IF` 函數是 Excel 中最基礎的邏輯判斷函數,它的語法是:

IF(logical_test, value_if_true, value_if_false)

我們可以利用 `IF` 函數來判斷儲存格是否為空。假設我們只想處理 A1 儲存格有內容時才做截取,否則就保持空白:

=IF(A1="", "", LEFT(A1, 10))

這表示:如果 A1 是空的,則回傳空字串;否則,就執行 `LEFT(A1, 10)` 的公式。

將 `IFERROR` 和 `IF` 結合使用,可以讓我們的公式更加強大和穩定。

替代方法:文字分割功能,快速又方便

除了使用公式,Excel 還提供了一個非常方便的「文字分割」功能,可以快速地將文字分割成多個欄位,或是進行截斷。這個功能對於一次性處理大量的資料,或是格式比較固定的資料,非常有用。

使用「文字分割」功能

步驟如下:

  1. 選取你想要處理的包含長文字的儲存格範圍。
  2. 到「資料」選項卡,找到「資料工具」群組,點選「資料剖析」按鈕。
  3. 在「文字匯入精靈」的第一步驟,選擇「分隔符號」或「固定寬度」。
    • 如果你想根據特定的字元(例如逗號、空格)來分割,就選擇「分隔符號」。
    • 如果你想根據固定的寬度來分割,就選擇「固定寬度」。
  4. 在第二步驟,設定你的分隔符號(例如逗號、Tab、空格)或是調整分割線的位置。
  5. 在第三步驟,設定每個欄位的資料格式,以及你要將分割後的資料放置到哪個儲存格。

雖然「文字分割」功能的主要目的是將一個欄位的內容分割成多個欄位,但它也可以用來「截取」。例如,如果你想截取前 10 個字,你可以:

  1. 在「資料剖析」的第二步驟,選擇「固定寬度」。
  2. 在預覽視窗中,在第 10 個字的位置點擊一下,建立一個分割線。
  3. 在第三步驟,你可以選擇只匯入第一個分割後的欄位,這樣就達到了截取前 10 個字的效果。

相較於公式,文字分割功能在某些情況下操作更直觀,尤其適合處理從外部匯入的、格式不太規整的資料。

實際應用場景:提升工作效率的真實案例

「Excel 只留前幾個字」這個技巧,看似簡單,但在許多實際工作場景中,都能發揮畫龍點睛的作用。

統一欄位長度,美化報表

在製作各種報告、儀表板時,統一欄位長度是讓報表看起來專業、美觀的關鍵。例如,在顯示客戶名稱、產品分類時,如果長度不一,會讓整個表格顯得雜亂。透過 `LEFT` 函數,我們可以輕鬆將所有項目統一成指定的長度,讓報表更加清晰。

篩選與排序的便利性

有時候,我們只需要根據文字的前幾個字來進行篩選或排序。例如,我們可能想找出所有以「北」開頭的地址,或是所有以「PRO」開頭的產品代碼。這時,我們可以直接在輔助欄位中使用 `LEFT` 函數,提取我們需要的關鍵字,然後再對這個輔助欄位進行篩選或排序,這樣比直接對長文字進行操作要方便得多。

資料標準化與匯出

許多時候,我們需要將 Excel 資料匯入到其他的系統,例如 CRM 系統、資料庫或是網頁。這些系統通常對欄位的長度有嚴格的限制。如果你的 Excel 資料欄位過長,可能會導致匯入失敗。透過「只留前幾個字」的技巧,我們可以事先將欄位長度控制在系統要求的範圍內,確保資料匯出的順利。

簡化文字以便識別

例如,我們可能有一長串的訂單號碼,但我們只需要記住或識別其中的前幾碼。透過 `LEFT` 函數,我們可以提取出最關鍵的識別碼,方便我們快速查找和管理。我曾經遇過一個專案,客戶的訂單號碼非常長,但他們主要依賴前 8 個字來做內部管理。當時,我就是利用 `LEFT` 函數,在另一個欄位產生了簡化的訂單號碼,大大加快了他們的查詢速度。

常見問題與專業解答

在使用「Excel 只留前幾個字」的過程中,你可能會遇到一些常見的問題。以下提供專業的解答,希望能幫助你克服困難。

Q1:我只想截取特定字串之後的文字,怎麼辦?

這已經超出「只留前幾個字」的範圍,但如果你想截取特定字串「之後」的文字,可以利用 `RIGHT`、`MID` 函數,並結合 `FIND` 或 `SEARCH`。例如,要截取 A1 儲存格中,第一個逗號「,」之後的所有文字,你可以這樣寫:

=RIGHT(A1, LEN(A1) - FIND(",", A1))

這個公式的邏輯是:先算出 A1 的總長度 (`LEN(A1)`),減去第一個逗號的位置 (`FIND(“,”, A1)`),得到逗號之後的字數。然後用 `RIGHT` 函數從右邊提取這麼多個字。

Q2:我需要截取中間的文字,怎麼辦?

如果你需要截取一段文字中間的部分,可以使用 `MID` 函數。它的語法是:

MID(text, start_num, num_chars)

  • text:要提取文字的來源儲存格。
  • start_num:從哪個位置開始提取。
  • num_chars:要提取多少個字元。

例如,要從 A1 儲存格的第 5 個字開始,提取 3 個字,公式就是:

=MID(A1, 5, 3)

你可以結合 `FIND`、`SEARCH`、`LEN` 等函數,來動態計算 `start_num` 和 `num_chars`,實現更複雜的文字提取。

Q3:我遇到的文字不是單純的英文字母或數字,而是中文、日文等,公式會不會失效?

Excel 的 `LEFT`、`LEN`、`FIND`、`SEARCH`、`MID`、`RIGHT` 等文字函數,通常都能正確處理包含中文字、日文字、韓文字等全形或半形字元。Excel 在計算字元長度時,會根據你的系統語言設定來判斷。一般來說,這些函數在處理多國語言文字時是沒有問題的。你可以在你的 Excel 版本中,針對不同的語言文字進行測試,以確保其穩定性。

Q4:我使用「文字分割」功能時,發現有些分隔符號被忽略了,或是分割錯誤,怎麼辦?

這通常是因為分隔符號本身出現在文字內容中,或是你選擇的分隔符號不夠精確。在使用「資料剖析」功能時,特別是「分隔符號」模式,你需要仔細確認你的分隔符號。例如,如果你的地址中有逗號,而你選擇逗號作為分隔符號,那麼地址中的逗號也會被當作分隔點。這時,你可能需要考慮使用「固定寬度」模式,或是先用 `SUBSTITUTE` 函數,將文字內容中的分隔符號替換成一個獨特的、不會出現在文字中的字元(例如「§」),然後再以這個獨特的字元作為分隔符號進行剖析。

Q5:我只想保留文字的最後幾個字,怎麼辦?

如果你想保留文字的「最後幾個字」,可以使用 `RIGHT` 函數。它的語法是:

RIGHT(text, [num_chars])

  • text:這是你想要提取文字的來源儲存格。
  • [num_chars]:這是你想要從右邊提取多少個字元。

例如,要從 A1 儲存格保留最後 5 個字,公式就是:

=RIGHT(A1, 5)

這個技巧與「只留前幾個字」的 `LEFT` 函數是相對應的,同樣非常實用。

總結來說,「Excel 只留前幾個字」這個看似簡單的操作,透過靈活運用 Excel 的文字函數和工具,可以極大地提升我們在資料處理、報表製作、以及資料匯出等方面的效率。希望這篇文章能幫助你掌握這些實用的技巧,讓你的 Excel 使用經驗更上一層樓!

Excel 只留前幾個字

發佈留言