Anónimo
Búsqueda de valores repetidos
Necesito ayuda para encontrar en una tabla Excel los valores que se repitan ubicados en una fila y tres columnas con el resto de filas y sus tres columnas correspondientes. El resultado lo colocaría en una cuarta columna en todas las filas hasta un rango de 15000.
1 Respuesta
Respuesta
2
2
Anónimo
A ver si te vale lo siguiente:
Supongamos que la cabecera de tus datos están desde A1:D1 en la "hoja1", pues bien, inserta una fila para que te quede la fila 1 vacía.
supongamos que tienes en la columna A los nombres, B=criterio1, C=criterio2 y D=criterio3, pues en la columna E, escribe la siguiente formula:
=SI(Y(B3=B1;C3=C1;D3=D1);"OK";"")
Ahora, escribe la condición 1 en la celda B1, la condición 2 en la celda C1 y la condición 3 en la celda D1, y en la columna E te mostrará la palabra "OK" para todas las coincidencias.
Supongamos que la cabecera de tus datos están desde A1:D1 en la "hoja1", pues bien, inserta una fila para que te quede la fila 1 vacía.
supongamos que tienes en la columna A los nombres, B=criterio1, C=criterio2 y D=criterio3, pues en la columna E, escribe la siguiente formula:
=SI(Y(B3=B1;C3=C1;D3=D1);"OK";"")
Ahora, escribe la condición 1 en la celda B1, la condición 2 en la celda C1 y la condición 3 en la celda D1, y en la columna E te mostrará la palabra "OK" para todas las coincidencias.
Muchas gracias pero no me es suficiente. Necesito que cada fila en conjunto (sus tres columnas) se compare con todo el resto, no solo con la anterior.
Gracias
Gracias
Creo que no termino de entenderte, si es lo que yo creo, tendrás que poner fijos los valores de búsqueda y copiar la fórmula arrastrando hasta donde tú quieras.
La fórmula con los valores fijos de búsqueda sería la misma pero añadiendo el símbolo $, la fórmula empezaría, según el ejemplo que te digo, en la celda E3:
celda E3 =SI(Y(B3=B$1;C3=C$1;D3=D$1);"OK";"")
celda E4 =SI(Y(B4=B$1;C4=C$1;D4=D$1);"OK";"")
Etc.
Si no es eso, creo que no te entiendo lo que quieres hacer.
La fórmula con los valores fijos de búsqueda sería la misma pero añadiendo el símbolo $, la fórmula empezaría, según el ejemplo que te digo, en la celda E3:
celda E3 =SI(Y(B3=B$1;C3=C$1;D3=D$1);"OK";"")
celda E4 =SI(Y(B4=B$1;C4=C$1;D4=D$1);"OK";"")
Etc.
Si no es eso, creo que no te entiendo lo que quieres hacer.
Hola y gracias. Acabo de probar y no resulta. No me sale "OK" en ningún caso, he puesto los mismos datos en dos filas diferentes y resultado en blanco. Por cierto son datos, no condiciones, aunque supongo que dará lo mismo.
Gracias
Gracias
Te pongo un ejemplo:
Fila2 son titulos:
A2=nombre, B2=apellido, C2=segundoapellido, D2=ciudad
fila3 comienzan los datos, por ejemplo:
A3=Victor, B3=Martinez, C3=Garcia, D3=Madrid
A4=Jose, B4=Tovar, C4=Alonso, D4=Granada
...
Si ahora buscas en las siguientes celdas:
B1=martinez, C1=garcia, D1=madrid
En la columna E te debe aparecer que la fila 3 (Víctor) tiene un OK mientras que en la fila 4 no te aparecerá nada porque no coinciden los tres criterios.
Haz este pequeño ejemplo y después me comentas.
Fila2 son titulos:
A2=nombre, B2=apellido, C2=segundoapellido, D2=ciudad
fila3 comienzan los datos, por ejemplo:
A3=Victor, B3=Martinez, C3=Garcia, D3=Madrid
A4=Jose, B4=Tovar, C4=Alonso, D4=Granada
...
Si ahora buscas en las siguientes celdas:
B1=martinez, C1=garcia, D1=madrid
En la columna E te debe aparecer que la fila 3 (Víctor) tiene un OK mientras que en la fila 4 no te aparecerá nada porque no coinciden los tres criterios.
Haz este pequeño ejemplo y después me comentas.
Creo que ya se cual es el problema. Lo que necesito no es que compare uno con el resto sino los datos de todas las filas entre ellas y me diga en la cuarta columna que fila está repetida entre sí. Ejemplo:
Comenzamos en la fila 2,
A2=12345,B2=1234,C2=123
A3=98765,B3=9876,C3=987
A4=46789,B4=4568,C4=254
A5=98765,B5=9876,C5=987
Con estos datos en la columna DE en las filas 3 y 5 necesito el OK. Si solo coinciden dos criterios no debe aparecer el Ok, debe ser la fila completa.
Creo que ahora me entenderás, disculpa.
Comenzamos en la fila 2,
A2=12345,B2=1234,C2=123
A3=98765,B3=9876,C3=987
A4=46789,B4=4568,C4=254
A5=98765,B5=9876,C5=987
Con estos datos en la columna DE en las filas 3 y 5 necesito el OK. Si solo coinciden dos criterios no debe aparecer el Ok, debe ser la fila completa.
Creo que ahora me entenderás, disculpa.
Vale, ahora si te entiendo, bueno, se me ocurre solo una cosita para que no tengas que utilizar una macro para ello, ya que hay ya no te podría ayudar, así que haz lo siguiente a ver si te sirve, aunque vas a necesitar 3 columnas auxiliares, luego si quieres las escondes o le pones el texto en blanco para que no se impriman o algo similar:
En E2: =CONTAR.SI($A:$A;A2)>1
En F2: =CONTAR.SI($B:$B;B2)>1
En G2: =CONTAR.SI($C:$C;C2)>1
En D2: =SI(Y(D2=VERDADERO;E2=VERDADERO;F2=VERDADERO);"OK";"")
Ahora puedes arrastrar la fórmula hasta donde quieras para copiarla y espero que te sirva.
En E2: =CONTAR.SI($A:$A;A2)>1
En F2: =CONTAR.SI($B:$B;B2)>1
En G2: =CONTAR.SI($C:$C;C2)>1
En D2: =SI(Y(D2=VERDADERO;E2=VERDADERO;F2=VERDADERO);"OK";"")
Ahora puedes arrastrar la fórmula hasta donde quieras para copiarla y espero que te sirva.
Finaliza la pregunta y dinos si te sirvió o no la respuesta.
Perdona por la tardanza pero el trabajo...
No calcula exactamente lo que necesito, hasta ahora busca entre todos los valores dentro de la columna si se repite alguno con el seleccionado y contesta verdadero si los hay pero da un OK aunque no coincidan los valores repetidos dentro de la misma fila. Solo tiene que dar OK si los tres valores de una fila coinciden con los tres valores de otra fila, no por separado. Gracias y disculpas.
No calcula exactamente lo que necesito, hasta ahora busca entre todos los valores dentro de la columna si se repite alguno con el seleccionado y contesta verdadero si los hay pero da un OK aunque no coincidan los valores repetidos dentro de la misma fila. Solo tiene que dar OK si los tres valores de una fila coinciden con los tres valores de otra fila, no por separado. Gracias y disculpas.
Me equivoqué en una pequeña cosa, donde dije:
En D2: =SI(Y(D2=VERDADERO;E2=VERDADERO;F2=VERDADERO);"OK";"")
debe poner:
SI(Y(E2=VERDADERO;F2=VERDADERO;G2=VERDADERO);"OK";"")
y he probado el ejemplo que dices:
A2=12345,B2=1234,C2=123
A3=98765,B3=9876,C3=987
A4=46789,B4=4568,C4=254
A5=98765,B5=9876,C5=987
con los datos que yo te añado:
En E2: =CONTAR.SI($A:$A;A2)>1
En F2: =CONTAR.SI($B:$B;B2)>1
En G2: =CONTAR.SI($C:$C;C2)>1
SI(Y(E2=VERDADERO;F2=VERDADERO;G2=VERDADERO);"OK";"")
Y si que dice OK en las filas 3 y 5 ya que coinciden los tres criterios.
Si quieres me puedes dejar tu email y te paso el ejemplo.
En D2: =SI(Y(D2=VERDADERO;E2=VERDADERO;F2=VERDADERO);"OK";"")
debe poner:
SI(Y(E2=VERDADERO;F2=VERDADERO;G2=VERDADERO);"OK";"")
y he probado el ejemplo que dices:
A2=12345,B2=1234,C2=123
A3=98765,B3=9876,C3=987
A4=46789,B4=4568,C4=254
A5=98765,B5=9876,C5=987
con los datos que yo te añado:
En E2: =CONTAR.SI($A:$A;A2)>1
En F2: =CONTAR.SI($B:$B;B2)>1
En G2: =CONTAR.SI($C:$C;C2)>1
SI(Y(E2=VERDADERO;F2=VERDADERO;G2=VERDADERO);"OK";"")
Y si que dice OK en las filas 3 y 5 ya que coinciden los tres criterios.
Si quieres me puedes dejar tu email y te paso el ejemplo.
Hola, ya me había dado cuenta del error y lo había corregido pero no es la solución. Prueba con este ejemplo que es una línea más añadida al otro ejemplo y me entenderás:
A2=12345,B2=1234,C2=123
A3=98765,B3=9876,C3=987
A4=46789,B4=4568,C4=254
A5=98765,B5=9876,C5=987
A6=46789,B6=1234,C6=254
No se repite la fila 6 al completo respecto a la 4 y sale OK, solo coinciden los valores de la columna A y C pero porque el valor de la columna B está en la fila 1 responde OK.
Gracias
A2=12345,B2=1234,C2=123
A3=98765,B3=9876,C3=987
A4=46789,B4=4568,C4=254
A5=98765,B5=9876,C5=987
A6=46789,B6=1234,C6=254
No se repite la fila 6 al completo respecto a la 4 y sale OK, solo coinciden los valores de la columna A y C pero porque el valor de la columna B está en la fila 1 responde OK.
Gracias
Tienes razón, pues bien, como todo en esta vida tiene solución menos la muerte, esto también tendrá solución, PRUEBA CON ESTO:
En D2=A2&B2&C2 y copias la formula hasta donde quieras, de esta forma tendras un número único que será, en este caso de la fila 2: 123451234123
En E2=CONTAR.SI($D:$D;D2)>1 aquí te indicará "VERDADERO" si hay alguno repetido o FALSO si no está repetido.
De esta forma necesitas menos columnas y damos con la solución.
En D2=A2&B2&C2 y copias la formula hasta donde quieras, de esta forma tendras un número único que será, en este caso de la fila 2: 123451234123
En E2=CONTAR.SI($D:$D;D2)>1 aquí te indicará "VERDADERO" si hay alguno repetido o FALSO si no está repetido.
De esta forma necesitas menos columnas y damos con la solución.
- Compartir respuesta
1 comentario
Hola! Necesito algo parecido... TENGO 5 columnas, en cada una los valores son únicos (no hay repeticiones dentro de una misma columna) Pero hay valores que se repiten en 2, 3 o incluso en las 5 columnas. NECESITO una columna nueva donde salga un listado de los valores que se repiten (independientemente de las veces que se repitan, con el hecho de que se repitan al menos una vez es suficiente). No me es suficiente saber verdado o falso por el hecho de que estén duplicados. Necesito el valor.ESTOY PROBANDO con =SI.ERROR(INDICE($A$1:$A$21, K.ESIMO.MAYOR(SI.ERROR(COINCIDIR(B1:B21, $A$1:$A$21,0), ""), FILA())), "") pero aquì solo puedo comparar dos columnas y yo tengo cinco. Muchas gracias! - Rocío Bernabeu