매주 로또 당첨번호를 엑셀에 손으로 입력하고 계신가요? 구글 시트 하나면 당첨번호 자동 수집부터 핫넘버·콜드넘버 분석, 시각적 대시보드까지 코딩 없이 만들 수 있습니다. 이 글에서는 IMPORTHTML 함수로 동행복권 데이터를 실시간 크롤링하고, COUNTIF·FILTER·QUERY 함수로 종합 통계를 자동 계산하며, 차트와 조건부 서식으로 한눈에 보이는 대시보드를 구축하는 전 과정을 단계별로 안내합니다. 2026년 최신 데이터 기준 무료 템플릿도 함께 제공하니, 지금 바로 내 구글 드라이브에 복사해서 사용해 보세요.
빠른 요약
구글 시트로 로또 번호를 분석하는 흐름은 다음과 같습니다. ① 새 구글 시트를 만들고 IMPORTHTML 함수로 동행복권 사이트에서 역대 당첨번호를 자동 수집합니다. ② COUNTIF 함수로 각 번호(1~45)의 출현 빈도를 집계합니다. ③ 홀짝 비율, 번호대별 분포, 총합 구간, AC값 등 핵심 통계를 수식으로 자동 계산합니다. ④ 막대그래프·꺾은선·파이차트로 분석 결과를 시각화합니다. ⑤ FILTER·QUERY 함수와 체크박스를 조합해 나만의 번호 필터링 시스템을 완성합니다.
왜 구글 시트인가? — 로또 분석에 최적인 이유
로또 번호를 분석하는 방법은 다양합니다. 파이썬 스크립트를 작성하거나, 엑셀 매크로를 쓰거나, 유료 분석 사이트를 이용할 수도 있습니다. 하지만 코딩을 모르거나, 매번 엑셀 파일을 다운로드하기 번거롭다면 구글 시트(Google Sheets)가 가장 현실적인 선택입니다. 무료이고, 클라우드에 자동 저장되며, 모바일에서도 바로 확인할 수 있고, 링크 하나로 누구와든 공유할 수 있기 때문입니다.
엑셀 vs 구글 시트 로또 분석 비교표
특히 가장 큰 차별점은 IMPORTHTML 함수입니다. 이 함수 하나로 동행복권 공식 사이트의 당첨번호 데이터를 수동 다운로드 없이 자동 수집할 수 있습니다. 기존 가이드 대부분이 엑셀 파일을 직접 다운로드하는 방식을 안내하는 반면, 이 글에서는 완전 자동화된 데이터 파이프라인을 구축하는 데 초점을 맞춥니다.
완성 대시보드 주요 기능
이 가이드를 끝까지 따라하면 아래 기능을 갖춘 종합 분석 대시보드를 만들 수 있습니다.
- 역대 전 회차 당첨번호 자동 수집 시트 (IMPORTHTML 기반 실시간 갱신)
- 1~45번 각 번호별 출현 빈도 자동 집계 및 막대그래프
- 최근 10회·20회·50회 구간별 핫넘버·콜드넘버 자동 분류 (조건부 서식 색상 코딩)
- 홀짝 비율, 번호대별 분포, 총합 구간, AC값, 끝수 분포 자동 계산
- 체크박스 기반 필터로 나만의 조건에 맞는 번호 자동 추출
- Apps Script로 매주 일요일 자동 데이터 업데이트
STEP 1: 구글 시트에 역대 당첨번호 자동 불러오기
대시보드의 시작은 데이터입니다. 구글 시트의 IMPORTHTML 함수를 사용하면 동행복권 공식 사이트에서 당첨번호 테이블을 코딩 없이 바로 가져올 수 있습니다. 엑셀 파일을 수동으로 다운로드하는 것보다 훨씬 간편하고, 웹 데이터가 갱신될 때마다 자동으로 반영된다는 점이 핵심 장점입니다.
IMPORTHTML로 당첨번호 테이블 가져오기
구글 시트의 셀에 다음 형태의 수식을 입력하면 동행복권 사이트의 당첨번호 테이블을 자동으로 불러올 수 있습니다.
IMPORTHTML 기본 문법 =IMPORTHTML("URL", "table", 인덱스번호)
예시: =IMPORTHTML("https://dhlottery.co.kr/gameResult.do?method=byWin", "table", 1)
• URL: 동행복권 당첨결과 페이지 주소
• "table": HTML 테이블을 가져오겠다는 지정
• 인덱스번호: 페이지 내 몇 번째 테이블인지 (1부터 시작)
⚠️ 동행복권 사이트 구조가 변경되면 인덱스 번호가 달라질 수 있습니다. 데이터가 제대로 표시되지 않으면 숫자를 1, 2, 3 순서로 바꿔 테스트해 보세요.
IMPORTHTML만으로 한 번에 모든 회차를 가져오기 어려운 경우, IMPORTDATA 함수를 병행하거나 여러 페이지의 데이터를 각각 다른 시트 탭에 불러온 뒤 하나로 합치는 방법을 사용합니다. 구글 시트는 한 파일에 최대 1,000만 셀까지 지원하므로 로또 전 회차(약 1,100회 이상) 데이터를 담기에 충분합니다.
Apps Script 자동 갱신 설정 순서
IMPORTHTML은 시트를 열 때 자동 갱신되지만, 매주 일요일 추첨 후 더 안정적으로 데이터를 갱신하려면 Google Apps Script 트리거를 활용하는 것이 좋습니다.
- 구글 시트 상단 메뉴에서 [확장 프로그램] → [Apps Script]를 클릭합니다.
- 스크립트 편집기에서 UrlFetchApp.fetch()를 사용해 동행복권 API 또는 웹페이지에서 최신 데이터를 가져오는 함수를 작성합니다.
- 가져온 데이터를 SpreadsheetApp.getActiveSheet().getRange()로 시트에 자동 입력합니다.
- 왼쪽 시계 아이콘(트리거)을 클릭하고, '시간 기반 트리거'를 '매주 일요일 오후 10시~11시'로 설정합니다.
- 저장 후 수동으로 한 번 실행하여 정상 동작을 확인합니다.
이 설정을 마치면 매주 추첨 후 최신 당첨번호가 시트에 자동 추가됩니다. 한 번 설정해 두면 별도 작업 없이 데이터가 계속 쌓이는 자동 분석 시스템의 기반이 완성됩니다.
데이터 시트 컬럼 구조 예시
불러온 원시 데이터를 분석하기 좋은 형태로 정리합니다. 별도의 'Data' 시트 탭을 만들어 아래와 같은 컬럼 구조로 정규화하세요.
참고: 구글 시트 COUNTIF 함수 활용 실전 가이드 — 동행복권 데이터를 구글시트에서 정리하고 COUNTIF 함수로 분석하는 실전 사례를 참고해 보세요. [구글시트] 로또 판매점별 당첨갯수 확인 – COUNTIF 함수 활용
STEP 2: 핵심 통계 자동 계산 시트 구성
데이터 시트가 준비되었으면, 별도의 'Statistics' 시트 탭을 만들어 핵심 통계를 자동 계산합니다. 주요 함수는 COUNTIF, SUMPRODUCT, FILTER, QUERY이며, 수식을 한 번 입력해 두면 데이터가 추가될 때마다 통계가 자동으로 갱신됩니다.
번호별 출현 빈도 집계 (COUNTIF)
가장 기본이 되는 분석입니다. 1번부터 45번까지 각 번호가 역대 전 회차에서 몇 번 출현했는지 자동으로 세어줍니다.
번호별 출현 빈도 수식 예시 A열에 1~45를 나열하고, B열에 다음 수식을 입력합니다.
=COUNTIF(Data!$C:$H, A2)
• Data!$C:$H → 데이터 시트의 당첨번호 6개 컬럼 전체 범위
• A2 → 현재 행의 번호 (1~45)
이 수식을 45행까지 드래그하면 전 번호의 출현 빈도가 자동 집계됩니다.
💡 보너스번호 포함 빈도를 별도로 구하려면:
=COUNTIF(Data!$C:$I, A2) ← I열(보너스)까지 범위 확장
최근 N회차 핫넘버·콜드넘버 자동 분류
전체 회차 통계도 중요하지만, 최근 트렌드를 파악하려면 구간별 분석이 필수입니다. 최근 10회, 20회, 50회 등 원하는 기간의 핫넘버(자주 나온 번호)와 콜드넘버(오래 안 나온 번호)를 자동으로 분류해 봅시다.
최근 N회차 출현 빈도 수식 최근 10회차 출현 빈도 (Data 시트가 최신순 정렬된 경우):
=COUNTIF(INDIRECT("Data!C2:H11"), A2)
동적 범위로 최근 N회차를 자동 계산하려면:
=COUNTIF(OFFSET(Data!$C$2,0,0,$N$1,6), A2)
• $N$1 셀에 원하는 회차 수(10, 20, 50)를 입력하면 자동 변경
핫넘버/콜드넘버 자동 라벨링:
=IF(B2>=PERCENTILE($B$2:$B$46,0.75), "🔥핫", IF(B2<=PERCENTILE($B$2:$B$46,0.25), "🧊콜드", "보통"))
주요 통계 항목별 구글 시트 수식 매핑
로또 분석에서 자주 사용하는 핵심 지표를 구글 시트 수식으로 자동 계산하는 방법을 정리했습니다.
AC값 자동 계산 수식 (고급) AC값은 6개 번호로 만들 수 있는 15개 조합(₆C₂)의 차이값 중 고유한 값의 개수에서 5를 뺀 값입니다.
구글 시트에서는 UNIQUE와 조합 계산을 직접 처리하기 어려우므로, 별도 열에 15개 차이값을 나열한 뒤 UNIQUE로 고유 개수를 세는 방식을 권장합니다.
또는 Apps Script에서 AC값 계산 함수를 커스텀으로 만들면 =AC_VALUE(C2:H2) 형태로 간편하게 사용할 수 있습니다.
참고: 로또 분석 기준 13가지 이론 정리 — 홀짝, 고저, 회문수, 번호합, 끝수합, 소수 등 로또 분석에 사용되는 다양한 기준의 이론적 배경을 정리한 글입니다. 로또북 로또분석방법 – 13가지 이상 분석 기준 해설
STEP 3: 시각적 대시보드 차트 만들기
숫자만 가득한 시트는 한눈에 파악하기 어렵습니다. 구글 시트의 차트 기능과 조건부 서식을 활용하면 분석 결과를 직관적인 대시보드로 바꿀 수 있습니다. 별도의 'Dashboard' 시트 탭을 만들어 모든 차트를 한 화면에 배치해 봅시다.
출현 빈도 막대그래프 생성 순서
- Statistics 시트에서 번호(A열)와 출현 빈도(B열) 범위를 드래그 선택합니다.
- [삽입] → [차트]를 클릭하면 자동으로 차트가 생성됩니다.
- 차트 유형을 '세로 막대형 차트'로 변경합니다.
- 차트 편집기에서 '맞춤설정' 탭 → 시리즈 → 색상을 변경하여 상위 빈도 번호가 강조되도록 설정합니다.
- 차트 제목을 '1~45번 출현 빈도 (전체 회차)'로 입력합니다.
- 완성된 차트를 Dashboard 시트 탭으로 이동시킵니다.
추가 추천 차트
특정 번호의 최근 출현 추세를 보려면 꺾은선 그래프가 효과적입니다. 아래와 같은 차트를 추가하면 대시보드가 더 풍성해집니다.
- 번호대별 비율 파이차트: 1번대~5번대 각각의 출현 비율을 원형 차트로 표현
- 홀짝 분포 도넛 차트: 역대 당첨번호의 홀짝 비율 시각화
- 총합 구간 히스토그램: 번호 총합의 분포를 구간별로 표시 (100~175 중간 구간 집중 여부 확인)
- SPARKLINE 미니 차트: 셀 안에 작은 막대그래프를 삽입하여 공간 절약 (=SPARKLINE(B2:B46))
조건부 서식으로 핫/콜드넘버 히트맵 설정
조건부 서식을 사용하면 핫넘버는 빨간색, 콜드넘버는 파란색으로 자동 표시되어, 대시보드를 열자마자 최근 어떤 번호가 핫한지 바로 파악할 수 있습니다.
- 핫/콜드 라벨이 있는 셀 범위를 선택합니다.
- [서식] → [조건부 서식]을 클릭합니다.
- 규칙 1: '텍스트에 포함' → '핫' → 배경색 빨간색(#FF6B6B) 설정
- 규칙 2: '텍스트에 포함' → '콜드' → 배경색 파란색(#74B9FF) 설정
- 규칙 3: 출현 빈도 셀에 '색상 스케일' 적용 → 최솟값 파란색 ~ 최댓값 빨간색 그라데이션으로 히트맵 효과 구현
STEP 4: 나만의 번호 필터링 자동화
통계 분석과 시각화까지 완료했다면, 이제 가장 실용적인 기능을 추가할 차례입니다. 체크박스로 원하는 조건을 선택하면 해당 조건에 맞는 번호 조합을 자동으로 추출하는 '필터링 시트'를 만들어 봅시다. FILTER 함수와 QUERY 함수만으로 코딩 없이 구현할 수 있습니다.
추천 필터 조건 목록
구글 시트에서 [삽입] → [체크박스]를 사용하면 TRUE/FALSE 값을 토글할 수 있는 UI를 만들 수 있습니다. 다음과 같은 필터 조건을 체크박스로 구성해 보세요.
- 홀짝 비율 필터: 홀3짝3, 홀4짝2 등 원하는 비율만 선택
- 총합 범위 필터: 최소 100 ~ 최대 175 등 숫자 입력
- 제외수 설정: 특정 번호를 제외하고 싶을 때 (예: 최근 3회 연속 나온 번호)
- 필수 포함수: 반드시 포함할 번호 지정
- 번호대 분포 필터: 각 번호대(1~10, 11~20 등)에서 최소/최대 개수 설정
- 연번 포함/제외: 연속 번호 쌍 포함 여부 선택
FILTER 함수로 조건별 자동 필터링
체크박스 값과 연동하여 FILTER 또는 QUERY 함수로 조건에 맞는 과거 당첨 이력을 자동 필터링합니다.
FILTER 함수 활용 예시 총합이 100~175 사이이고, 홀수가 3개인 회차만 필터링:
=FILTER(Data!A:H, Data!J:J>=100, Data!J:J<=175, Data!K:K=3)
• Data!J열: 총합 / Data!K열: 홀수 개수
• 체크박스와 연동하려면 조건 셀 참조를 IF로 감쌉니다:
=FILTER(Data!A:H, IF($B$1=TRUE, Data!J:J>=100, TRUE), IF($B$2=TRUE, Data!K:K=3, TRUE))
이렇게 하면 체크박스를 켜거나 끌 때마다 필터 결과가 동적으로 변합니다.
QUERY 함수를 사용하면 SQL과 유사한 문법으로 더 복잡한 조건도 처리할 수 있습니다. 예를 들어 =QUERY(Data!A:K, "SELECT * WHERE J >= 100 AND J <= 175 AND K = 3 ORDER BY A DESC LIMIT 20")처럼 최근 20건만 정렬하여 가져오는 것도 가능합니다.
내 번호 대조 시트 만들기
매주 구매한 번호가 과거에 당첨된 적이 있는지, 또는 이번 주 당첨번호와 몇 개가 일치하는지 자동으로 확인하는 시트도 만들어 봅시다.
내 번호 대조 수식 내 번호를 M1:R1에 입력했다면, 각 회차와의 일치 개수:
=SUMPRODUCT(COUNTIF(C2:H2, $M$1:$R$1))
이 수식을 전체 회차에 적용하면, 역대 모든 회차에서 내 번호가 몇 개씩 맞았는지 한눈에 확인할 수 있습니다.
참고: 스프레드시트 로또 번호 생성기 템플릿 — RAND 함수와 COUNTIF를 활용한 번호 생성기 구현 사례입니다. [스프레드시트 활용] 로또 번호 생성기 템플릿 – RAND/COUNTIF 단계별 가이드
무료 템플릿 공유 및 사용법
지금까지 설명한 모든 기능을 직접 만들 수도 있지만, 시간이 부족한 분을 위해 완성된 무료 템플릿을 준비했습니다. 아래 안내에 따라 구글 드라이브에 사본을 복사하면 바로 사용할 수 있습니다.
무료 템플릿 사용 방법 (3단계) ① 아래 구글 시트 링크를 클릭합니다.
② 상단 메뉴 [파일] → [사본 만들기]를 클릭하여 내 구글 드라이브에 복사합니다.
③ 'Data' 시트 탭에서 IMPORTHTML이 자동으로 최신 데이터를 불러오면, 나머지 시트(Statistics, Dashboard, Filter)의 수식이 자동으로 갱신됩니다.
⚠️ 사본을 만들어야 편집이 가능합니다. 원본은 읽기 전용입니다.
커스터마이징 가능 항목
기본 템플릿은 전체 회차 분석 + 최근 10/20/50회차 분석을 제공합니다. 자신만의 분석 환경으로 바꾸려면 다음 항목을 수정해 보세요.
- 분석 기간 변경: Statistics 시트의 N회차 설정 셀 값을 원하는 숫자로 변경 (10 → 30 등)
- 필터 조건 추가: Filter 시트에 새로운 조건 행을 추가하고 FILTER 수식에 조건 추가
- 차트 디자인 변경: 각 차트를 더블클릭하여 색상, 글꼴, 범례 위치 등 조정
- 새로운 분석 항목 추가: AC값, 소수 판별, 쌍수 분석 등 원하는 수식을 Statistics 시트에 추가
- 알림 설정: Apps Script에 Gmail 발송 코드를 추가하면 매주 분석 결과를 이메일로 받아볼 수 있음
모바일 활용 팁
구글 시트 앱이 설치되어 있다면 스마트폰에서도 대시보드를 바로 확인할 수 있습니다.
- Dashboard 시트 탭을 즐겨찾기(별표)로 설정하면 빠르게 접근 가능
- 차트는 모바일에서도 터치하여 상세 데이터 확인 가능
- 오프라인 모드를 활성화하면 인터넷 없이도 마지막 동기화된 데이터 확인 가능
- 홈 화면에 바로가기를 추가하면 앱처럼 즉시 실행 가능
주의사항 및 구글 시트 성능 관리 팁
⚠️ 반드시 알아두세요 로또 6/45는 완전한 확률 게임입니다. 과거 당첨번호의 통계 분석은 '참고 자료'일 뿐, 미래 당첨번호를 예측하거나 당첨을 보장하지 않습니다. 이 대시보드는 데이터를 체계적으로 정리하고 패턴을 살펴보는 '재미'와 '학습' 목적으로 활용하시기 바랍니다. 로또는 반드시 여유 자금 범위 내에서 즐기세요.
성능 최적화 팁
구글 시트는 무료이지만 성능 한계가 있습니다. 대시보드가 느려지지 않도록 다음 사항을 참고하세요.
- IMPORTHTML은 시트당 1~2개만 사용 (과도한 외부 호출은 로딩 속도를 저하시킴)
- 데이터 시트와 분석 시트를 별도 탭으로 분리하여 계산 부하 분산
- ARRAYFORMULA를 활용하면 수백 개의 개별 수식을 하나로 통합하여 성능 향상
- 불필요한 빈 행/열은 삭제하여 셀 수를 최소화
- 차트 개수는 시트당 5~6개 이내로 유지 권장
- 데이터가 2,000행 이상이면 QUERY 함수가 FILTER보다 빠른 경향이 있음
2026년 5월 기준 로또 6/45는 약 1,175회차까지 진행되었습니다. 전체 데이터를 담아도 약 1,200행 × 10열 수준이므로 구글 시트의 성능 한계(1,000만 셀)에는 여유가 충분합니다. 다만 IMPORTHTML의 외부 호출이 많아지면 느려질 수 있으니, 원시 데이터는 Apps Script로 값을 복사(paste as values)해 두고 IMPORTHTML은 최신 회차 갱신용으로만 사용하는 것이 효율적입니다.
참고: Apps Script를 활용한 로또 자동화 사례 — 구글 앱스 스크립트로 로또 번호 분석과 추천을 자동화한 사례입니다. 구글 앱스 스크립트로 만든 AI 로또 번호 추천 서비스
자주 묻는 질문
구글 시트로 로또 번호를 분석하려면 어떻게 시작하나요?
IMPORTHTML 함수로 동행복권 사이트의 당첨번호를 자동 수집한 뒤, COUNTIF로 번호별 출현 빈도를 집계합니다. 이어서 홀짝 비율·총합 구간·AC값 등 통계를 수식으로 자동 계산하고, 차트와 조건부 서식으로 시각화하면 종합 분석 대시보드가 완성됩니다.
IMPORTHTML 함수로 로또 데이터를 못 불러올 때는 어떻게 하나요?
동행복권 사이트 구조가 변경되었거나 서버에서 크롤링을 차단한 경우일 수 있습니다. ① 테이블 인덱스 번호를 1, 2, 3으로 바꿔 테스트하고 ② URL을 최신 당첨결과 페이지 주소로 업데이트하세요. 그래도 안 되면 ③ IMPORTDATA 또는 Apps Script의 UrlFetchApp을 대안으로 사용해 보세요.
무료 템플릿은 어떻게 사용하나요?
본문에서 제공하는 구글 시트 링크를 클릭한 뒤, 상단 메뉴 [파일] → [사본 만들기]를 눌러 내 구글 드라이브에 복사합니다. 사본을 열면 IMPORTHTML이 자동으로 최신 데이터를 불러오고, Statistics·Dashboard·Filter 시트의 수식이 자동 갱신됩니다. 별도 설치나 비용 없이 바로 사용할 수 있습니다.
엑셀 대신 구글 시트를 쓰면 어떤 점이 다른가요?
구글 시트는 무료이고, IMPORTHTML 함수로 웹 데이터를 자동 수집할 수 있으며, 클라우드 기반이라 모바일에서도 바로 확인할 수 있습니다. 엑셀은 Microsoft 365 구독이 필요하고, 데이터를 수동 다운로드해야 하며, VBA 매크로 설정이 상대적으로 복잡합니다. 협업과 자동화 측면에서 구글 시트가 로또 분석에 더 적합합니다.
핫넘버와 콜드넘버를 자동으로 구분하려면?
COUNTIF 함수로 최근 N회차의 번호별 출현 빈도를 구한 뒤, PERCENTILE 함수로 상위 25%(핫넘버)와 하위 25%(콜드넘버)를 자동 분류합니다. 조건부 서식을 적용하면 핫넘버는 빨간색, 콜드넘버는 파란색으로 표시되어 시각적으로 바로 구분할 수 있습니다.
정리. 이 가이드를 따라하면 코딩 없이 구글 시트 하나로 로또 당첨번호 자동 수집, 번호별 출현 빈도 분석, 홀짝·총합·AC값 등 핵심 통계 자동 계산, 시각적 대시보드 차트, 그리고 나만의 번호 필터링 시스템까지 갖춘 종합 분석 환경을 만들 수 있습니다. 무료 템플릿을 복사해서 바로 시작하거나, 이 글의 수식을 하나하나 따라하며 직접 구축해 보세요. 매주 자동으로 갱신되는 나만의 로또 분석 대시보드로 번호 선택의 재미를 더해 보시기 바랍니다.
안내. 본 콘텐츠는 정보 제공 및 데이터 분석 학습 목적으로 작성되었으며, 로또 당첨을 보장하거나 예측하지 않습니다. 로또 6/45는 완전한 확률 게임이며, 과거 통계 분석은 미래 결과와 무관합니다. 로또 구매는 반드시 개인의 여유 자금 범위 내에서 책임감 있게 해주시기 바랍니다. 본 글의 구글 시트 수식과 함수는 2026년 5월 기준으로 작성되었으며, 동행복권 사이트 구조 변경 시 일부 함수가 정상 작동하지 않을 수 있습니다.