엑셀 KPI 카드 레이아웃: WRAPROWS·VSTACK·SPARKLINE로 자동 배치

엑셀 KPI 카드 레이아웃: WRAPROWS·VSTACK·SPARKLINE로 자동 배치

엑셀 KPI 카드 레이아웃을 동적 배열 스필(#)과 WRAPROWS·VSTACK, SPARKLINE으로 표준화하면 데이터가 늘어나도 자동으로 갱신·정렬됩니다. 아래 예제는 복붙 즉시 재현됩니다.

Quick Fix: 10분 완성(4종 카드)

  1. 원본을 Ctrl+T로 테이블화(Sales).
  2. J2에 날짜별 합계 스필(Date|Revenue|Orders) 생성.
  3. K2에 KPI 4종을 WRAPROWS로 2열 카드화.
  4. L2에 Revenue/Orders SPARKLINE 생성.
  5. O2에서 VSTACK/HSTACK으로 2×2 그리드 자동 배치.

날짜별 합계 스필(J2)

=LET(
 d, SORT(UNIQUE(Sales[Date])),
 rev, MAP(d, LAMBDA(x, SUM(FILTER(Sales[Revenue], Sales[Date]=x)))),
 ord, MAP(d, LAMBDA(x, SUM(FILTER(Sales[Qty],     Sales[Date]=x)))),
 HSTACK(d, rev, ord)
)

KPI 4종 카드(K2)

=LET(
 totalRev, SUM(Sales[Revenue]),
 totalOrd, SUM(Sales[Qty]),
 aov, IF(totalOrd=0, 0, totalRev/totalOrd),
 end, TODAY(),
 cur7, SUM(FILTER(Sales[Revenue], Sales[Date] > end-7)),
 prev7, SUM(FILTER(Sales[Revenue], (Sales[Date] <= end-7)*(Sales[Date] > end-14))),
 delta, IF(prev7=0, 1, (cur7-prev7)/prev7),
 flat, {"Revenue", totalRev, "Orders", totalOrd, "AOV", aov, "7d vs prev", delta},
 WRAPROWS(flat, 2, "")
)

스파크라인(L2)

=LET(
 r, INDEX(J2#, , 2),
 o, INDEX(J2#, , 3),
 HSTACK(SPARKLINE(r), SPARKLINE(o))
)

그리드 자동 배치(O2)

=LET(
 base, KPI_Base,
 names, TAKE(base,,1),
 vals,  TAKE(base,,2),
 spark, L2#,
 VSTACK(
   HSTACK(INDEX(names,1), INDEX(vals,1), INDEX(spark,1), ""),
   HSTACK(INDEX(names,2), INDEX(vals,2), "", ""),
   HSTACK(INDEX(names,3), INDEX(vals,3), "", ""),
   HSTACK(INDEX(names,4), INDEX(vals,4), "▲/▼", "")
 )
)

Troubleshooting

증상원인해결
#SPILL!스필 충돌영역 비우기
스파크라인 비정상누락/정렬 문제pad/정렬 재확인
증감 색 미적용텍스트만 변경조건부 서식 아이콘/색 사용
숫자 서식 불일치표시 형식 미통일#,##0 / 0.0% 등 통일

맺음말

WRAPROWS·VSTACK·SPARKLINE만으로 엑셀 KPI 카드 레이아웃을 자동 배치했습니다. 다음 글은 Power Query 기초로 이어집니다.

Leave a Reply

Your email address will not be published. Required fields are marked *