성과 가족 가구가 포함된 대규모 데이터가 포함된 테이블이 있습니다. 그리고 쉼표로 구분된 값으로 세대 이름이 뒤따르는 고유한 목록으로 가져오려고 합니다.
아래 표에서는 입력과 원하는 출력을 설명합니다.
여기에 원시 데이터가 있습니다.
가정 | 이름 |
---|---|
스미스 | 계집애 |
보이어 | 안야 |
밀러 | 케이트 |
스미스 | 남자 |
보이어 | 더그 |
보이어 | 샘 |
밀러 | 조 |
스미스 | 짐 |
보이어 | 제프 |
나는 찾았다비슷한 요청이지만 Python에 대한 것이었습니다.. Excel에서 이 작업을 수행할 수 있는 기능을 찾고 있습니다. 피벗 테이블을 시도했지만 집계를 시도하기 때문에 작동하지 않습니다.
답변1
원하는 결과를 얻는 다양한 방법 중 지금까지 제가 알고 있는 몇 가지 방법은 다음과 같습니다.
▶️ 를 사용하면 및 Power Query
에서 사용 가능Windows Excel 2010+
Excel 365 (Windows or Mac)
파워 쿼리를 사용하려면 다음 단계를 따르세요.
- 먼저 소스 범위를 테이블로 변환하고 그에 따라 이름을 지정합니다. 이 예에서는 이름을 다음과 같이 지정했습니다.
Table1
- Data다음으로 Tab --> Get & Transform Data--> Get Data--> From Other Sources--> 에서 빈 쿼리를 엽니다.Blank Query
- 위의 내용을 Power Query사용하면 이제 Home탭 --> --> 보이는 내용을 제거하여 Advanced Editor다음을 붙여넣은 후 창을 열 수 있습니다.M-CodeDone
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Household", type text}, {"Names", type text}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"Household"}, {{"Names", each Text.Combine([Names],", "), type text}})
in
#"Grouped Rows"
- 마지막으로 다시 가져오려면 Excel--> 클릭 Close & Load또는 Close & Load To--> 클릭한 첫 번째 항목은 New Sheet필요한 출력을 생성하고 후자는 결과를 어디에 배치할지 묻는 창을 표시합니다.
▶️ 사용 GROUPBY()
가능한 기능MS365
Office 참가자 버전:
=GROUPBY(A2:A10,B2:B10,ARRAYTOTEXT,,0)
▶️ 또는 LAMBDA()
도우미 기능 이용 BYROW()
--> 현재 채널에 적용 가능MS365
=LET(
_data, A2:B10,
_household, TAKE(_data,,1),
_names, UNIQUE(_household),
HSTACK(_names, BYROW(_names, LAMBDA(x, TEXTJOIN(", ",1,IF(x=_household,TAKE(_data,,-1),""))))))
▶️ 또는 를 사용하여 및 POWER PIVOT
에서 사용 가능Windows Excel 2013+
Excel 365 (Windows)
Power Pivot을 사용하려면 다음 단계를 따르세요.
- 먼저 소스 범위를 테이블로 변환하고 그에 따라 이름을 지정합니다. 이 예에서는 이름을 다음과 같이 지정했습니다.
Table_1
- 데이터에서 일부 셀을 선택하고
Insert
탭을 클릭하십시오 -> 클릭하십시오Pivot Table
-> 다음과Table/Range
같이 표시됩니다 . 또는 원하는 대로Table_1
클릭하십시오 . --> 후자인 경우 셀 위치를 선택하고 을 클릭하십시오 .New Worksheet
Existing Worksheet
Add this data the Data Model
- 오른쪽
Pivot Table
필드 창이 나타나면Table_1
창에서 을 마우스 오른쪽 버튼으로 클릭하고 선택합니다.Add Measure
- 원하는 대로 측정값 이름을 입력하고 수식 섹션에 아래 수식을 입력합니다.
=CONCATENATEX(Table_1,[Names],", ")
- 확인을 누르고 영역에 이름이 지정된 측정값 (이 예에서는 변경할 수 있음) 을 선택하여 영역
Household
에 배치합니다 .ROWS
Name-CommaSeparated
VALUES
Design
탭 에서Report Layout
을 로 변경하고Show in Tabular Form
다음을 클릭하여Grand Totals
선택Off for Rows and Columns
하면 원하는 출력을 얻을 수 있습니다.
⏩ 이후의 또 다른 대체 버전 Excel 2016+
:
=SUBSTITUTE(CONCAT(IF(D2=A$2:A$10,","&B$2:B$10,"")),",",,1)
위 수식은 이전 버전에 대해서만 편집 모드를 종료하는 동안 CTRL+ SHIFT+를 눌러야 합니다 .ENTER