본문 바로가기
카테고리 없음

숫자를 한 줄로 요약하기. 월간 보고 문장 자동 생성 레시피

by 시트자동화 2025. 8. 16.

month sales orders 샘플 데이터 관련 이미지
month sales orders 샘플 데이터

문장으로 설명되는 리포트 — 숫자 표는 정확하지만 누구나 바로 읽기는 어렵습니다. 월 매출과 주문 수 같은 핵심 수치를 한 줄 문장으로 자동 생성해 두시면 공유와 의사소통이 훨씬 빨라집니다. 이 글은 표시 형식과 증감 기호를 포함한 문장 템플릿을 만드는 과정을 다룹니다. 수식과 CSV만으로 그대로 따라 하실 수 있도록 샘플 데이터와 결과 파일을 함께 제공합니다.

자료 내려받기

샘플 데이터 설명 - 어떤 필드가 있나요

CSV 08_month_sales_orders_enriched.csv

컬럼 의미 예시 비고
month 기준 월 2025-07 YYYY-MM 형식
sales 월 매출 168000 정수 원 단위 권장
orders 주문 수 140 정수
MoM 전월 대비 증감률 0.12 첫 달은 공란
sentence 자동 생성 문장 2025-07 매출은 168,000원(▲12.0%)이며 주문수는 140건입니다. 표시용 문자열

TXT 08_text_report.txt

CSV의 sentence 열을 줄바꿈으로 연결한 파일입니다. 메일 본문에 그대로 붙여서 사용하시기 좋습니다.

문장 설계. 구성 요소를 먼저 정합니다

  1. 월 표시. TEXT(month, "yyyy-mm") 혹은 이미 문자열이면 그대로 사용합니다.
  2. 금액 포맷. TEXT(sales, "#,##0") 로 쉼표를 붙여 가독성을 높입니다.
  3. 증감 방향 화살표. IF(MoM>=0, "▲", "▼") 로 방향만 결정합니다.
  4. 증감률 포맷. TEXT(ABS(MoM), "0.0%") 로 절대값과 퍼센트 표시를 결합합니다.
  5. 첫 달 예외. MoM이 비어 있으면 안내 문구로 대체합니다.

복사해 쓰는 수식 - Excel 기준

-- month, sales, orders, MoM 열이 있는 표에서 sentence 열을 만든다고 가정합니다.
=LET(
  m, [@month],
  s, [@sales],
  o, [@orders],
  r, [@MoM],
  arrow, IF(r="", "", IF(r>=0, "▲", "▼")),
  rate_txt, IF(r="", "이전달 비교값 없음", arrow & TEXT(ABS(r), "0.0%")),
  m_txt, TEXT(m, "yyyy-mm"),
  s_txt, TEXT(s, "#,##0"),
  o_txt, TEXT(o, "0"),
  m_txt & " 매출은 " & s_txt & "원(" & rate_txt & ")이며 주문수는 " & o_txt & "건입니다."
)

Google Sheets용 수식

=LET(
  m, A2,            -- month
  s, B2,            -- sales
  o, C2,            -- orders
  r, D2,            -- MoM
  arrow, IF(ISBLANK(r), "", IF(r>=0, "▲", "▼")),
  rate_txt, IF(ISBLANK(r), "이전달 비교값 없음", arrow & TEXT(ABS(r), "0.0%")),
  m_txt, TEXT(m, "yyyy-mm"),
  s_txt, TEXT(s, "#,##0"),
  o_txt, TEXT(o, "0"),
  m_txt & " 매출은 " & s_txt & "원(" & rate_txt & ")이며 주문수는 " & o_txt & "건입니다."
)

첫 달 처리와 예외 상황

  • 첫 행은 전월 데이터가 없으므로 MoM을 공란으로 두고 문장에서는 안내 문구로 치환합니다.
  • 매출이 음수일 수 있는 도메인이라면 부호 표시 규칙을 문서화해 주세요. 일반 리테일에서는 0 이상이 보통입니다.
  • 주문 수가 0인데 매출이 양수라면 입력 오류일 수 있습니다. 간단한 검증 규칙으로 잡아내는 것을 추천드립니다.

문장 톤을 바꾸고 싶다면

정중체, 간결체, 경보체 등 여러 톤을 손쉽게 바꿀 수 있습니다. 아래는 두 가지 예시입니다.

-- 간결 버전
= m_txt & " " & s_txt & "원 " & IF(r="", "", "(" & arrow & TEXT(ABS(r),"0.0%") & ")") & ", 주문 " & o_txt & "건"

-- 보고서용 정중 문장
= m_txt & "의 매출은 " & s_txt & "원이며 " &
  IF(r="", "전월 비교값은 없습니다. ", "전월 대비 " & arrow & TEXT(ABS(r),"0.0%") & "입니다. ") &
  "주문 수는 " & o_txt & "건입니다."

자동 생성 결과를 빠르게 점검하기

-- 전체 행이 문장을 가졌는지
=COUNTA(sentence) = COUNTA(month)

-- 첫 행의 안내 문구 적용 여부
=LEFT(INDEX(sentence,1), 7)  -- 예시로 "2025-06" 또는 "이전달" 등 확인

-- 상승과 하락 건수
=COUNTIF(sentence, "*▲*")
=COUNTIF(sentence, "*▼*")

메일과 문서로 바로 보내는 팁

  • sentence 열만 복사하면 되지만, 월 순서가 역순으로 필요하면 정렬 후 복사해 주세요.
  • 여러 월을 한 문단으로 모으려면 TEXTJOIN(CHAR(10), TRUE, sentence범위) 로 줄바꿈을 끼워 연결합니다.
  • 보고 채널에서 특수문자 표시가 깨지면 화살표 대신 상승 하락 텍스트를 쓰는 대체 템플릿을 하나 더 준비해 두세요.

확장 아이디어

  1. 목표 대비 설명 추가. 목표 대비 증감률을 계산해 괄호 안에 두 번째 항목으로 넣을 수 있습니다.
  2. 경고 라벨. 매출이 임계 이하이거나 주문 수 급감이면 문장 끝에 알림 텍스트를 자동 부착합니다.
  3. 다국어 레이어. 월과 단위를 지역화 테이블과 연결하면 언어에 맞는 문장으로 바로 변환할 수 있습니다.

맺음말

숫자를 문장으로 바꾸는 작업은 단순해 보이지만 팀의 커뮤니케이션을 크게 줄여 줍니다. 제공된 CSV와 공식으로 기본 문장을 먼저 완성하시고, 팀 문화에 맞는 톤과 예외 처리 규칙을 조금씩 다듬어 보시기 바랍니다. 한 번 만들어 두면 월마다 반복되는 보고 업무가 몇 초로 줄어듭니다.