Excel에서 고유 항목을 찾고 해당 값을 쉼표로 구분된 값으로 표시하시겠습니까?

Excel에서 고유 항목을 찾고 해당 값을 쉼표로 구분된 값으로 표시하시겠습니까?

성과 가족 가구가 포함된 대규모 데이터가 포함된 테이블이 있습니다. 그리고 쉼표로 구분된 값으로 세대 이름이 뒤따르는 고유한 목록으로 가져오려고 합니다.

아래 표에서는 입력과 원하는 출력을 설명합니다.

고유 값 및 해당 열

여기에 원시 데이터가 있습니다.

가정 이름
스미스 계집애
보이어 안야
밀러 케이트
스미스 남자
보이어 더그
보이어
밀러
스미스
보이어 제프

나는 찾았다비슷한 요청이지만 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 WorksheetExisting WorksheetAdd this data the Data Model

  • 오른쪽 Pivot Table필드 창이 나타나면 Table_1창에서 을 마우스 오른쪽 버튼으로 클릭하고 선택합니다.Add Measure

  • 원하는 대로 측정값 이름을 입력하고 수식 섹션에 아래 수식을 입력합니다.

=CONCATENATEX(Table_1,[Names],", ")

  • 확인을 누르고 영역에 이름이 지정된 측정값 (이 예에서는 변경할 수 있음) 을 선택하여 영역 Household에 배치합니다 .ROWSName-CommaSeparatedVALUES

  • 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


관련 정보