필요한 툴을, 바로 쓸 수 있게

반복 시각 목록 계산기

첫 시각과 끝 시각, 간격을 넣으면 그 사이의 시각이 역 시각표처럼 시와 분으로 정리됩니다. 모두 몇 번인지, 하루에 몇 번이고 며칠마다 같은 시각으로 돌아오는지, 자정을 넘긴 시각이 며칠 뒤인지 함께 보고 원하는 형식으로 복사할 수 있습니다.

최종 수정 2026-10-22계산은 브라우저 안에서만 처리

반복 시각표첫 시각·끝·간격을 넣으면 시각표가 바로 나옵니다.

예시
간격
시간
분
자주 쓰는 간격
끝 시각까지 몇 번

—

 

마지막 시각
—
첫 시각부터 마지막까지
—
하루(24시간)에
—
날짜
—
090030
100030
110030
120030
130030
140030
150030
160030
170030
1800
복사 형식

최종 수정 2026-10-22입력값은 저장하지 않습니다

ROBERIN 기준필요한 툴을,
바로 쓸 수 있게.
  • 바로 보이는 화면입력 위치와 결과 위치를 또렷하게 둡니다.
  • 결과 먼저핵심 결과를 앞에 두고, 과정은 필요할 때만 보여줍니다.
  • 요구 줄이기가입이나 불필요한 정보 입력 없이 바로 쓰게 합니다.

09:00부터 18:00까지 30분마다는 19번입니다

9시간을 30분씩 나누면 18칸입니다. 그런데 시각은 칸의 양쪽 끝에 놓이므로 칸 수보다 하나 많은 19개가 됩니다. 09:00, 09:30, 10:00 … 17:30, 18:00입니다. 울타리 18칸을 세우려면 기둥이 19개 필요한 것과 같은 이치여서, 일정표를 손으로 만들 때 가장 자주 틀리는 부분입니다.

계산기는 첫 시각에 간격을 한 번씩 더해 끝 시각을 넘지 않는 데까지 시각을 늘어놓습니다. 결과는 역 시각표처럼 시마다 한 줄로 묶어 보여 주므로, 09시 줄에 00·30이 있으면 09:00과 09:30입니다. 끝 시각 대신 개수를 정할 수도 있고, 첫 시각을 목록에서 뺄 수도 있습니다. 자정을 넘긴 시각에는 +1일처럼 시작한 날로부터 며칠 뒤인지 붙습니다.

반복 시각 목록이 필요한 때

같은 간격으로 무언가를 되풀이하는 일은 많지만, 시각을 하나씩 더하다 보면 자정 근처나 1시간 30분 같은 간격에서 실수가 생깁니다. 아래는 이 계산기로 바로 옮길 수 있는 경우입니다.

  • 상담·면접 예약 칸: 09:00부터 30분 단위로 시작 시각을 열 때, 18:00에 문을 닫는다면 마지막 시작은 17:30입니다. 끝 시각을 17:30으로 두면 예약 칸 18개가 나옵니다. 넣어 보기
  • 야간 순찰·점검 일지: 22:00부터 06:00까지 2시간마다 돈다면 22:00·00:00·02:00·04:00·06:00의 5번이고, 뒤 네 번은 다음 날입니다. 넣어 보기
  • 셔틀·순환 버스 배차표: 07:00부터 09:00까지 12분 간격이면 11대이고, 시각표 보기로 시마다 몇 분에 출발하는지 바로 읽힙니다. 넣어 보기
  • 측정·관찰 기록 시점: 10:00부터 15분마다 8번 재야 한다면 개수 기준으로 두고 마지막 시각(11:45)만 확인하면 됩니다. 넣어 보기
  • ‘n시간마다’로 적힌 일정: 안내문에 8시간마다라고 적혀 있으면 첫 시각만 정해도 하루 3번이 매일 같은 시각에 돌아옵니다. 7시간마다처럼 24시간을 나누어떨어지게 하지 않는 간격은 날마다 시각이 밀립니다. 넣어 보기

몇 번인지 세는 법: 칸 수보다 하나 많습니다

첫 시각과 끝 시각을 모두 목록에 넣으면 개수는 다음과 같습니다. 끝 시각이 간격에 딱 맞지 않으면 나눗셈의 나머지는 버리고, 그 나머지가 끝 시각까지 남는 시간입니다.

개수 = ⌊(끝 시각 − 첫 시각) ÷ 간격⌋ + 1 · 마지막 시각 = 첫 시각 + 간격 × (개수 − 1)

첫 시각 ~ 끝 시각간격개수마지막 시각
09:00 ~ 18:0030분19번18:00넣어 보기
09:00 ~ 18:00, 첫 시각 뺌30분18번18:00넣어 보기
09:00 ~ 17:5025분22번17:45넣어 보기
07:00 ~ 09:0012분11번09:00넣어 보기
14:30 ~ 21:001시간 30분5번20:30넣어 보기
22:00 ~ 다음 날 06:002시간5번06:00 (+1일)넣어 보기

