
Me gustaría generar un "subtotal" de una tabla donde la función de subtotal es una cadena concat en lugar de alguna función numérica (recuento, suma, promedio).
Por ejemplo, considere esta tabla:
Quiero el siguiente resultado:
Para mí, esto parece una "concat" (o "unión") superada por el subtotal. Pero no creo que Excel realmente entienda la programación funcional (no importa lo que algunas personas hayan afirmado). Entonces, ¿cómo puedo hacer esto (especialmente, cómo puedo hacer esto aprovechando el elemento de menú Subtotal que inserta todas las fórmulas de subtotal automáticamente, incluso si tengo que editar las fórmulas posteriormente para obtener lo que quiero que funcione)?
Y, de hecho, Excel es muy poderoso y tiene muchísimas funciones. Entonces, ¿puedo lograr esto de alguna otra manera además del subtotal? (Preferiría soluciones sin secuencias de comandos).
Y, además, Excel no es la única herramienta en la caja de herramientas. Supongamos que tengo esta tabla en un archivo CSV. ¿Hay alguna manera de hacer esto con utilidades estándar de Unix (por ejemplo,? cut
Presumiblemente awk
podría manejarlo, ¿cómo se vería)?
Respuesta1
Puede que esta no sea la solución más elegante, pero prueba esto, basándose en el hecho de que se garantiza que Col1 estará ordenado:
Agregue una columna (C) para contener las concatenaciones acumulativas de valores de Col2. La fórmula para la celda C2 es
=IF(A2=A1, CONCATENATE(C1, ",", B2), B2)
y puedes autocompletarla para el resto de las celdas.Agregue una columna (D) para marcar las filas que contienen la concatenación máxima (la más larga), es decir, la última fila de cada valor en Col1. La fórmula para la celda D2 es
=IF(A2<>A3, TRUE, FALSE)
y puedes rellenar automáticamente el resto de las celdas.La tabla se verá así:
Filtre la tabla por
TRUE
valores en la columna D:Ahora puedes ocultar las columnas B y D: