Windows에서 여러 Excel 파일 내용을 한 번에 검색하는 방법
그 숫자가 어느 스프레드시트엔가 있다는 건 압니다. 문제는 스프레드시트가 이백 개라는 것입니다. Excel 자체의 찾기는 열려 있는 통합 문서 안에서는 훌륭하지만, 열려 있지 않은 파일에는 아무 소용이 없습니다. Windows에서 여러 Excel 파일의 내용을 검색하는 4가지 방법과, 그 모두가 빠지는 함정 하나를 정리합니다.
방법 1: Excel 찾기를 통합 문서 전체로 설정
다른 도구를 찾기 전에, Excel의 검색이 생각대로 동작하는지 먼저 확인하세요. Ctrl+F를 누르고 옵션을 클릭한 뒤 범위를 통합 문서로 바꿉니다. 그러면 모두 찾기가 모든 시트에서 일치하는 셀을 시트 이름·셀 주소와 함께 나열합니다.
한계: 열려 있는 통합 문서만 검색합니다. 값이 어느 파일에 있는지 모른다면 도움이 되지 않습니다.
방법 2: 파일 탐색기 + 내용 인덱싱
Windows는 .xlsx 파일 안을 검색할 수 있지만, 해당 형식의 내용 인덱싱이 켜져 있어야 합니다:
- 시작 메뉴에서 인덱싱 옵션을 엽니다.
- 고급을 클릭하고 파일 형식 탭으로 갑니다.
.xlsx를 찾아 속성 및 파일 내용 인덱싱을 선택합니다.- 스프레드시트가 있는 폴더가 인덱싱 위치에 포함돼 있는지 확인하고, 인덱스가 다시 만들어질 때까지 기다립니다.
그런 다음 해당 폴더에서 파일 탐색기 검색창에 content:"invoice 2041"처럼 입력합니다.
한계: 결과는 파일 이름 목록일 뿐 통합 문서 어디에서 일치했는지 알려주지 않으며, 인덱싱되지 않은 폴더에서는 느린 실시간 탐색으로 넘어갑니다. 결과가 비어 나오는 흔한 이유는 Windows 검색이 파일을 못 찾는 이유에 정리해 두었습니다.
방법 3: PowerShell로 파일을 직접 읽기
.xlsx 파일은 XML 파일들을 묶은 ZIP 압축 파일입니다. 셀에 입력한 텍스트는 보통 xl/sharedStrings.xml이라는 부분에 한 번씩 저장됩니다. 그래서 Excel이 설치돼 있지 않아도 짧은 스크립트로 검색할 수 있습니다:
Add-Type -AssemblyName System.IO.Compression.FileSystem
Get-ChildItem -Path . -Filter *.xlsx -Recurse | ForEach-Object {
$zip = [System.IO.Compression.ZipFile]::OpenRead($_.FullName)
try {
$entry = $zip.GetEntry("xl/sharedStrings.xml")
if ($entry) {
$reader = New-Object System.IO.StreamReader($entry.Open())
$xml = $reader.ReadToEnd()
$reader.Close()
if ($xml -match "invoice 2041") { $_.FullName }
}
} finally { $zip.Dispose() }
}
장점: 무료, 설치 불필요, 스크립트화 가능.
단점: 텍스트 셀만 찾습니다 — 숫자는 파일의 다른 위치에 저장됩니다. & 같은 문자는 XML 안에서 이스케이프되므로 "R&D"를 찾으려면 R&D로 검색해야 합니다. 매번 모든 파일을 다시 읽고, 순위를 매기지 않으며, 구형 .xls 파일은 읽지 못합니다.
방법 4: 데스크톱 내용 검색 도구
스프레드시트를 자주 검색한다면, 한 번 읽어 색인을 유지하는 도구를 두는 편이 낫습니다. LocalSynapse도 그중 하나입니다. 스프레드시트에 관해서는:
- 읽는 것: .xlsx 파일 시트의 셀 텍스트, 그리고 .csv와 OpenDocument .ods 파일. 시트 이름은 .xlsx 파일에서 색인됩니다. 인라인 문자열로 저장된 셀(Excel 자체가 아니라 일부 내보내기 도구가 쓰는 방식)은 아직 검색되지 않습니다.
- 검색 방식: 키워드, 의미, 또는 둘 다 — 그래서 "공급업체 단가표"로 검색해도 셀에 "협력사 견적"이라고 적힌 통합 문서를 찾을 수 있고, Word·PDF·PowerPoint 결과와 한 목록에 함께 나옵니다.
- 크기 제한: 25MB를 넘는 통합 문서는 색인하지 않습니다.
- 미지원: 구형 .xls 파일. .xlsx로 다시 저장하세요.
파일과 문서 내용은 PC 밖으로 나가지 않습니다. LocalSynapse는 익명 제품 사용 횟수와 기술 상태 지표만 전송하며, 앱에서 끌 수 있습니다.
AI 모델을 설치한 뒤에는 오프라인에서도 검색이 동작합니다.
함정: 날짜와 서식이 적용된 숫자
파일 내용을 디스크에서 직접 읽는 위의 모든 방법, 저희 도구의 .xlsx 처리까지 여기에 걸리므로 이해해 둘 가치가 있습니다.
Excel은 날짜를 텍스트로 저장하지 않습니다. 일련번호로 저장하고 — 2024년 1월 1일은 45292 — 그것을 날짜로 보여 주라는 표시 서식을 함께 저장합니다. 통화와 백분율도 같습니다: 셀에는 $1,250.50이 보이지만 파일에는 1250.5가 들어 있습니다.
파일 내용을 검색하는 도구는 서식이 적용된 값이 아니라 저장된 값을 봅니다. 그래서:
2024-01-01이나2024년 1월로 검색하면 날짜 셀은 대개 찾지 못합니다. 대신 주변 텍스트 — 열 제목, 거래처 이름, 텍스트로 입력된 송장 번호 — 로 검색하세요.$1,250.50으로 검색해도 통화 셀은 찾지 못합니다.1250.5로 검색하거나, 역시 주변 텍스트로 검색하세요.- 셀에 텍스트로 적은 날짜 — "2024년 3분기", "3월 15일 마감" — 는 다른 단어처럼 검색됩니다.
실제로 원하는 것이 AI 어시스턴트가 숫자를 정확히 읽는 것이라면, 그것은 검색과는 다른 문제입니다. LocalSynapse의 get_spreadsheet 도구는 각 셀의 선언된 타입과 함께 표를 어시스턴트에 넘겨주며, 표준 날짜 서식의 셀은 일련번호가 아니라 ISO 날짜로 돌아옵니다(일부 사용자 지정·로캘 지정 날짜 서식은 일련번호 그대로 돌아옵니다). 이 내용은 AI 어시스턴트에게 Excel 파일 읽히기에 따로 정리했습니다.
어떤 방법을 쓸까?
| 상황 | 적합한 방법 |
|---|---|
| 어느 통합 문서에 있는지 안다 | Excel 찾기, 범위: 통합 문서 |
| 가끔 검색, 설치는 원치 않음 | 파일 탐색기 + .xlsx 내용 인덱싱 |
| 일회성 일괄 작업이나 자동화 | PowerShell |
| 스프레드시트와 다른 문서를 정기적으로 검색 | LocalSynapse 같은 내용 검색 도구 |