Skip to main content

如何在 Excel 中按首字母或最後一個字符篩選值?

Author: Siluvia Last Modified: 2025-08-06

在 Excel 中處理大型數據集時,有時您可能需要根據值是否以特定字母開頭或以特定字符結尾來篩選。這在例如將以相同首字母開頭的客戶名稱分組,或是識別具有特定文件擴展名或後綴的條目時非常有用。在本教程中,我們提供了幾種實用的解決方案,每種方案都適用於不同的場景和用戶偏好。這些解決方案適合不同程度的 Excel 使用者,從依賴菜單選項的初學者到熟悉公式或 VBA 的用戶都能找到合適的方法。

使用篩選功能按首字母或最後一個字符篩選值
使用 VBA 程式碼按首字母或最後一個字符篩選值
使用 Excel 公式和輔助列按首字母或最後一個字符篩選值


使用篩選功能按首字母或最後一個字符篩選值

Excel 內建的篩選功能提供了一種簡單直接的方法,可根據列中的首字母或最後一個字符來篩選數據。這種方法最適合簡單快速的篩選需求,例如隔離所有以特定字符開頭或結尾的條目,並且不需要具備高級的 Excel 知識。

1. 選擇要篩選首字母或最後一個字符條件的整個列。然後點擊 Excel 功能區中的「資料」>「篩選」。在所選列的頂部會出現一個篩選下拉圖示。請參閱截圖:

A screenshot of applying the Filter option to a column in Excel

2. 點擊列標題中的下拉箭頭以展開篩選選項。然後導航到「文字篩選」並選擇「開頭是」或「結尾是」,具體取決於您的需求。請參閱截圖:

A screenshot showing Text Filters with Begins With and Ends With options

3在相對應的對話框中,輸入您的條件:
(1.) 要按首字母篩選值,請選擇 開頭是 選項。在 自訂自動篩選 對話框中,在「開頭是」後方的框中輸入所需的起始字符(例如「a」),然後點擊 確定。例如,輸入字母「a」將立即篩選並僅顯示那些以「a」開頭的值。
A screenshot of the Custom AutoFilter dialog for filtering values beginning with a specified letter
(2.) 要按最後一個字符篩選,請選擇 結尾是 在步驟 2 中。在 自訂自動篩選 對話框中,在「結尾是」後面的框中輸入您希望作為篩選條件的字符,然後點擊 確定。所有以此字符結尾的值將被顯示出來。
A screenshot of the Custom AutoFilter dialog for filtering values ending with a specified character

注意:
  • 請注意,在大多數 Excel 版本中,篩選功能選項默認是不區分大小寫的,因此大寫和小寫輸入都會匹配,除非您的數據是區分大小寫的。
  • 如果您遇到預期結果未顯示的情況,請檢查篩選範圍內是否有空白行,以及文本值是否沒有前後空格——這些因素可能會影響篩選準確性。如果需要,可以在輔助列中使用 TRIMCLEAN 函數。

此方法適用於快速篩選,但對於更複雜、多條件的篩選或需要自定義邏輯時可能有限制。當您的數據主要是文本且需要一種快速、直觀的方式提取匹配項目時,這是最佳選擇。對於更進階或多條件篩選,可以考慮使用下面描述的公式或輔助列。


使用 VBA 程式碼按首字母或最後一個字符篩選值

對於熟悉使用宏的用戶來說,VBA 提供了更靈活的方法來按首字母或最後一個字符篩選數據,特別是在處理大型文件、自動化重複篩選或標準篩選無法實現的特定邏輯時。這種方法在需要跨多個工作表應用篩選條件,或設計出可重複使用的流程時非常有效。

1. 按下 Alt + F11 打開 Microsoft Visual Basic for Applications 編輯器。

2. 在 VBA 編輯器窗口中,導航至「插入」 > 「模塊」。在新的模塊窗口中,粘貼下方提供的程式碼。確保您的工作表和範圍引用與您的數據集相符。

VBA 程式碼:按首字母或最後一個字符篩選

Sub filterbyletter()
	Dim rng01 As Range
	Set rng01 = [A1:A8]
	rng01.Parent.AutoFilterMode = False
	rng01.Columns(1).AutoFilter Field: = 1, Criteria1: = "=a*", VisibleDropDown: = False
End Sub

3. 按下 F5 鍵執行程式碼。符合指定模式的值將立即被篩選出來。

