모든 스크린샷에서
필요한 데이터 필드만 추출하는 방법
스크린샷에서 필요한 데이터가 겨우 두 개의 숫자뿐이라면 어떨까요? 주간 지표 대시보드의 "Net Revenue"와 "Churn Rate"처럼요. 그런데 시도해 본 모든 도구가 페이지 전체를 돌려줍니다. 14개 열 전부요. 그중 12개는 데이터가 쓸모 있어지기 전에 삭제하게 됩니다. 문제는 스크린샷에서 데이터를 꺼내는 방법이 아닙니다. 그 방법은 수십 가지나 됩니다. 문제는 중요한 세 개의 필드만 남기기 위해 왜 모든 것을 추출해야 하느냐는 것입니다.

"모든 것을 추출"이 실제로 치르게 하는 비용

대부분의 스크린샷 추출 도구는 같은 은밀한 가정을 합니다. 바로 페이지의 모든 데이터를 원한다는 가정이죠. 이 가정은 아무도 예산에 넣지 않는 정리 단계를 만들어냅니다.
KPI 카드 18개가 있는 대시보드 스크린샷을 예로 들어보세요. 그중 필요한 것은 세 개뿐입니다. MRR, 활성 사용자, 전환율이죠. 대부분의 사람이 가장 먼저 떠올리는 도구인 Excel의 기본 Data from Picture 기능은 보이는 모든 숫자를 셀로 추출합니다. 그러면 행과 열의 그물망에 걸쳐 55개의 데이터 포인트가 생기고, 대부분은 라벨에서 떨어져 나온 맥락 없는 값입니다. 필요한 세 개를 쓰기 전에 55개 중에서 각각을 찾아내고, 올바른 값인지 확인하고(글로벌 카드가 아니라 북미 카드의 "매출" 숫자인지), 나머지는 삭제하거나 보관해야 합니다.
이 작업을 일주일에 두 번 한다면, 정리 작업이 전체 워크플로 시간의 약 70%를 차지합니다. 추출 자체는 빠릅니다. 분류가 느리죠. 매주 서로 다른 대시보드의 지표를 추적하는 다섯 명 팀으로 이걸 확대해 보면, 매주 금요일마다 3~4시간이 보이지 않는 비용으로 사라집니다. 아무도 이걸 별도의 작업으로 생각하지 않기 때문에 아무도 보고하지 않죠. 그냥 "데이터를 Excel에 넣는 일"일 뿐입니다.
현장 데이터 수집 앱에서 나온 600장의 스크린샷을 다루던 Reddit 사용자는 이렇게 말했습니다. 각 이미지에서 "Tag Number, Length, Weight, Event Type, Tagger, Date, Time, GPS/Location, Water Temperature"가 필요했다고요. ChatGPT에 한 번에 10장씩 업로드하는 건 통했지만 업로드 한도에 금방 걸렸습니다. OCR 도구는 텍스트를 돌려줬지만 "필드 구조를 항상 유지하지도, 한 레코드의 두 스크린샷을 서로 연결하지도" 않았습니다. 두 접근법의 격차는 같았습니다. 도구는 모든 것을 줬고, 사용자는 구조를 스스로 다시 만들어야 했죠.
"모든 것을 추출"의 숨은 비용은 처리 시간이 아니라, 10초짜리 추출을 스크린샷 한 장당 3분짜리 작업으로 바꾸는 수동 열 삭제와 재검증입니다.
열 기반 추출이 페이지를 그대로 옮겨 적는 대신 필드를 선택하는 방법

