¿Encontrar valores únicos y mostrar los valores correspondientes como valores separados por comas en Excel?

¿Encontrar valores únicos y mostrar los valores correspondientes como valores separados por comas en Excel?

Tengo una tabla con datos grandes que contienen apellidos y hogares familiares. Y estoy tratando de incluirlos en una lista única seguida de los nombres conocidos como valores separados por comas.

La siguiente tabla explica las entradas y la salida deseada.

Valores únicos y columnas correspondientes

Aquí están los datos sin procesar.

Familiar Nombres
Herrero jane
boyero Anya
Molinero kate
Herrero John
boyero doug
boyero Sam
Molinero José
Herrero Jim
boyero jeff

Encontré unsolicitud similar pero fue para Python. Estoy buscando algo en Excel que pueda hacer esto. Probé la tabla dinámica pero no funciona, ya que intenta agregarla.

Respuesta1

Hay muchas formas de lograr el resultado deseado. Aquí hay algunas formas que he conocido hasta ahora:

▶️ Usando Power Query, disponible en Windows Excel 2010+yExcel 365 (Windows or Mac)

ingrese la descripción de la imagen aquí


Para utilizar Power Query siga los pasos:

  • Primero convierta los rangos de origen en una tabla y asígnele el nombre correspondiente; para este ejemplo lo he nombrado comoTable1

  • A continuación, abra una consulta en blanco desde DataTab --> Get & Transform Data--> Get Data--> From Other Sources-->Blank Query

  • Lo anterior permite que Power Queryse abra la ventana, ahora desde HomeTab --> Advanced Editor--> Y pega lo siguiente M-Codeeliminando lo que veas, y presionaDone

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"

ingrese la descripción de la imagen aquí


  • Por último, para volver a importarlo a Excel--> Haga clic en Close & Loado Close & Load To--> El primero que hizo clic creará un archivo New Sheetcon el resultado requerido, mientras que el segundo mostrará una ventana que le preguntará dónde colocar el resultado.

▶️ Uso de GROUPBY()la función disponible enMS365 Versión de Office Insiders:

ingrese la descripción de la imagen aquí


=GROUPBY(A2:A10,B2:B10,ARRAYTOTEXT,,0)

▶️ O bien, usar LAMBDA()la función auxiliar BYROW()--> Aplicable al canal actualMS365

=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),""))))))

▶️ O, Usando POWER PIVOT, disponible en Windows Excel 2013+yExcel 365 (Windows)

ingrese la descripción de la imagen aquí


Para utilizar Power Pivot sigue los pasos:

  • Primero convierta los rangos de origen en una tabla y asígnele el nombre correspondiente; para este ejemplo lo he nombrado comoTable_1

  • Seleccione alguna celda en sus datos y haga clic en InsertTab -> Haga clic en Pivot Table--> Se Table/Rangemostrará como Table_1, Haga clic en New Worksheeto Existing Worksheetsegún su elección, --> Si es último, seleccione la ubicación de la celda y haga clic en Add this data the Data Model.

  • A la derecha Pivot Tableaparece el panel de campos, haga clic derecho Table_1en el panel y seleccioneAdd Measure

  • Ingrese el nombre de la medida según su elección e ingrese la siguiente fórmula en la sección de fórmula:

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

  • Presione Aceptar, seleccione Householdy colóquelo en ROWSÁrea mientras la Medida nombrada como Name-CommaSeparated(usada en este ejemplo, puede cambiarla) en VALUESÁrea.

  • Desde Designla pestaña cambie Report Layouta Show in Tabular Form, luego haga clic Grand Totalsy seleccione Off for Rows and Columnsy obtendrá el resultado deseado.

⏩ Otra versión alternativa para Excel 2016+adelante:

ingrese la descripción de la imagen aquí


=SUBSTITUTE(CONCAT(IF(D2=A$2:A$10,","&B$2:B$10,"")),",",,1)

La fórmula anterior debe presionar CTRL+ SHIFT+ ENTERal salir del modo de edición solo para versiones anteriores.


información relacionada