☰ Categories

Write requirements for a spreadsheet macro

Pins down ranges, branches, and exception handling before any code is written.

CategoryOffice work › Spreadsheets
TagsQuestion generationAnalyzingOffice workerSpreadsheet
Prompt
Help me write the requirements for a macro. ***Do not write code yet.***

Work out:
1. Target — which sheet and range, and whether the range changes each time.
2. Procedure — the steps in the order a person does them.
3. Branches — what to do in exceptional cases.
4. Result — what ends up where, and whether the original is overwritten.
5. How often it runs, and who runs it.

Rules:
- **Where my description leaves something out, ask. Do not fill it in.**
- **Ask specifically about exceptions** — blanks, duplicates, format errors. *This is where macros break, and it is always what the requester forgot to mention.*
- Once the requirements are settled, say what is still undecided before code could be written.
- Note anything irreversible, since a macro applies it faster than a person can stop it.
After pasting, fill in the fields at the bottom (The task · How I do it now)

What this prompt does

Macros break on the exceptional cases nobody mentioned. This asks about blanks, duplicates, and format errors up front and withholds code until the requirements are settled.

Real outputs by model

Read full answers

We gave three models the same input and copied their answers unedited. Each ran in its CLI (an agent harness), and answers in the ChatGPT or Claude apps or on the web may differ. Outputs are in Korean.

Input used
The task: 매달 지점 20곳에서 보내주는 매출 엑셀 파일을 하나로 합쳐서 피벗까지 만드는 작업

How I do it now: 파일을 하나씩 열어서 복사-붙여넣기로 취합 시트에 옮기고, 다 합친 뒤 피벗 테이블을 새로 만듦. 지점마다 컬럼 순서가 조금씩 달라서 매번 눈으로 확인하고 있음
gpt-5.6-luna (codex CLI · 에이전트 하네스) · Run on 2026-09-24

현재 요구사항은 다음과 같이 이해했습니다.

  • 매달 20개 지점의 매출 엑셀 파일을 하나로 취합한다.
  • 현재는 파일을 하나씩 열어 취합 시트에 복사·붙여넣기한다.
  • 지점별로 열 순서가 달라 매번 눈으로 맞춘다.
  • 취합 후 피벗 테이블을 새로 만든다.
  • 아직 코드는 작성하지 않는다.

요구사항을 확정하려면 아래 내용을 알려주세요.

1. 대상 파일과 범위

  1. 지점 파일은 매달 어떤 폴더에 모이나요? 매달 폴더가 바뀌나요?
  2. 파일 형식은 모두 .xlsx인가요? 파일명에 지점명이나 월 정보가 포함되나요?
  3. 각 파일에서 읽어야 하는 시트 이름은 같나요?
  4. 실제 매출 데이터의 시작 행과 끝 행은 어디인가요?
  5. 열 이름은 지점마다 같은가요? 서로 다른 열 이름도 있나요?
  6. 지점별 열 순서만 다른 것인가요, 아니면 없는 열이나 추가 열도 있나요?
  7. 매크로가 실행될 때마다 대상 파일 수와 데이터 행 수가 달라지나요?
  8. 매크로를 실행하는 파일 안에 취합 시트와 피벗 시트가 이미 있나요? 시트 이름을 정해야 하나요?

2. 사람이 현재 하는 절차

현재 사람이 하는 순서를 구체적으로 확인하고 싶습니다.

  1. 파일을 여는 순서는 정해져 있나요?
  2. 각 파일에서 헤더 행을 확인한 뒤 열을 표준 순서로 재배치하나요?
  3. 지점명, 매출월 등 파일에 없는 정보를 사람이 추가하나요?
  4. 데이터를 취합 시트의 기존 데이터 아래에 계속 붙이나요?
  5. 취합 전에 기존 취합 데이터를 삭제하나요, 아니면 누적하나요?
  6. 모든 파일을 취합한 뒤 피벗 테이블에서 어떤 필드를 행·열·값·필터로 사용하나요?
  7. 피벗 테이블은 기존 것을 새로 고치나요, 아니면 매번 삭제 후 새로 만드나요?