대부분의 도구가 페이지 전체를 제공하는 이유는 구조적입니다. 기존 OCR — Tesseract, Google Cloud Vision, 또는 Excel의 Data from Picture 뒤에 있는 Microsoft 자체 엔진이든 — 은 이미지를 왼쪽에서 오른쪽으로, 위에서 아래로 스캔하며 보이는 모든 문자를 텍스트로 변환하는 방식으로 작동합니다. 표 구조가 있을 경우 텍스트가 행과 열로 나뉜다는 것을 인식할 수는 있지만, 어떤 행이나 열이 중요한지 구분하는 메커니즘은 없습니다. 모든 것을 읽는 것은 문서 처리의 다른 시대를 위해 설계되었기 때문입니다 — 모든 것을 읽는 것이 핵심이었던 인쇄 문서의 전체 페이지를 스캔하는 시대 말입니다.
선택적 필드 추출은 반대 방향에서 시작합니다. "이 이미지에 어떤 텍스트가 있는가"를 묻는 대신, "내가 정의한 필드 이름에 대해 이 이미지가 어떤 값을 포함하는가"를 묻습니다. 이것이 맞춤 열 추출입니다. 원하는 열 이름 — "Revenue", "Churn Rate", "Active Users" — 을 입력하면 AI가 위치가 아닌 의미를 기반으로 페이지 어디에서든 해당 값을 찾습니다. 입력한 열 이름이 출력 테이블의 정확한 헤더가 됩니다. 각 값이 올바른 열에 들어가는 것은 AI가 레이블과 화면의 데이터 사이의 의미적 관계를 이해하기 때문이며, 픽셀 좌표를 외웠기 때문이 아닙니다.
Pragmile의 2025년 독립 벤치마크는 표 추출 품질을 포함한 6개 차원에서 10개의 OCR 및 문서 이해 도구를 테스트했습니다. 그 격차는 시사하는 바가 컸습니다. Tesseract는 표 추출에서 2/10점을 받았습니다 — "표를 열과 행으로 나누지 않고 연속된 텍스트로 취급했습니다." 원시 문자 OCR에서 10/10점을 받은 Azure Form Recognizer조차 표 추출에서는 4/10점으로 떨어졌습니다. 문자 모양뿐 아니라 문서 의미를 이해하는 AI 엔진이야말로 의미 있는 구조를 보존합니다.
단계별 가이드: 원하는 필드만 추출하기
코드를 작성하거나, 템플릿을 구성하거나, 모델을 학습할 필요 없이 선택적 추출을 실행할 수 있습니다. 작업 흐름은 세 단계로 이루어져 있으며, 가장 중요한 단계는 파일을 다루기 전에 이루어집니다.
도구를 열기 전에 필요한 것을 결정하세요. 대부분의 사람들이 건너뛰는 단계이며, 그래서 4개 대신 20개의 열로 끝나게 되는 이유입니다. 스크린샷을 보고 추출하려는 정확한 필드 이름을 적어 두세요. "오른쪽 상단의 데이터"가 아니라 "월간 활성 사용자"와 "고객 확보 비용"처럼 말이죠. 레이아웃은 다르지만 동일한 데이터 포인트를 가진 여러 스크린샷을 처리하는 경우(매주 다른 대시보드에서 지표를 가져올 때 흔한 시나리오), AI가 위치가 아닌 의미를 읽기 때문에 동일한 열 이름이 모두에서 작동합니다. 이것이 바로 소스별로 별도의 프로세스를 만들지 않고 스크린샷 데이터를 하나의 구조화된 Excel 파일로 통합할 수 있게 해주는 기능입니다.
열 이름을 입력하고 업로드하세요. 필드 이름을 열 머리글로 입력하세요. "타임스탬프", "지표 이름", "값", "소스 대시보드"처럼 말이죠. 스크린샷(또는 여러 스크린샷 — 일괄 처리는 모든 결과를 동일한 테이블에 작성하여 다른 이미지의 행을 하나의 스프레드시트로 병합합니다)을 업로드하세요. AI는 각 이미지를 읽고 각 열 이름에 해당하는 값으로 행을 채웁니다. 특정 스크린샷에 지정한 필드가 포함되어 있지 않으면 잘못된 값을 강제로 넣는 대신 해당 셀은 비어 있는 상태로 유지됩니다. 이는 빈 공간에 텍스트를 환각하는 OCR 도구보다 더 안전한 동작입니다.
내보내고 검증하세요. 구조화된 출력을 Excel, CSV 또는 JSON으로 다운로드하세요. 요청한 필드만 확인하면 되므로 검증 단계는 빨라야 합니다. 50개 셀 추출물을 스캔하여 문제가 없는지 확인할 필요가 없습니다. 값이 이상해 보이면 20개 열보다 4개 열 테이블에서 더 쉽게 발견할 수 있습니다. 이것이 "선택적" 이점이 복리로 작용하는 방식입니다. 추출할 필드가 적을수록 검증할 필드가 줄어들고, 잡아야 할 오류가 줄어들며, 업로드부터 유용한 출력까지 더 빨리 완료됩니다.
파일은 안전하게 처리되며 저장되지 않습니다.
가장 깔끔한 결과를 위한 필드 이름 짓기

