En Excel, ¿cómo verifico si una celda está en una lista de valores (un rango de celdas)


88

Tengo un rango (A3: A10) que contiene nombres, y me gustaría comprobar si el contenido de otra celda (D1) coincide con uno de los nombres de mi lista.

He nombrado el rango A3: A10 'algunos_nombres', y me gustaría una fórmula de Excel que me dé Verdadero / Falso o 1/0 dependiendo del contenido.

Respuestas:


92

= COUNTIF (algunos_nombres, D1)

debería funcionar (1 si el nombre está presente; más si hay más de una instancia).


¿Cómo puedo modificar la fórmula para que funcione en el caso de que some_namescontenga 2 columnas, y también en lugar de D1 tengo D1: E1?
user1993

66

Mi respuesta preferida (modificada de Ian) es:

=COUNTIF(some_names,D1)>0

que devuelve VERDADERO si D1 se encuentra en el rango some_names al menos una vez, o FALSO de lo contrario.

(COUNTIF devuelve un número entero de cuántas veces se encuentra el criterio en el rango)


26

Sé que el OP declaró específicamente que la lista provenía de un rango de celdas, pero otros podrían tropezar con esto mientras buscan un rango específico de valores.

También puede buscar valores específicos, en lugar de un rango utilizando la MATCHfunción. Esto le dará el número donde esto coincide (en este caso, el segundo lugar, entonces 2). Devolverá # N / A si no hay coincidencia.

=MATCH(4,{2,4,6,8},0)

También podría reemplazar los primeros cuatro con una celda. Pon un 4 en la celda A1 y escribe esto en cualquier otra celda.

=MATCH(A1,{2,4,6,8},0)

1
Muy agradable. No olvide agregar "comillas" si su valor no es un número (me llevó un par de intentos resolverlo).
dav

1
Lamentablemente, no puede usar esto en formato condicional :(
StarWeaver

Seguro que puede. Con Excel 2007 y versiones posteriores, puede usar la función IFERROR. = IFERROR (MATCH (A1, {2,4,6,8}, 0), 0) Luego, puede hacer su formateo condicional en si esa celda = 0 o> 0, lo que prefiera.
RPh_Coder

66
=OR(4={2,4,6,8})
Slai

Esta respuesta es clara que la solución devuelve # N / A, eso es cierto. Pero parece inútil: no puede usar # N / A en una cláusula if, por lo que no puede decir IF (MATCH (4 {2,3}, 0), "yay", "boo") ... la respuesta es # N / A no "boo"
GreenAsJade

18

Si desea convertir el countif en alguna otra salida (como boolean) también puede hacer:

= IF (COUNTIF (algunos_nombres, D1)> 0, VERDADERO, FALSO)

¡Disfrutar!


3
La ayuda VERDADERO y FALSO indica lo que necesita ser reemplazado
Darcys22

8

Para la variedad, puede usar MATCH, por ejemplo

=ISNUMBER(MATCH(D1,A3:A10,0))


4

hay un pequeño truco ingenioso que devuelve Boolean en caso de que el rango se some_namespueda especificar explícitamente como en "purple","red","blue","green","orange":

=OR("Red"={"purple","red","blue","green","orange"})

Tenga en cuenta que esto NO es una fórmula de matriz


En realidad, es una fórmula de matriz. Lo que no es es una matriz ingresada fórmula ;-)
robinCTS

2

Puede anidar --([range]=[cell])en una IF, SUMIFSo COUNTIFSargumento. Por ejemplo, IF(--($N$2:$N$23=D2),"in the list!","not in the list"). Creo que esto podría usar la memoria de manera más eficiente.

Alternativamente, puede ajustar un ISERRORalrededor de un VLOOKUP, todo envuelto alrededor de una IFdeclaración. Al igual, IF( ISERROR ( VLOOKUP() ) , "not in the list" , "in the list!" ).


0

Versión de fórmula de matriz (ingrese con Ctrl + Shift + Enter):

=OR(A3:A10=D1)

Esto funciona. Creo que recibió un voto negativo porque el votante negativo no sabía cómo ingresar una fórmula de matriz ... debería verse como {= OR (R34: R36 = T34)} después de ingresarlo, si lo ingresó
correctamente

-1

En situaciones como esta, solo quiero que me avisen de posibles errores, así que resolvería la situación de esta manera ...

=if(countif(some_names,D1)>0,"","MISSING")

Luego copiaría esta fórmula de E1a E100. Si un valor en la Dcolumna no está en la lista, recibiré el mensaje FALTA pero si el valor existe, obtendré una celda vacía. Eso hace que los valores faltantes se destaquen mucho más.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.