3. 예외 상황

아래 상황마다 어떻게 처리해야 하는지 정해야 합니다.

  • 빈 파일 또는 데이터가 없는 파일이 있을 때
  • 중간에 빈 행이 있을 때
  • 필수 셀이 빈칸일 때
  • 매출 금액이 빈칸이거나 숫자가 아닌 문자일 때
  • 날짜가 날짜 형식이 아닐 때
  • 지점명이 파일명과 데이터 안에서 서로 다를 때
  • 같은 지점 파일이 두 개 이상 있을 때
  • 동일한 매출 행이 중복되어 있을 때
  • 열 이름이 다르거나 오탈자가 있을 때
  • 필수 열이 누락되었을 때
  • 예상하지 못한 추가 열이 있을 때
  • 열 순서가 다른 정도가 아니라 열 구조 자체가 다를 때
  • 파일이 열리지 않거나 암호가 걸려 있을 때
  • 20개보다 적거나 많은 파일이 발견될 때
  • 이미 해당 월 데이터를 취합한 뒤 매크로를 다시 실행할 때

각 경우에 대해 중단하고 사용자에게 알림, 해당 파일만 제외하고 계속, 자동 보정, 그대로 취합 중 어떤 동작을 원하는지 정해주세요.

4. 결과

  1. 표준 열 순서는 어떻게 되나요?
  2. 취합 결과는 기존 취합 시트를 완전히 덮어쓰나요, 아니면 기존 데이터에 추가하나요?
  3. 취합 데이터에 반드시 포함해야 할 추가 열이 있나요? 예: 지점명, 파일명, 취합월.
  4. 피벗 테이블은 어느 시트와 어느 위치에 만들까요?
  5. 피벗의 행, 열, 값, 필터 필드는 무엇인가요?
  6. 피벗 값은 매출 합계인가요? 건수, 평균 등 다른 집계도 필요한가요?
  7. 기존 피벗의 서식, 필터, 열 너비를 유지해야 하나요?
  8. 오류나 제외된 파일 목록을 별도 로그 시트에 남길까요?

5. 실행 방식과 사용자

  1. 매크로는 매월 사용자가 버튼을 눌러 실행하나요, 아니면 파일을 열 때 자동 실행하나요?
  2. 실행자는 한 명인가요, 여러 명인가요?
  3. 실행자는 파일을 선택할 수 있어야 하나요, 정해진 폴더를 자동으로 읽으면 되나요?
  4. 실행 전 월을 직접 입력하나요, 아니면 파일명이나 폴더명에서 자동으로 판단하나요?
  5. Excel 사용 환경은 Windows인가요, Mac인가요? Excel 버전도 알려주세요.

6. 되돌릴 수 없는 동작

특히 다음 동작은 원본을 덮어쓸 수 있으므로 결정이 필요합니다.

  • 기존 취합 시트 데이터 삭제
  • 기존 피벗 테이블 삭제 또는 갱신
  • 중복 데이터 제거
  • 열 이름이나 숫자·날짜 형식 자동 변환
  • 원본 파일에 변경 내용을 저장

원본 지점 파일은 읽기만 하고 절대 수정하지 않는 것이 맞나요? 또한 매크로 실행 전에 기존 취합 데이터와 피벗을 백업하거나, 실행 확인창을 띄워야 하나요?

위 질문에 답해주시면, 그 답을 바탕으로 확정된 요구사항과 아직 결정되지 않은 항목을 구분해 정리하겠습니다.

More in this category

Analyse Énergétique avec DJU, Consommation et Coûts
Betting Prediction
Black Magic Mantra: Unleashing Creativity and Innovation
Build conditional formatting rules
Reconcile two tables whose numbers disagree