verticalmente verticales varios solo registros datos cumplen conjunto condiciones concatenar con como ciertas celdas excel excel-formula

verticales - concatenar varios registros en excel



Concatenar valores basados ​​en criterios (2)

Tengo una lista de dos columnas de datos en Excel. La primera columna es un número de pregunta de una prueba y la segunda columna es un número que hace referencia a lo que se está probando en esa pregunta. Algunos elementos se prueban en más de una pregunta. Lo que quiero poder hacer es enumerar los números de pregunta en los que se prueba cada elemento. Por ejemplo:

A B Should return: C D 1 Q Ref Q Ref 2 1 N1 1,3,5 N1 3 2 N4 2 N4 4 3 N1 4 N3 5 4 N3 6 5 N1

Quiero que esto se devuelva usando una fórmula.

Los problemas que tengo vuelven y luego concatenan un número no especificado de valores de una columna que hace referencia a un criterio particular para otra columna que está más a la derecha.

EDITAR: buscando una fórmula de respuesta, no VBA si es posible

EDITAR: Gracias a todos por sus comentarios hasta el momento. Echaré un vistazo a cada una de las soluciones posibles dadas hasta el momento y te haré saber a qué me refiero. El 1,2,3, etc. tendrá que estar en la misma celda.


Por naturaleza, Excel desalienta esto en fórmulas de hojas de trabajo. Supongo que se dan cuenta de que si haces esto en una Función definida por el usuario (también conocida como UDF ) y arosa un libro de trabajo, es tu culpa y así será. Con ese fin, nunca he visto una fórmula estándar o de matriz que use solo funciones nativas de la hoja de cálculo que lo lleven a cabo en una matriz de celdas "de bordes irregulares" y que haya sido probada varias veces. Considéralo #REF! por diseño.

Puede ejecutar sucesivas funciones IF (hasta 64 por xl2007 + estándares) para realizar la costura de cuerdas (vea esto ) pero también estará limitado a la longitud total de una fórmula (vea esto ). También utilizamos células "auxiliares" para ejecutar las primeras 7 IF en <= xl2003 y luego referenciamos esa celda en la primera IF de otras 7 IF anidadas (enjuague y repetición).

TLDR; En resumen, VBA es la solución más viable (ver esto ). La concatenación de cadenas condicionales está plagada de problemas por sí misma y mucho menos en un bucle de matriz.

Función CONCATENAR


Solo para poner mi comentario en una respuesta, entonces tiene más sentido.

Primero clasifique las columnas A y B en la columna B.

En C2 pon la fórmula:

=IF(B2=B3,A2&","&C3,A2)

Luego copie.

Luego, en la Columna E, coloca tu lista de referencia única. Y en D2 poner:

=VLOOKUP(E2,$B$2:$C$6,2,FALSE)

Y copia hacia abajo.

A continuación, puede ocultar la columna C.

Requiere que se ordene correctamente y una columna auxiliar, pero se ajusta a la regla de solo fórmulas.