안녕하세요, 여러분! 저는 'Wide' 형태의 사람이 읽기 쉬운 데이터를 'Long' 형태의 데이터베이스 형식으로 변환하는 흔한 문제를 해결하기 위해, Power Query를 매번 열 필요 없이 사용할 수 있는 일련의 함수형 Excel 람다를 개발해왔습니다.
=UNPIVOT_PLUS(table, [no_of_cols], [no_of_headers], [attribute_names], [value_name],
[remove_errors], [remove_blanks],[pad_blanks_with],[pad_errors_with])
전체 목록에 대해 너무 걱정하지 마세요. 대부분의 사용 사례에서는 5개의 인수만 필요합니다. 기본값 목록은 마지막에 표로 정리해 두었습니다.
병합 셀 지원: 병합된 헤더/열에 대해 채우기-아래/채우기-오른쪽 로직을 자동으로 처리합니다.
보너스 헬퍼: SPLIT_INJECT
=SPLIT_INJECT(array, target_indices, delimiter, [ignore_empty], [match_mode], [pad_with])
이 함수는 특정 열을 대상으로 하여, 구분 기호(TEXTSPLIT과 유사)로 분할하고, 다른 모든 열은 완벽하게 유지하면서 전체 테이블을 가로로 확장합니다. 선택적 인수는 TEXTSPLIT의 기본값과 일치합니다.
자유롭게 이 함수를 분석하거나 여러분의 특정 사례에 맞게 개조해 보세요. 어떻게 사용하시게 될지 정말 궁금합니다!
두 함수 모두 제 GitHub Gist 여기에서 다운로드할 수 있습니다.
| 인수 | 설명 | 기본 동작 |
|---|---|---|
| table | 언피벗할 데이터 배열 또는 범위입니다. | *필수 인수 (기본값 없음)* |
| [no_of_cols] | 식별자로 유지할 고정된 왼쪽 열의 개수입니다. | 1 |
| [no_of_headers] | 헤더로 사용되는 상단 행의 개수이며, 병합된 셀을 처리합니다. | 1 |
| [attribute_names] | 언피벗된 특성에 대한 헤더 이름입니다. | "Attribute" |
| [value_name] | 언피벗된 값에 대한 헤더 이름입니다. | "Value" |
| [remove_errors] | 수식 오류가 있는 그리드 행을 제외합니다. | FALSE |
| [remove_blanks] | 그리드의 빈 셀과 빈 문자열을 제거합니다. | TRUE |
| [pad_blanks_with] | 빈 셀을 대체할 값입니다. | 셀을 비워 둡니다. |
| [pad_errors_with] | 오류를 대체할 값입니다. | 오류를 그대로 둡니다. |