목록으로

Programming Notes

Unpivot_Toolkit: Power Query 없이 데이터 언피벗 및 병합된 셀 처리

안녕하세요, 여러분! 저는 'Wide' 형태의 사람이 읽기 쉬운 데이터를 'Long' 형태의 데이터베이스 형식으로 변환하는 흔한 문제를 해결하기 위해, Power Query를 매번 열 필요 없이 사용할 수 있는 일련의 함수형 Excel 람다를 개발해왔습니다....

안녕하세요, 여러분! 저는 '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] 오류를 대체할 값입니다. 오류를 그대로 둡니다.