첫 시각을 목록에서 빼면 개수가 하나 줄어듭니다. 어느 쪽으로 셀지는 쓰임에 따라 다르지만, 캘린더 앱이 따르는 iCalendar 표준(RFC 5545)은 반복 일정의 횟수(COUNT)를 셀 때 시작 일시를 첫 번째로 세고, 종료 일시(UNTIL)에 딱 맞는 반복도 포함합니다. 이 계산기의 기본값도 같은 방식이어서, 이 규칙으로 30분마다 19번(FREQ=MINUTELY, INTERVAL=30, COUNT=19) 반복하는 일정을 만들면 같은 19개가 나옵니다. 다만 캘린더 앱의 반복 설정 화면에서는 분 단위 반복을 고를 수 없는 경우가 많으니, 그럴 때는 복사한 목록을 하나씩 넣으세요.

간격을 k번 더한 시각과 자정 넘김

첫 시각에 간격을 k번 더하면, 첫 시각을 목록에 넣었을 때 k + 1번째 시각이 됩니다. 자정을 넘기는지 보려면 시각을 자정부터 지난 분으로 바꿔 더한 뒤 1,440(하루의 분)으로 나눕니다. 몫이 지난 날 수, 나머지가 그날의 시각입니다.

간격을 k번 더한 시각(분) = 첫 시각(분) + 간격 × k · 날 = 몫(÷ 1,440) · 시각 = 나머지

23:40부터 15분마다라면 23:40은 23 × 60 + 40 = 1,420분입니다. 간격을 두 번 더한 시각은 1,420 + 15 × 2 = 1,450분이고, 1,450을 1,440으로 나누면 몫 1, 나머지 10이므로 다음 날 00:10입니다. 시계 숫자는 작아져도 순서가 뒤집힌 것이 아니라 날짜가 넘어간 것이어서, 계산기는 이런 시각에 +1일을 붙이고 시각표에서도 날을 나눠 보여 줍니다. 넣어 보기

하루에 몇 번, 매일 같은 시각으로 돌아올까

하루는 1,440분이므로 하루에 놓이는 횟수는 1,440 ÷ 간격입니다. 이 값이 정수이면 날마다 같은 시각이 되풀이되고, 정수가 아니면 시각이 조금씩 밀립니다. 밀린 시각이 다시 처음 배열로 돌아오는 데 걸리는 날 수는 간격과 1,440의 최대공약수로 구합니다.

하루 횟수 = 1,440 ÷ 간격(분) · 같은 시각으로 돌아오는 주기(일) = 간격 ÷ 최대공약수(간격, 1,440)

간격하루에같은 시각으로 돌아오는 주기
6시간4번매일넣어 보기
8시간3번매일넣어 보기
1시간 30분16번매일넣어 보기
7시간약 3.4번7일넣어 보기
9시간약 2.7번3일넣어 보기
5시간4.8번5일넣어 보기
25분57.6번5일넣어 보기

7시간마다를 08:00에 시작하면 08:00, 15:00, 22:00 다음이 이튿날 05:00, 12:00, 19:00이고, 셋째 날은 02:00과 09:00입니다. 7 × 24 = 168시간이 지나야 처음과 같은 08:00이 다시 나오므로 주기가 7일입니다. 시간 단위 간격 가운데 하루를 나누어떨어지게 하는 것은 1·2·3·4·6·8·12·24시간뿐입니다.

엑셀·구글 시트로 같은 목록 만들기

엑셀과 구글 시트는 하루를 1로 다룹니다. 그래서 1시간은 1/24, 1분은 1/1,440입니다. SEQUENCE 함수는 시작값에서 일정한 크기로 늘어나는 숫자 열을 만들기 때문에, 시작값에 첫 시각을, 증가 크기에 간격을 넣으면 반복 시각 목록이 됩니다.

하려는 일식설명
09:00부터 30분 간격 19개=SEQUENCE(19,1,9/24,30/1440)셀 서식을 hh:mm으로 바꿉니다. 19행 1열로 아래로 채워집니다.
개수 구하기(A2 시작, B2 끝)=INT(ROUND(MOD(B2-A2,1)*1440,0)/30)+130은 간격(분)입니다. 끝이 시작보다 이르면 MOD가 다음 날로 계산합니다.
SEQUENCE가 없는 버전A2 9:00, A3 =A2+30/1440A3을 아래로 채우기 하면 30분씩 늘어납니다.

ROUND로 분을 정수로 맞추는 것은 소수로 저장된 시각의 아주 작은 오차가 내림(INT)에서 한 번을 빼먹지 않게 하려는 것입니다. 자정을 넘긴 값은 1보다 커지므로 hh:mm 서식에서는 00:10처럼 다시 0시부터 보입니다. 며칠째인지까지 보려면 옆 칸에 =INT(A2)를 두거나 서식을 [h]:mm으로 바꿔 24:10처럼 보이게 하세요. 시작과 끝이 같으면 MOD가 0을 돌려 개수 1이 되지만, 이 계산기는 같은 시각을 ‘다음 날 같은 시각까지’로 읽습니다.

