KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何快速在多個工作表或多個活頁簿中搜尋特定數值?

作者修改日期

您是否曾在 Excel 中需要搜尋某個特定值,卻得在不同工作表,甚至多個活頁簿之間來回查找?這種情況在處理大型專案、月度報表,或整合分散於多個檔案的資料時相當常見。手動逐一檢查每個工作表或檔案不僅費時,還容易出錯。本教學將帶您掌握幾種高效實用的方法,無論是在單一活頁簿、跨多個活頁簿中搜尋資料,還是需要以公式為基礎或進行資料整合的解決方案,都能輕鬆應對。這些技巧將精準滿足您在日常 Excel 工作流程與數據分析專案中的實際需求。

使用查找和替換函數在活頁簿的多個工作表中搜尋值

使用 VBA 在資料夾中的所有活頁簿中搜尋值

使用 Kutools for Excel 快速在多個已開啟的活頁簿中搜尋值好點子3

使用 Excel 公式在多個工作表中搜尋值


使用查找和替換函數在活頁簿的多個工作表中搜尋值

Excel 的查找和替換功能是一種基本卻極為實用的方法,能快速在同一個活頁簿內的多個工作表中找出特定數值。當您已清楚知道要搜尋哪些工作表,或資料在單一檔案中的結構相對清晰時,此功能最能發揮效用!雖然不支援跨不同檔案或已關閉的活頁簿搜尋,但仍是簡便又高效的快速查詢利器。

1. 首先,按住 Ctrl 鍵,並逐一點擊工作表標籤欄中的工作表標籤,選取您要納入搜尋範圍的工作表。如此一來,搜尋將同步套用至所有選定的工作表。請參閱截圖:

在 Excel 中使用 Ctrl 鍵選取多個工作表標籤的螢幕截圖

2. 選取所需的工作表後,按下 Ctrl + F,即可開啟查找和替換對話方塊。在搜尋分頁下的搜尋內容文字方塊中輸入您要尋找的值,然後點擊全部尋找按鈕。Excel 將立即列出所有包含該搜尋值的儲存格及其位置(限於所選工作表)。請參閱截圖:

Excel「尋找與取代」視窗的螢幕截圖,顯示「尋找目標」欄位

提示:查找和替換工具僅會在已開啟且可見的選取工作表中進行搜尋。若您希望將搜尋範圍擴展至其他工作表,請務必如上所述先將其選取;若不慎遺漏某個工作表,只需重新執行操作並加入選取範圍即可!

注意事項:此方法無法搜尋已關閉或隱藏的活頁簿,也不會自動標示儲存格——僅會列出結果,方便您快速導覽。

疑難排解:若未看到預期結果,請再次確認工作表的選取狀態,並檢查是否套用了可能隱藏或限制搜尋的篩選條件或儲存格保護設定。


輕鬆地在多個工作表與活頁簿之間查找和替換數值

Kutools for Excel 的進階查找和替換功能,提供高效方式在多個工作表甚至所有已開啟的活頁簿中搜尋並取代數值。運用這項進階功能,當您在處理大型資料集時,不僅能節省時間、避免錯誤,更能讓 Excel 作業更快速且精準!
Kutools for Excel 的「尋找與取代」功能執行中的螢幕截圖

Kutools for Excel-透過超過 300 項必備工具全面強化 Excel,讓您工作更快速、更輕鬆,並善用 AI 功能實現更聰明的資料處理與高效生產力!立即取得


使用 VBA 在資料夾中的所有活頁簿中搜尋值

若您需要在資料夾內多個活頁簿(包含尚未開啟的檔案)中搜尋特定值,Excel 內建工具無法直接實現此功能。此時,您可透過 VBA(Visual Basic for Applications)巨集自動化整個流程:系統將依序開啟資料夾中的每個活頁簿,掃描所有工作表,並記錄相符項目的位置。此方法非常適合用於定期稽核,或在封存檔案與批次檔案中快速查值。