注意:
  • 在代碼中,A1:A8 是包含您要篩選的值的範圍。根據您的數據位置調整這個範圍。
  • a* 告訴 Excel 篩選所有以「a」開頭的條目。要篩選以「a」結尾的條目,請將 a* 替換為 *a
  • 您可以返回到 Excel 並點擊 資料 > 篩選以移除篩選。請參閱截圖:
    A screenshot of the Filter option in Excel

如果您的數據未能如預期般篩選,請仔細檢查您的範圍引用和篩選條件是否正確指定。在運行宏之前,務必保存一份工作簿副本,以防止意外的數據更改。此外,請確保在 Excel 設置中啟用了宏。


使用 Excel 公式和輔助列按首字母或最後一個字符篩選值

該方法使用帶有邏輯公式的輔助列來識別數據集中每個值是否以特定字母開頭或結尾。然後,您可以根據此輔助列中的結果(TRUE/FALSE)篩選數據。這種方法特別適用於以下情況:

  • 您有多個、複雜的篩選條件
  • 您想在篩選前視覺上驗證哪些項目符合條件
  • 內建篩選選項不足(例如,結合 AND/OR 邏輯時)
  • 您需要稍後重用、修改或審核篩選邏輯

例如,如果您的數據在 A 列中,而您想篩選以字母「a」開頭的值:

1. 在相鄰的空白列(例如 B2 單元格)中輸入以下公式:

=LEFT(A2,1)="a"

2. 輸入公式後,按下 Enter。如果要將此公式應用於所有行,請使用填充柄沿著數據範圍向下拖動公式。

3. 輔助列中的每個單元格現在將顯示 TRUE(如果值以「a」開頭)或 FALSE。要篩選,請選擇整個數據範圍(包括輔助列),然後使用資料>篩選。應用篩選到輔助列以僅顯示 TRUE 值,這些值代表您想要的匹配項。

提示::

您可以使用類似的公式按最後一個字符篩選。例如,要查找以「a」結尾的值,請在 B2 中輸入:

=RIGHT(A2,1)="a"

此方法靈活性強——如果您需要按更複雜的規則篩選(例如以某些子字符串開頭或滿足多個邏輯測試的值),可以如下擴展公式。這將只顯示以「a」開頭且以「z」結尾的值為 TRUE。

=AND(LEFT(A2,1)="a",RIGHT(A2,1)="z")

優勢:此解決方案提供了高度的靈活性和可見性,非常適合需要頻繁更改篩選邏輯的審核情況。由於邏輯透明,錯誤或不匹配很容易被發現。它還能輕鬆與其他 Excel 功能結合使用,例如條件格式或高級篩選。

故障排除:確保您的數據沒有額外的空格,因為這些會影響結果。如有必要,可在另一個輔助列中使用 =TRIM(A2) 函數。在將公式複製到新行時,仔細檢查單元格引用,特別是在使用絕對或混合引用進行更複雜的邏輯時。

最佳 Office 辦公效率工具

🤖 Kutools AI Aide:徹底革新數據分析,基於智能執行|生成程式碼|創建自訂公式|分析數據並生成圖表|調用 Kutools Functions
熱門功能查找、選取項目的背景色或標記重複值 | 刪除空行 | 合併列或單元格且不丟失資料 | 四捨五入...
高級 LOOKUP多條件查找|多值查找|多表查找|模糊查找...
高級下拉列表快速創建下拉列表 | 關聯下拉列表 | 多選下拉列表 ...
列管理器添加指定數量的列 | 移動列 | 切換隱藏列的可見狀態 | 區域與列比較 ...
精選功能網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿及工作表管理器 | 資源庫 (自動文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按清單發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/傾斜/刪除線 ...)...
前15 大工具集12 款文本工具添加文本刪除特定字符,...)|50+ 種圖表 類型甘特圖,...)|40+ 實用 公式基於生日計算年齡,...)|19 款插入工具插入QR码按路徑插入圖片,...)|12 款轉換工具金額轉大寫匯率轉換,...)|7 款合併和分割工具高級合併行分割儲存格,...)| ...以及更多
使用 Kutools 支援你的語言——支援英語、西班牙語、德語、法語、中文及40 多種語言!

利用 Kutools for Excel 大幅提升你的 Excel 技能,感受前所未有的高效體驗。 Kutools for Excel 提供超過300 項高級功能,助你提升效率並保存時間。 點此查看你最需要的功能...


Office Tab 為 Office 帶來標籤式介面,讓你的工作更加輕鬆

  • 啟用 Word、Excel、PowerPoint 的標籤式編輯和閱讀功能
  • 在同一個視窗的標籤中打開和創建多個文件,而不是在新窗口中分開開啟。
  • 可提升你50% 的工作效率,每天為你大量減少滑鼠點擊次數!