자주 틀리는 계산

  • 칸 수를 개수로 쓰기: 9시간 ÷ 30분 = 18은 칸 수입니다. 첫 시각과 끝 시각을 모두 쓰는 시각표라면 19개입니다.
  • 예약 칸의 끝을 문 닫는 시각으로 두기: 30분짜리 상담을 18:00에 끝내려면 마지막 시작은 17:30입니다. 끝 시각을 18:00으로 두면 영업이 끝난 뒤 시작하는 칸이 하나 생깁니다.
  • 1.5시간을 1시간 50분으로 읽기: 1.5시간은 1시간 30분, 곧 90분입니다. 간격은 시간 칸 1과 분 칸 30으로 넣거나 분 칸에 90을 넣으세요.
  • 자정 뒤 시각을 그날로 적기: 23:40 다음 00:10은 다음 날입니다. 복사한 목록을 일정표에 옮길 때 +1일 표시를 지우면 날짜가 하루 당겨집니다.
  • ‘하루 3번’과 ‘8시간마다’를 같은 것으로 보기: 8시간마다는 밤에도 이어지는 간격이라 08:00이면 16:00과 00:00이 이어집니다. 깨어 있는 08:00~22:00 사이에 3번이라면 간격은 7시간입니다(08:00·15:00·22:00).

한계와 주의

  • 시각은 1분 단위이고 간격은 1분부터 24시간까지입니다. 한 번에 만드는 목록은 500개까지입니다.
  • 날짜를 받지 않으므로 요일·공휴일은 따지지 않고, 하루를 늘 24시간으로 봅니다. 서머타임이 바뀌는 날이나 시간대가 다른 지역의 시각은 따로 확인하세요.
  • 목록을 보여 줄 뿐 알림을 울리지 않습니다. 정해진 시각에 알림이 필요하면 복사한 목록을 알람이나 캘린더 앱에 넣으세요.
  • 간격이 중간에 바뀌거나 쉬는 시간이 끼는 일정은 간격이 같은 구간마다 나눠 만드세요. 쉬는 시간이 들어가는 수업 시간표는 교시 종료 시각 계산기가 더 맞습니다.
  • 입력값은 이 브라우저 안에서만 계산하고 서버로 보내지 않습니다. ‘링크 복사’를 누를 때만 조건이 주소에 담깁니다.

출처

출처 확인일: 2026년 10월 22일. 엑셀 식은 LibreOffice 26.8에서 직접 계산해 같은 시각이 나오는지 확인했습니다.

자주 묻는 질문

09:00부터 18:00까지 30분마다는 몇 번인가요?

첫 시각과 끝 시각을 모두 넣으면 19번입니다. 9시간을 30분으로 나누면 18칸이지만, 칸의 양쪽 끝에 시각이 하나씩 더 놓이므로 시각은 칸 수보다 하나 많습니다.

첫 시각을 목록에서 빼려면 어떻게 하나요?

‘첫 시각도 목록에’ 스위치를 끄세요. 그러면 첫 시각에서 간격을 한 번 더한 시각부터 목록이 시작합니다. 09:00부터 18:00까지 30분마다라면 09:30부터 18:00까지 18번이 됩니다.

1시간 30분 간격은 어떻게 넣나요?

간격의 시간 칸에 1, 분 칸에 30을 넣거나 ‘1시간 30분’ 칩을 누르세요. 분 칸에 90을 넣어도 같은 간격으로 계산합니다. 1.5를 넣으면 1시간 30분으로 읽지 않습니다.

끝 시각이 첫 시각보다 이르면 어떻게 되나요?

다음 날의 끝 시각으로 봅니다. 22:00부터 06:00까지 2시간마다는 22:00·00:00·02:00·04:00·06:00의 5번이고, 자정 뒤 시각에는 +1일이 붙습니다. 끝 시각이 첫 시각과 같으면 다음 날 같은 시각까지 만듭니다.

8시간마다는 하루에 몇 번인가요?

24시간을 8시간으로 나누면 하루 3번이고, 매일 같은 시각에 돌아옵니다. 7시간마다처럼 24시간을 나누어떨어지게 하지 않는 간격은 하루 약 3.4번이며, 시각이 날마다 밀려 7일마다 같은 시각 배열로 돌아옵니다.

끝 시각이 간격에 딱 맞지 않으면 어디까지 나오나요?

끝 시각을 넘지 않는 마지막 시각까지 나옵니다. 09:00부터 17:50까지 25분마다는 17:45가 마지막이고 22번이며, 끝 시각까지 남는 5분을 결과에 따로 보여 줍니다.

엑셀에서 30분 간격 시간 목록은 어떻게 만드나요?

=SEQUENCE(19,1,9/24,30/1440)을 넣고 셀 서식을 hh:mm으로 바꾸면 09:00부터 18:00까지 30분 간격 19개가 아래로 채워집니다. 엑셀은 하루를 1로 다루므로 9시는 9/24, 30분은 30/1440입니다.

목록은 몇 개까지 만들 수 있고, 입력값은 저장되나요?

한 번에 500개까지 만들 수 있습니다. 입력값은 브라우저 안에서만 계산하고 서버로 보내지 않으며, 링크 복사를 눌렀을 때만 조건이 주소에 담깁니다.