1. 首先在 Excel 中開啟一個新的(或空白)活頁簿,並選取您希望顯示搜尋結果的儲存格(通常為 A1 儲存格)。接著按下 Alt + F11,即可啟動 Microsoft Visual Basic for Applications 編輯器視窗。

2. 在 VBA 編輯器中,前往插入> 模組 建立新模組,接著將下列 VBA 程式碼貼上至模組視窗中。

VBA:在資料夾內所有活頁簿中搜尋指定值。

Sub SearchFolders()
'UpdatebyKutoolsforExcel20200913
    Dim xFso As Object
    Dim xFld As Object
    Dim xStrSearch As String
    Dim xStrPath As String
    Dim xStrFile As String
    Dim xOut As Worksheet
    Dim xWb As Workbook
    Dim xWk As Worksheet
    Dim xRow As Long
    Dim xFound As Range
    Dim xStrAddress As String
    Dim xFileDialog As FileDialog
    Dim xUpdate As Boolean
    Dim xCount As Long
    Dim xAWB As Workbook
    Dim xAWBStrPath As String
    Dim xBol As Boolean
    Set xAWB = ActiveWorkbook
    xAWBStrPath = xAWB.Path & "\" & xAWB.Name
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a forlder"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    xStrSearch = "KTE"
    xUpdate = Application.ScreenUpdating
    Application.ScreenUpdating = False
    Set xOut = Worksheets.Add
    xRow = 1
    With xOut
        .Cells(xRow, 1) = "Workbook"
        .Cells(xRow, 2) = "Worksheet"
        .Cells(xRow, 3) = "Cell"
        .Cells(xRow, 4) = "Text in Cell"
        Set xFso = CreateObject("Scripting.FileSystemObject")
        Set xFld = xFso.GetFolder(xStrPath)
        xStrFile = Dir(xStrPath & "\*.xls*")
        Do While xStrFile <> ""
            xBol = False
            If (xStrPath & "\" & xStrFile) = xAWBStrPath Then
                xBol = True
                Set xWb = xAWB
            Else
                Set xWb = Workbooks.Open(Filename:=xStrPath & "\" & xStrFile, UpdateLinks:=0, ReadOnly:=True, AddToMRU:=False)
            End If
            For Each xWk In xWb.Worksheets
                If xBol And (xWk.Name = .Name) Then
                Else
                Set xFound = xWk.UsedRange.Find(xStrSearch)
                If Not xFound Is Nothing Then
                    xStrAddress = xFound.Address
                End If
                Do
                    If xFound Is Nothing Then
                        Exit Do
                    Else
                        xCount = xCount + 1
                        xRow = xRow + 1
                        .Cells(xRow, 1) = xWb.Name
                        .Cells(xRow, 2) = xWk.Name
                        .Cells(xRow, 3) = xFound.Address
                        .Cells(xRow, 4) = xFound.Value
                    End If
                    Set xFound = xWk.Cells.FindNext(After:=xFound)
                Loop While xStrAddress <> xFound.Address
                End If
            Next
            If Not xBol Then
            xWb.Close (False)
            End If
            xStrFile = Dir
        Loop
        .Columns("A:D").EntireColumn.AutoFit
    End With
    MsgBox xCount & " cells have been found", , "Kutools for Excel"
ExitHandler:
    Set xOut = Nothing
    Set xWk = Nothing
    Set xWb = Nothing
    Set xFld = Nothing
    Set xFso = Nothing
    Application.ScreenUpdating = xUpdate
    Exit Sub
ErrHandler:
    MsgBox Err.Description, vbExclamation
    Resume ExitHandler
End Sub

3. 按下 F5 鍵或點擊執行按鈕來執行此巨集。此時將彈出選擇資料夾對話方塊,讓您選取欲搜尋活頁簿所在的資料夾。請參閱截圖:

Excel 中用於選擇搜尋資料夾的「選擇資料夾」對話框螢幕截圖

4. 搜尋完成後,訊息方塊會告知您找到的相符儲存格總數,請點擊確定。請參閱截圖:

Excel 中顯示搜尋期間找到的儲存格數量之對話框螢幕截圖

5. 點擊確定關閉訊息後,所有找到該值的位置都會列在新工作表中,包含工作簿名稱、工作表名稱、儲存格參照及確切的儲存格內容,方便您立即檢閱!

使用 VBA 搜尋後,Excel 中所找到儲存格清單的螢幕截圖

提示:目前 VBA 中設定的搜尋字詞為 「KTE」。您可修改程式碼中的 xStrSearch = "KTE"這一行,將搜尋值替換為您想查詢的內容。

注意事項:執行前,請務必將所有相關活頁簿儲存並關閉(執行巨集的活頁簿除外,可保持開啟)。若資料夾內含有大量或結構複雜的 Excel 檔案,處理可能需要一段時間,執行期間請勿中斷巨集。

疑難排解:若發生錯誤,請確認所有檔案均為有效的 Excel 工作表(未損毀且未受密碼保護),並確保巨集安全性設定允許執行程式碼。若巨集無法順利執行,建議先以少量檔案進行測試。


使用 Kutools for Excel 快速在多個已開啟的活頁簿中搜尋值

當您在 Excel 工作階段中同時開啟多個活頁簿並需要跨檔案搜尋時,Kutools for Excel 提供專用的查找和替換窗格,讓整個流程更輕鬆、井然有序!對於經常同時處理多個檔案、亟需直覺易用工具來管理搜尋作業的使用者來說,這項功能無需編寫指令碼或進行複雜設定,絕對是您的理想選擇。

Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊……         免費試用……

1. 在任一已開啟的活頁簿中,切換至 Kutools 分頁,並點選導覽。接著點擊查找和替換按鈕尋找與取代按鈕,即可開啟通常位於 Excel 視窗左側的查找和替換窗格。請參閱截圖:

Excel「尋找與取代」窗格的螢幕截圖

2. 在搜尋分頁中,將要搜尋的值輸入至搜尋內容文字方塊,並從範圍下拉式選單中選擇所有活頁簿,即可在所有已開啟的活頁簿中執行搜尋。接著點擊全部尋找,立即顯示所有相符儲存格及其位置的清單!請參閱截圖:
Kutools「尋找與取代」窗格的螢幕截圖,其中已填入「尋找目標」欄位

提示:Kutools for Excel 的進階查找與替換功能,不僅能在所有已開啟的活頁簿中搜尋並取代資料,更能針對選定的工作表、目前工作簿、當前工作表,甚至僅限您所選區域進行精準操作,讓您依實際需求靈活掌控!
Kutools for Excel 的「尋找與取代」對話框螢幕截圖,顯示整個活頁簿的搜尋結果

注意事項:開始搜尋前,請先開啟所有欲搜尋的活頁簿,因為此工具無法搜尋尚未在 Excel 中開啟的檔案。

疑難排解:若某些檔案未出現在搜尋結果中,請確認它們已在 Excel 中完整載入,且未處於可能限制搜尋存取的保護檢視或唯讀模式。

示範:使用 Kutools for Excel 在多個已開啟的活頁簿中搜尋值

 
Kutools for Excel:超過 300 種實用工具隨手可得!盡享 AI 驅動功能,讓工作更聰明、更快速!立即下載!

使用 Excel 公式在多個工作表中搜尋值

當您在活頁簿中有多個已知的工作表名稱,並需要檢查特定值是否存在於其中任一工作表時,可運用 Excel 公式動態跨工作表搜尋。此方法尤其適合希望搜尋結果自動更新,且工作表清單相對固定或已於另一張表格中集中管理的情境。

此方法要求您事先掌握或列出所有待搜尋的工作表名稱,最適合用於自動化檢查、儀表板,或當您希望建立摘要參考而無需每次執行完整掃描時。

優點:資料一有變更,結果立即自動更新;無需使用指令碼或增益集;所有處理皆在活頁簿內完成。
缺點:若工作表名稱經常變更,或工作表數量極多,則不適用。

範例情境:假設您有三個工作表,分別命名為 Sheet1Sheet2Sheet3. 您想快速確認特定值(例如「Invoice 123」)是否出現在這些工作表的儲存格 A1 中,或僅需查證該值是否存在於任一工作表的任何位置。

步驟 1. 假設您在 D2:D4(D2:Sheet 1、D3:Sheet 2、D4:Sheet 3)中有一份工作表名稱清單。請將要搜尋的值(例如「Invoice 123」)輸入至 E1,接著在 F2 中輸入下列公式:

=IF(COUNTIF(INDIRECT("'"&D2&"'!A:A"), $E$1) >0, "Found", "Not Found")

步驟 2. 將公式從 F2 向下拖曳至 F4,即可檢查 D2:D4 中列出的所有工作表,並針對每個工作表傳回「Found」或「Not Found」。

運作方式:此公式運用 INDIRECT 函數建立對各個列出工作表的參照,並搭配 COUNTIF 函數檢查儲存格 E1 中的值是否出現在各工作表的 A 欄中。如有需要,可調整範圍 A:A,以套用至其他欄位或特定範圍(例如 )A1:Z100)。

額外提示:若要取得包含該值的工作表名稱清單,請使用下列陣列公式(在舊版 Excel 中需按 Ctrl + Shift + Enter 輸入,或在 Microsoft 365/Excel 2021+ 中作為一般公式輸入):

=TEXTJOIN(", ",TRUE,IF(COUNTIF(INDIRECT("'"&D2:D4&"'!A:A"), $E$1)>0, D2:D4, ""))

此公式會傳回一個以逗號分隔的清單,列出所有包含該值的工作表名稱。請注意,INDIRECT 函數僅適用於已開啟的活頁簿,無法用來搜尋關閉的檔案。

注意事項:若工作表名稱遭到變更或刪除,公式將傳回 #REF! 錯誤;請務必確認工作表名稱清單正確無誤。此外,針對較大型的活頁簿,使用基於 INDIRECT 的公式可能會降低整體效能。

疑難排解:若出現錯誤,請確認所有參照的工作表是否確實存在,並檢查您的搜尋範圍是否正確。若工作表清單為動態,建議搭配命名範圍或資料驗證功能,自動保持清單即時更新!


相關文章:


最佳 Office 生產力工具

🤖KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、醒目提示或標記重複值     刪除空白行     合併列或儲存格而不遺失資料     不使用公式的四捨五入……
高級 LOOKUP多重條件 VLookup    多重數值 VLookup     跨多個工作表 VLookup      模糊查找……
高級下拉列表快速建立下拉式清單     相依式下拉式清單     多選下拉式清單……
欄位管理員新增指定數量的欄位移動欄位切換隱藏欄位的可見狀態比較範圍與欄位……
精選功能網格聚焦     設計視圖   增強編輯欄    工作簿與工作表管理員     資源庫(自動文字)  日期提取     合併工作表    加密/解密儲存格    依清單傳送電子郵件     超級篩選      特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符,……)   50+ 圖表 類型甘特圖,……)   40+ 實用公式基於生日計算年齡,……)   19 插入工具插入二維碼從路徑插入圖片,……)   12 轉換工具金額轉大寫匯率轉換,……)   7 合併和拆分工具高級合併行分割儲存格,……)……以及更多
在您的慣用語言中使用 Kutools—支援英文、西班牙文、德文、法文、中文及另外 40+ 種語言!

運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……


Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!

  • 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
  • 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
  • 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!

所有 Kutools 增益集,一個安裝程式

Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!

ExcelWordOutlookTabsPowerPoint
  • 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
  • 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
  • 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
  • 30 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用