결과물의 품질은 스크린샷의 해상도보다 열 이름을 어떻게 짓느냐에 더 크게 좌우됩니다. 대부분의 사람들이 첫 시도에서 깔끔한 추출 결과를 얻거나 두 번째 시도가 필요한 단계가 바로 여기입니다.
열 이름을 "Amount"로 지정하면 AI는 추측해야 합니다 — 이것이 청구서 총액인지, 항목 금액인지, 세액인지, 소계인지 말이죠. "Invoice Total (incl. tax, in USD)"라고 지정하면 AI에게 명확한 목표가 생깁니다. 열 이름에 단어가 많을수록 모델이 모호함을 해소할 수 있는 맥락이 더 많아집니다. 이는 장황하게 쓰라는 것이 아니라 의미 매칭 과정에서 추측을 없애라는 것입니다. 다음은 일관되게 더 깔끔한 결과를 만들어내는 세 가지 이름 지정 규칙입니다:
간결함보다 구체적으로. "Due Date (as shown on document header)"가 "Date"보다 낫습니다. "Vendor Contact Email"이 "Email"보다 낫습니다. 스크린샷이 "Total"이 일일 합계, 주간 합계, 세션 합계를 의미할 수 있는 앱에서 온 것이라면 그 구분을 열 이름에 포함하세요.
열당 하나의 개념. "Customer Name and Address"를 하나의 열에 넣으면 AI가 이를 연결할지, 하나를 선택할지, 행으로 나눌지 결정해야 하므로 예측할 수 없는 결과가 나옵니다. "Customer Name"과 "Customer Address"를 별도의 열로 나누세요.
스크린샷에 표시된 언어와 일치시키세요. 대시보드가 독일어이고 레이블이 "Gesamtumsatz"라고 되어 있다면 열 이름을 "Total Revenue"가 아닌 "Gesamtumsatz"로 지정하세요. AI는 여러 언어를 처리할 수 있지만, 이미지에 사용된 정확한 언어와 표현에 더 확신을 가지고 고정됩니다. 이 원칙은 다양한 소프트웨어 플랫폼에도 적용됩니다 — Salesforce에서 "Net Sales"로, Tableau에서 "Revenue (net)"으로 표시된 값은 모두 "Net Sales"라는 열에 올바르게 매핑됩니다. AI가 의미적 동등성을 이해하기 때문입니다. 다만 추출 작업 전반에 걸쳐 이름 지정 규칙이 내부적으로 일관될 때 매칭이 더 안정적입니다.
선택적 추출이 뛰어난 경우 — 그리고 그렇지 않은 경우
선택적 추출은 특정 문제를 매우 잘 해결하지만, 모든 스크린샷 상황에 최적의 도구는 아닙니다. 그 경계를 아는 것이 불필요한 좌절을 막아줍니다.
확실히 뛰어난 경우: 25개 지표 중 3개만 필요한 대시보드 스냅샷. 수백 개의 레코드에서 동일한 필드 집합을 수집하는 앱 스크린샷 — 예를 들어 스크린샷에서 고객 이름, 이메일, 전화번호, 등록 날짜, 마지막 예약을 일괄 가져와야 했던 이 Reddit 사용자처럼 Excel로 옮기는 경우. 동일한 레이아웃을 기대하는 템플릿 기반 도구로는 불가능한 교차 플랫폼 데이터 통합 — Salesforce 스크린샷, Tableau 스크린샷, Google Analytics 스크린샷에서 동일한 KPI를 한 행으로 모으는 작업. 이 경우 스크린샷-스프레드시트 접근 방식은 수동 데이터 입력에서 자동화된 파이프라인으로 전환됩니다.
전체 페이지 OCR이 더 나은 선택인 경우: 스크린샷에 어떤 필드가 있는지 아직 모를 때 — 무엇을 추출할지 결정하기 전에 무엇이 있는지 발견해야 하는 경우. 규정 준수나 감사 목적으로 스크린샷 내용을 그대로 보관해야 하는 경우, 완전성이 유용성보다 중요한 경우. 스크린샷에 하나의 조밀한 테이블이 포함되어 있고 실제로 모든 열을 원하는 경우, 20개 열을 검증하는 것이 수동으로 옮겨 적는 것보다 여전히 빠릅니다.
이것은 이분법적 선택이 아닙니다. 가장 효율적인 워크플로우는 종종 둘 다 사용합니다: 새 문서 유형에 무엇이 있는지 파악하기 위한 빠른 전체 추출, 그 다음 반복 실행을 위한 선택적 추출 템플릿. 열을 정의하는 초기 설정 비용은 한 번만 지불하면 되며, 동일한 열로 이후의 모든 추출은 거의 즉시 완료됩니다.
자주 묻는 질문
선택적 추출이 표 형식이 아닌 스크린샷(예: 위젯이 흩어져 있는 대시보드)에서도 작동하나요?
네, 바로 이 점이 기존 OCR 대비 가장 큰 효율 향상을 만들어내는 부분입니다. 템플릿 기반 도구는 데이터가 정돈된 격자 형태가 아니면 작동하지 않습니다. 열 이름 매칭을 사용하는 선택적 추출은 격자가 필요 없습니다. "월간 활성 사용자: 142,300"이라는 값이 왼쪽 상단 KPI 카드에 있든, 중앙 막대 차트 레이블에 있든, 하단 요약에 있든 찾아냅니다. 위치는 AI에게 중요하지 않으며, 열 이름과 스크린샷 콘텐츠 간의 의미적 일치만 중요합니다.
스크린샷에 제가 지정한 필드 중 하나가 없으면 어떻게 되나요?
해당 행의 셀은 비어 있는 상태로 유지됩니다. 이는 의도된 동작입니다. 빈 셀에 추측한 값을 강제로 넣는 것은 비워 두는 것보다 나쁩니다. 빈 셀은 "이 스크린샷에 해당 데이터가 없었다"는 것을 알려주지만, 추측한 값은 정확해 보여서 잡아내기 훨씬 어려운 다운스트림 오류로 이어집니다. 일부에만 모든 필드가 있고 나머지는 일부만 있는 스크린샷 배치를 처리하는 경우, 예상되는 위치에 공백이 생기는 것을 볼 수 있습니다. 이는 정확한 감사를 위해 정확히 원하는 결과입니다.
다양한 유형의 스크린샷에서 동일한 열 이름 세트를 사용할 수 있나요?
네, 이것이 핵심 워크플로우 이점입니다. "지표 이름", "이번 주 값", "지난 주 값", "변동 %" 열을 한 번 정의하면 Salesforce 대시보드 스크린샷, Google Analytics 스크린샷, 내부 BI 도구 스크린샷을 같은 배치로 업로드할 수 있습니다. AI는 소스 형식과 관계없이 의미적으로 동등한 값을 올바른 열에 매핑합니다. 유일한 요구 사항은 열 이름이 모호함을 피할 만큼 구체적이어야 한다는 것입니다(위의 명명 섹션 참조). 더 복잡한 다중 소스 시나리오의 경우 열 이름에 몇 단어만 추가해도 대부분의 불일치를 방지할 수 있습니다.
손글씨나 주석이 포함된 스크린샷에서도 작동하나요?
네, 제한적으로 작동합니다. 손으로 쓴 숫자와 짧은 손글씨 라벨은 일반적으로 잘 인식됩니다. 긴 손글씨 메모, 대비가 낮은 배경의 필기체, 인쇄된 텍스트와 겹치는 주석은 정확도가 낮아집니다. 인쇄된 데이터와 손글씨 여백 메모가 섞인 스크린샷의 경우 인쇄된 콘텐츠 추출은 매우 안정적으로 유지됩니다. 손글씨는 노이즈를 추가할 뿐 출력의 구조화된 부분을 손상시키지 않습니다.
하나의 스크린샷에서 몇 개의 필드를 추출할 수 있나요?
하드 제한은 없습니다. 필요한 만큼 열 이름을 정의할 수 있습니다. 하지만 실제로 필드를 더 많이 정의할수록 불일치 가능성이 높아집니다("금액"과 "금액(USD)"라는 두 열이 겹치는 값을 포착할 수 있음). 가장 깔끔한 출력을 위한 최적의 범위는 5-15개의 명확히 구분된 필드입니다. 밀도 높은 문서에서 정말로 40개의 필드가 필요하다면, 서로 다른 열 세트로 두 번의 별도 추출 패스를 실행하는 것을 고려해 보세요. 병합 단계가 추가되지만 각 패스의 출력이 더 깔끔하게 유지됩니다.
OCR 구성을 배울 필요가 없습니다. 샘플 레이아웃으로 모델을 훈련할 필요도 없습니다. 추출하려는 것이 무엇인지 알고, 그 이름을 정확히 지정하기만 하면 됩니다. 나머지는 도구의 문제이지 여러분의 문제가 아닙니다.
다음 스크린샷에서 선택적 추출을 사용해 보세요. 열을 정의하고 업로드하세요 — 출력 테이블에는 요청한 필드만 포함됩니다.