2010-05-19 22 views
5

En Excel tenemos la función VLOOKUP que busca un valor en una columna en una tabla y luego devuelve un valor de una columna dada en esa tabla si encuentra algo. Si no lo hace, produce un error.Excel: ¿VLOOKUP que devuelve verdadero o falso?

¿Hay una función que simplemente devuelve verdadero o falso dependiendo de si el valor se encontró en una columna o no?

Respuesta

10

Se puede envolver su BUSCARV() en una SI.ERROR()

Editar: Antes de Excel 2007, utilice =IF(ISERROR()...)

+0

creo que quiere decir SI.ERROR() –

+1

mea culpa - mea mistypo –

+0

Gracias para la edición BradC, echaba de menos la etiqueta Excel2003 –

1

Siempre hemos utilizado un

if(iserror(vlookup,"n/a",vlookup)) 

Excel 2007 introdujo la cual IfError le permite hacer el vlookup y agregar salida en caso de error, pero eso no lo ayuda con el 2003 ...

+0

No, no: p – Svish

+0

Tan cerca de -1 .... OP fue claro, esta pregunta fue hecha para xl2003 – brettdj

+0

excepto que mi respuesta es para xl2003, con algo de información adicional acerca de xl2007 –

6

Aún tiene que envolverlo en un ISERROR , Pero se puede usar en lugar de MATCH()VLOOKUP():

Devuelve la posición relativa de un elemento en una matriz que coincide con un valor especificado en un orden especificado. Utilice MATCH en lugar de una de las funciones LOOKUP cuando necesite la posición de un elemento en un rango en lugar del elemento .

Aquí está un ejemplo completo, asumiendo que usted está buscando la palabra "clave" en un rango de celdas:

=IF(ISERROR(MATCH("key",A5:A16,FALSE)),"missing","found") 

El FALSE es necesario forzar una coincidencia exacta, de lo contrario se buscará el valor más cercano.

6

¡Solo use un COUNTIF! Mucho más rápido para escribir y calcular que las otras sugerencias.


EDIT:

usted dice celda A1 debe ser 1 si el valor de B1 se encuentra en la columna C y de lo contrario, debe ser 2. ¿Cómo hacer eso?

diría que si el valor de B1 se encuentra en la columna C, a continuación, A1 será positiva, de lo contrario será 0. Eso hace fácilmente con fórmula: =COUNTIF($C$1:$C$15,B1), lo que significa: Contar las células en el rango C1:C15 que son iguales a B1.

Puede combinar COUNTIF con VLOOKUP y IF, y eso es MUCHO más rápido que con 2 búsquedas + ISNA. IF(COUNTIF(..)>0,LOOKUP(..),"Not found")

Un poco de Google le traerá toneladas de examples.

+0

Podría dar un ejemplo fácil ? Digamos que la celda A1 debe ser 1 si el valor de B1 se encuentra en la columna C y, de lo contrario, debería ser 2. ¿Cómo lo haría? – Svish

+1

La pregunta era * ¿hay alguna función que simplemente devuelva verdadero o falso dependiendo de si el valor se encontró en una columna o no? *. Para lo cual 'COUNTIF' es la respuesta más simple. +1 – brettdj

1

que puede utilizar:

=IF(ISERROR(VLOOKUP(lookup value,table array,column no,FALSE)),"FALSE","TRUE") 
+1

-1 para proporcionar el mismo enfoque que una respuesta existente, 3 años después. – brettdj

-1

ISNA es la mejor función de su uso. Lo acabo de hacer.Quería que todas las celdas cuyo valor NO estuviese en una matriz se formateara condicionalmente para un determinado color.

= ISNA (BUSCARV ($ A2, Hoja1! $ A: $ D, 2, FALSO))

Cuestiones relacionadas