La función SI en ExcelPor Moisés Ortíz el 29 febrero, 2012
La función SI en Excel es parte del grupo de funciones Lógicas y nos permite evaluar una
condición para determinar si es falsa o verdadera. La función SI es de gran ayuda para tomar
decisiones en base al resultado obtenido en la prueba lógica.
Sintaxis de la función SI
Además de especificar la prueba lógica para la función SI también podemos especificar
valores a devolver de acuerdo al resultado de la función.
Prueba_lógica (obligatorio): Expresión lógica que será evaluada para conocer si el
resultado es VERDADERO o FALSO.
Valor_si_verdadero (opcional): El valor que se devolverá en caso de que el resultado de
la Prueba_lógica sea VERDADERO.
Valor_si_falso (opcional): El valor que se devolverá si el resultado de la evaluación es
FALSO.
La Prueba_lógica puede ser una expresión que utilice cualquier operador lógico o también
puede ser una función de Excel que regrese como resultado VERDADERO o FALSO.
Los argumentos Valor_si_verdadero y Valor_si_falso pueden ser cadenas de texto, números,
referencias a otra celda o inclusive otra función de Excel que se ejecutará de acuerdo al
resultado de la Prueba_lógica.
Ejemplos de la función SI
Probaremos la función SI con el siguiente ejemplo. Tengo una lista de alumnos con sus
calificaciones correspondientes en la columna B. Utilizando la función SI desplegaré un
mensaje de APROBADO si la calificación del alumno es superior o igual a 60 y un mensaje de
REPROBADO si la calificación es menor a 60. La función que utilizaré será la siguiente:=SI(B2>=60,"APROBADO","REPROBADO")
Observa el resultado al aplicar esta fórmula en todas las celdas de la columna C.
Utilizar una función como prueba lógica
Es posible utilizar el resultado de otra función como la prueba lógica que necesita la función
SI siempre y cuando esa otra función regrese como resultado VERDADERO o FALSO. Un
ejemplo de este tipo de función es la función ESNUMERO la cual evalúa el contenido de una
celda y devuelve el valor VERDADERO en caso de que sea un valor numérico. En este
ejemplo quiero desplegar la leyenda “SI” en caso de que la celda de la columna A
efectivamente tenga un número, de lo contrario se mostrará la leyenda “NO”.=SI(ESNUMERO(A2), "SI", "NO")
Este es el resultado de aplicar la fórmula sobre los datos de la hoja:
Utilizar una función como valor de regreso
Como último ejemplo mostraré que es posible utilizar una función para especificar el valor de
regreso. Utilizando como base el ejemplo anterior, necesito que en caso de que la celda de la
columna A contenga un valor numérico se le sume el valor que colocaré en la celda D1. La
función que me ayudará a realizar esta operación es la siguiente:
=SI(ESNUMERO(A2), SUMA(A2, $D$1), "NO")
Como puedes observar, el segundo argumento es una función la cual se ejecutará en caso de
que la prueba lógica sea verdadera. Observa el resultado de esta fórmula:
Sólo en los casos donde la función SI era verdadera se realizó la suma. De la misma manera
podríamos colocar una función para el tercer argumento en caso de que el resultado de la
prueba lógica fuera falso.
Función SI anidadaPor Moisés Ortíz el 7 febrero, 2011
La función SI es una de las funciones más utilizadas en Excel. Lo que ésta función hace es
probar si una condición es verdadera ó falsa. Si la condición es verdadera entonces la función
hace alguna cosa, y si la condición es falsa entonces se hace otra cosa diferente.
Explicación de la función SI anidada
Una función SI anidada es cuando una segunda función SI se coloca dentro de la primera de
manera que pruebe alguna condición adicional. Las funciones SI anidadas aumentan la
flexibilidad de la función al ampliar el número de posibles resultados a probar.
Supongamos que necesitamos hacer una equivalencia de una columna de letras a números
de la siguiente manera: A = 5 y B = 10. Si la celda es igual a “A” entonces el valor será 5, pero
si la celda es “B” entonces el valor será 10. Esto lo podemos resolver con la siguiente función
SI anidada:
SI(celda = "A", 5, SI(celda = "B", 10))
El resultado será el siguiente:
¿Qué pasaría si ahora en lugar de dos letras tenemos tres? Es decir, que si encontramos una
“C” debemos colocar el valor 20. La función SI anidada será la siguiente:
SI(celda = "A", 5, SI(celda = "B", 10, SI(celda = "C", 20)))
Una función SI anidada puede ayudarte a encontrar una buena solución a tu problema pero
no debes hacer un uso excesivo de esta funcionalidad.
Excel 2010 soporta hasta 64 funciones SI anidadas, pero seguramente no llegarás ni a la
mitad de esa cantidad antes de que se dificulte entender la lógica empleada en todas esas
funciones. Mientras tanto disfruta de tus funciones SI anidadas.
Cómo comparar dos listas en ExcelPor Moisés Ortíz el 16 mayo, 2012
Una tarea muy común es comparar dos listas en Excel para conocer las semejanzas o las
diferencias entre ambas listas. Aunque ya he publicado otros artículos sobre este tema, en
esta ocasión utilizaré el Formato condicional para hacer dicha comparación.
Comparar dos listas con formato condicional
Vamos a suponer las siguientes dos listas en Excel:
El primer ejemplo será conocer los elementos de la Lista 2 que están presentes en la Lista 1 y
para ello debemos seguir los siguientes pasos:
1. Seleccionar el rango de datos B2:B11
2. En la ficha Inicio pulsamos el botón Formato Condicional y seleccionamos la
opción Nueva regla.
3. Dentro de la lista de tipos de regla seleccionamos la opción Utilice una fórmula que
determine las celdas para aplicar formato.
4. En el cuadro de fórmula colocamos lo siguiente: =COINCIDIR(B2, $A$2:$A$11, 0) > 0
5. Hacemos clic en el botón Formato y seleccionamos un color de relleno.
Al momento de aplicar esta regla de formato condicional obtenemos el siguiente resultado:
Puedes observar que las celdas de la Lista 2 que tienen el fondo de color verde son
precisamente aquellos valores que también están presentes en la Lista 1. Es evidente que las
celdas que no tienen el fondo de color verde son las que no forman parte de la Lista1 sin
embargo vamos a hacer el ejemplo de ese caso en particular.
Nuestro segundo ejemplo es conocer los elementos de la Lista 2 que no están en la Lista 1.
En este segundo ejemplo seguimos los mismos pasos que en el ejemplo anterior pero
utilizamos la siguiente fórmula: =ESERROR(COINCIDIR(B2, $A$2:$A$11, 0)).
Observa el resultado de aplicar esta regla de formato condicional:
En este segundo ejemplo, las celdas que tienen el fondo de color son aquellos valores de la
Lista 2 que no están presentes en la Lista 1. Con ambos ejemplos hemos analizado los dos
casos posibles: encontrar los valores de la Lista 2 que son similares a los de la Lista 1 y
también encontrar aquellos que son diferentes.
Si quieres hacer las comparaciones tomando como referencia la Lista1 los pasos serán los
mismos que en los ejemplos anteriores a excepción de que iniciaremos seleccionando el
rango de la Lista 1 y que debemos cambiar las fórmulas utilizadas en la regla de formato
condicional de la siguiente manera:
Para encontrar valores de la Lista 1 que están presentes en la Lista 2: =COINCIDIR(A2,
$B$2:$B$11, 0) > 0
Para encontrar valores de la Lista 1 que no están en la Lista 2:
=ESERROR(COINCIDIR(A2, $B$2:$B$11, 0))
Comparar dos listas utilizando fórmulas
Otro método que ya he presentado con anterioridad para comparar dos listas en Excel es
utilizar solamente fórmulas de Excel. Para conocer más detalle de este método consulta el
artículo Comparar listas en Excel.
Comparar dos listas con la consolidación de datos
Un tercer método que puedes utilizar para comparar dos listas en Excel es a través de la
consolidación de datos. La ventaja de este método es que no solamente puedes comparar dos
listas sino que se puedes comparar tres o más listas. Lee todo el detalle sobre este método en
el artículo Comparar listas consolidando datos.
Cualquiera de los tres métodos que he presentado hoy te ayudará a comparar dos listas en
Excel y conocerás fácilmente sus similitudes y diferencias.
Comparar listas consolidando datosPor Moisés Ortíz el 14 octubre, 2011
En artículos anteriores he mostrado alternativas para comparar listas en Excel pero hoy
mostraré una técnica que es muy conveniente especialmente si tienes más de dos listas. La
técnica que utilizaré en este artículo hace uso del comando Consolidar.
Preparar datos a consolidar
Supongamos que tenemos una hoja de Excel con la lista de clientes del mes de Septiembre y
en otra hoja diferente tenemos los clientes del mes de Octubre. A los clientes de Septiembre
les agregaré una nueva columna que especificará el número de la lista:
Haré lo mismo con la lista de clientes que se encuentra en la hoja de Octubre pero colocaré el
número 2 para diferenciarla de la primera lista.
Consolidar los datos
El siguiente paso es pulsar el comando Consolidar que se encuentra dentro de la
ficha Datos y el cual mostrará el cuadro de diálogo siguiente:
Debes especificar el rango de ambas listas y dejar la función SUMA seleccionada. Al pulsar el
botón Aceptar obtendremos el siguiente resultado.
Ahora solo resta interpretar los números que aparecen en la columna Lista que han sido
consolidados. Aquellos clientes que en la columna Lista tengan el valor 1 son porque que
aparecen solamente en la primera lista. Aquellos que tienen el valor 2 son porque aparecen
solo en la segunda lista y solamente aquellos que tienen el valor 3 son porque aparecen en
ambas listas.
Haciendo uso de las matemáticas podemos encontrar las diferencias y concordancias entre
cualquier cantidad de listas.
Comparar tres listas en Excel
Por ejemplo, para comparar tres listas solo es necesario asignar a la tercera lista el número 4.
Esto se debe a que el valor “3” ya tiene un significado especial y que quiere decir que un
elemento pertenece a la lista 1 y a la lista 2. Teniendo en cuenta que asignamos el número 4 a
la tercera lista podríamos interpretar los datos de la siguiente manera.
1 = solo en la lista 1
2 = solo en la lista 2
3 = en ambas listas 1 y 2
4 = solo en la lista 3
5 = en ambas listas 1 y 3
6 = en ambas listas 2 y 3
7 = en todas las listas
De acuerdo a estos valores podríamos suponer que para comparar 4 listas deberíamos
asignar a la cuarta lista el número 8 y después hacer todas las combinaciones posibles para
interpretar los datos consolidados, pero eso lo dejaré de tarea para ti.
Consolidar datos en ExcelPor Moisés Ortíz el 19 agosto, 2011
Imagina que después de recopilar la información sobre las ventas de nuestros productos en
diferentes países tenemos un libro de Excel donde cada hoja tiene la información de un mes
en específico.
Necesito consolidar la información en una sola hoja para poder crear mi reporte, pero ¿cómo
puedo hacerlo de una manera sencilla? Para consolidar datos en Excel tenemos el
comando Consolidar que nos ayuda a obtener el resultado deseado de una manera fácil.
Supongamos que la información de las 3 hojas de Excel es la siguiente.
Comando Consolidar en Excel
Para consolidar los datos crearé una nueva hoja y haré clic en el botón Consolidar que se
encuentra en la ficha Datos dentro del grupo Herramientas de datos.
Se mostrará el cuadro de diálogo Consolidar en donde se deberá especificar cada uno de los
rangos de las diferentes hojas. Puedes hacer clic en el botón de selección de referencia para
seleccionar los rangos fácilmente.
Una vez especificada la referencia se debe pulsar el botón Agregar. De la misma manera se
deben agregar cada una de las hojas hasta tener todas las referencias enlistadas. Finalmente
debo marcar los cuadros de selección de rótulos en la Fila superior y en Columna Izquierda de
manera que los datos sean presentados adecuadamente.
Al pulsar el botón Aceptar, Excel realizará la consolidación de los datos y los colocará en la
nueva hoja de Excel.
De esta manera la información que antes estaba en diferentes hojas de Excel ha
sido consolidada correctamente en una sola hoja.
La función BUSCARV en ExcelPor Moisés Ortíz el 26 enero, 2012
La función BUSCARV en Excel nos permite buscar un valor dentro de un rango de datos, es
decir, nos ayuda a obtener el valor de una tabla que coincide con el valor que estamos
buscando. Un ejemplo sencillo que podemos resolver con la función BUSCARV es la
búsqueda dentro de un directorio telefónico.
Si queremos tener éxito para encontrar el teléfono de una persona dentro del directorio
telefónico de nuestra localidad debemos tener el nombre completo de la persona.
Posteriormente habrá que buscar el nombre dentro del directorio telefónico para entonces
obtener el número correcto.
Crear una tabla de búsqueda
Para poder utilizar la función BUSCARV debemos cumplir con algunas condiciones en
nuestros datos. En primer lugar debemos tener la información organizada de manera vertical
con los valores por debajo de cada columna. Esto es necesario porque la función BUSCARV
recorre los datos de manera vertical (por eso la “V” en su nombre) hasta encontrar la
coincidencia del valor que buscamos.
Por ejemplo, nuestro directorio telefónico debería estar organizado de la siguiente manera:
Otra condición que forzosamente debemos cumplir es que la primera columna de nuestros
datos debe ser la columna llave, es decir, los valores de esa columna deben identificar de
manera única a cada una de las filas de datos. En este ejemplo la columna Nombre servirá
como la columna llave porque no hay dos personas que se llamen igual.
Algo que debemos cuidar con la tabla de búsqueda es que si existen otras tablas de datos en
la misma hoja de Excel debes dejar al menos una fila en blanco por debajo y una columna en
blanco a la derecha de la tabla donde se realizará la búsqueda. Una vez que la tabla de
búsqueda está lista podemos utilizar la función BUSCARV.
Sintaxis de la función BUSCARV
La función BUSCARV tiene 4 argumentos:
Valor_buscado (obligatorio): Este es el valor que se va a buscar en la primera columna
de la tabla. Podemos colocar el texto encerrado en comillas o podemos colocar la
referencia a una celda que contenga el valor buscado. Excel no hará diferencia entre
mayúsculas y minúsculas.
Matriz_buscar_en (obligatorio): La tabla de búsqueda que contiene todos los datos
donde se tratará de encontrar la coincidencia del Valor_buscado.
Indicador_columnas (obligatorio): Una vez que la función BUSCARV encuentre una
coincidencia del Valor_buscado nos devolverá como resultado la columna que indiquemos
en este argumento. El Indicador_columnas es el número de columna que deseamos
obtener siendo la primera columna de la tabla la columna número 1.
Ordenado (opcional): Este argumento debe ser un valor lógico, es decir, puede ser falso
o verdadero. Con este argumento indicamos si la función BUSCARV realizará una
búsqueda exacta (FALSO) o una búsqueda aproximada (VERDADERO). En caso de que
se omita este argumento o que especifiquemos una búsqueda aproximada se recomienda
que la primera columna de la tabla de búsqueda esté ordenada de manera ascendente
para obtener los mejores resultados.
Ejemplo de la función BUSCARV
Para probar la función BUSCARV con nuestra tabla de búsqueda ejemplo que contiene
información de números telefónicos seguimos los siguientes pasos:
1. En la celda E1 colocaré el valor que deseo buscar.
2. En la celda E2 comienzo a introducir la función BUSCARV de la siguiente manera:
=BUSCARV(
3. Hago clic en la celda E1 para incluir la referencia de celda e introduzco una coma (,) para
concluir con el primer argumento de la función:
=BUSCARV(E1,
4. Para especificar el segundo argumentos debo seleccionar la tabla de datos sin incluir los
títulos de columna. Para el ejemplo será el rango de datos A2:B11. Una vez especificada
la matriz de búsqueda debo introducir una coma (,) para finalizar con el segundo
argumento:
=BUSCARV(E1,A2:B11,
5. Como tercer argumento colocaré el número 2 ya que quiero que la función
BUSCARV me devuelva el número de teléfono de la persona indicada en la celda E1.
Recuerda que la numeración de columnas empieza con el 1 y por lo tanto la columna
Teléfono es la columna número 2. De igual manera finalizo el tercer argumento con una
coma (,):
=BUSCARV(E1,A2:B11,2,
6. Para el último argumento de la función especificaré el valor FALSO ya que deseo hacer
una búsqueda exacta del nombre.
=BUSCARV(E1,A2:B11,2,FALSO)
Observa el resultado de la función recién descrita:
Una ventaja de haber colocado el valor buscado en la celda E1 es que podemos modificar su
valor para buscar el teléfono de otra persona y la función BUSCARV actualizará el resultado
automáticamente.
Errores comunes al usar la función BUSCARV
Si la columna llave no tiene valores únicos para cada fila entonces la función
BUSCARV regresará el primer resultado encontrado que concuerde con el valor buscado.
Si especificamos un indicador de columna mayor al número de columnas de la tabla
obtendremos un error de tipo #REF!
Si colocamos el indicador de columna igual a cero la función BUSCARV regresará un
error de tipo #VALOR!
Si configuramos la función BUSCARV para realizar una búsqueda exacta, pero no
encuentra el valor buscado, entonces la función regresará un error de tipo #N/A.
La función BUSCARV es una de las funciones más importantes en Excel. Es necesario que
dediques tiempo para aprender correctamente su uso y verás que podrás sacar mucho
provecho de esta función.
La función BUSCARV con datos de otra hoja
Por Moisés Ortíz el 29 noviembre, 2012
Es una buena práctica almacenar nuestros datos en una hoja de Excel y utilizar una hoja
diferente para consultar los datos a través de fórmulas. Sin embargo, no es tan intuitivo ni fácil
para muchas personas saber cómo utilizar la función BUSCARV con datos de otra hoja.
En la siguiente imagen podrás observar que tengo información de clientes en la hoja llamada
Datos:
Lo que necesito hacer es consultar esta tabla de datos desde la hoja Consultas de manera
que al introducir un ID Cliente pueda obtener el nombre de dicho cliente utilizando la función
BUSCARV.
Configurar la tabla de búsqueda
La manera más sencilla de utilizar la función BUSCARV con datos de otra hoja es crear
una tabla de Excel con nuestros datos. Para hacerlo debes seleccionar el rango de celdas con
los datos y pulsar el botón Tabla de la ficha Insertar.
Excel creará la nueva tabla y le asignará un nombre. En la imagen superior puedes ver que el
nombre de nuestra tabla es Tabla1. Este nombre lo puedes cambiar para describir mejor los
datos de la tabla, pero para este ejemplo dejaré el nombre creado por Excel.
Obtener datos de otra hoja
Para obtener los datos de otra hoja debemos utilizar la tabla recién creada como el rango de
búsqueda de la función BUSCARV. Considera la siguiente fórmula:=BUSCARV(A2, Tabla1, 2,FALSO)
La función BUSCARV realizará una búsqueda del valor en la celda A2 sobre la Tabla1 y
regresará la segunda columna de dicha tabla. El cuarto argumento en FALSO indica que se
realizará una búsqueda exacta. Ahora observa el resultado de utilizar esta función:
Para que esta fórmula funcione con las celdas inferiores será suficiente con copiarla hacia
abajo. En la siguiente animación podrás observar cómo se muestra el nombre del cliente de
acuerdo al ID Cliente capturado en la columna A:
Valores no encontrados
Si la función BUSCARV no encuentra un valor mostrará el error #N/A. Podemos utilizar la
función SI.ERROR para evitar desplegar el mensaje de error y en su lugar mostrar un mensaje
diferente:
Para saber un poco más sobre cómo utilizar la función SI.ERROR junto con la función
BUSCARV consulta el artículo: Combinar la función BUSCARV y SI.ERROR.
Combinar la función BUSCARV y SI.ERRORPor Moisés Ortíz el 21 febrero, 2012
La función BUSCARV es una de las funciones más utilizadas en Excel por lo que es muy
probable que hayas visto el error #N/A cuando la función no ha encontrado el valor que estás
buscando. Hoy veremos una opción para mostrar un mensaje de error más amigable.
La función BUSCARV en Excel
Hemos visto en artículos anteriores cómo la función BUSCARV nos ayuda a encontrar un
valor dentro de una tabla de datos. Pero ¿qué sucede cuando la función BUSCARV no
encuentra una coincidencia exacta? Observa cómo la función regresa un error del tipo #N/A:
La función SI.ERROR en Excel
La función SI.ERROR fue introducida desde Excel 2007 y es de mucha utilidad cuando
queremos detectar si una función nos ha devuelto un mensaje de error.
En nuestro ejemplo no deseamos ver el mensaje de error #N/A sino que deseamos desplegar
el mensaje “Nombre no encontrado” en caso de que la función BUSCARV no encuentre el
Nombre especificado en la celda E1. Para alcanzar nuestro objetivo utilizamos la función
SI.ERROR de la siguiente manera:
La función SI.ERROR solamente tiene dos argumentos, el primero es el valor o expresión
que va a evaluar, que para nuestro ejemplo es la función BUSCARV, y el segundo
argumento es el valor que regresará en caso de que el primer argumento devuelva un error.
En nuestro ejemplo la función BUSCARV no ha encontrado el nombre “Dana” por lo que
regresa el error #N/A pero la función SI.ERROR se da cuenta de ello y no deja que se
despliegue la leyenda #N/A sino que sabe que le hemos indicado que muestre el mensaje
“Nombre no encontrado”.
Por el contrario, si la función BUSCARV ha encontrado el valor que estaba buscando
entonces la función SI.ERROR no tienen ningún efecto en el resultado. Observa el siguiente
ejemplo donde busco el nombre “Diana” el cual sí es encontrado en la lista:
La función SI.ERROR nos ayuda a personalizar los mensajes de error de cualquiera de las
funciones de Excel incluyendo a la función BUSCARV.
BUSCARV en varias hojas de ExcelPor Moisés Ortíz el 26 febrero, 2013
Generalmente recomiendo consolidar los datos en una sola hoja de Excel antes de utilizar la
función BUSCARV, pero si por alguna razón esto no es posible y necesitas utilizar la
función BUSCARV en varias hojas de Excel, entonces considera alguna de las alternativas
que mostraré en este artículo.
Como sabemos, la función BUSCARV devuelve el error #N/A cuando no encuentra el valor
que se está buscando, es por eso que la primer solución propuesta es la siguiente: Utilizar la
función BUSCARV en la primera hoja, si obtenemos un error, entonces buscar en la segunda
hoja. Si volvemos a obtener un error, entonces buscamos en la tercera hoja y así
sucesivamente.
La función SI.ERROR
Para saber si la función BUSCARV ha devuelto un error podemos utilizar la función
SI.ERROR que está disponible desde la versión de Excel 2007. El primer argumento de la
función SI.ERROR es el valor que será evaluado y su segundo argumento es la acción a
tomar en caso de obtener un error. Si deseamos realizar la búsqueda en dos hojas, entonces
nuestra implementación seguirá la siguiente lógica:
Esta no es la sintaxis de la fórmula, solo estoy ilustrando que el primer argumento de la
función SI.ERROR será la búsqueda sobre la primera hoja y como segundo argumento
haremos la búsqueda sobre la segunda hoja. El segundo argumento solo será ejecutado en
caso de que la primera búsqueda resulte en error. Si en lugar de realizar la búsqueda sobre
dos hojas necesitamos buscar en tres hojas, entonces necesitamos saber si la búsqueda
sobre la segunda hoja nos devuelve un error y para eso volvemos a utilizar la función
SI.ERROR lo cual nos lleva a tener una anidación de funciones de la siguiente manera:
Ahora hagamos un ejemplo para probar que nuestra lógica de solución propuesta funciona
correctamente al buscar en varias hojas.
Función BUSCARV en varias hojas
En la siguiente imagen puedes observar tres tablas, cada una en hojas diferentes, que
contienen una columna con el código de un libro y su título.
Como primer ejemplo haremos una búsqueda sobre las primeras dos tablas. En una nueva
hoja realizaré la búsqueda del título de un libro en base a su código el cual colocaré en la
celda B1 y para ello utilizaré la siguiente fórmula:
=SI.ERROR(BUSCARV(B1,Hoja1!A2:B6,2,FALSO), BUSCARV(B1,Hoja2!A2:B6,2,FALSO))
Lo más importante a resaltar de esta fórmula es el rango de búsqueda especificado en ambas
funciones BUSCARV. En ambas funciones hago la referencia precisa hacia la hoja donde
deseo que se realice la búsqueda. Observa el resultado obtenido al aplicar esta fórmula a los
datos:
Si por el contrario busco un código de producto que no existe en ninguna de las primeras dos
tablas, entonces obtendré como resultado el error #N/A:
Ahora consideremos en nuestra búsqueda la información de la tercera hoja la cual contiene
más códigos de producto. Para ampliar nuestra búsqueda a esa tercera hoja debo utilizar de
nueva cuenta la función SI.ERROR como parte del segundo argumento de la primera función
SI.ERROR de la siguiente manera:
=SI.ERROR(BUSCARV(B1,Hoja1!A2:B6,2,FALSO), SI.ERROR(BUSCARV(B1,Hoja2!
A2:B6,2,FALSO), BUSCARV(B1,Hoja3!A2:B6,2,FALSO)))
Con esta modificación nuestra búsqueda se extiende a la tercera hoja y podremos saber si el
código de producto buscado se encuentra en ella:
Si quisiéramos incluir una cuarta hoja en la búsqueda solo debemos utilizar de nueva cuenta
la función SI.ERROR para validar los resultados de la tercera hoja y en caso de obtener un
error volver a buscar en la cuarta hoja. Como sabemos, Excel 2007 y 2010 nos permiten
anidar hasta 64 funciones por lo que ese sería el máximo de hojas que podríamos incluir
utilizando este método.
Sin embargo, no te recomiendo llegar hasta ese límite ya que con solo agregar una o dos
funciones anidadas más a nuestro ejemplo la fórmula incrementaría su complejidad y cada
vez se volvería más difícil descubrir cualquier error. En caso de que necesites hacer
búsquedas sobre una gran cantidad de hojas te recomiendo utilizar una macro ya que eso
evitará la elaboración de una fórmula más compleja.
Buscar en varias hojas con una macro
La segunda alternativa que tenemos para buscar en varias hojas de Excel es utilizar
una función definida por el usuario. Solo debemos ejecutar la función VLOOKUP (BUSCARV)
en cada una de las hojas del libro sobre el rango especificado:123456789101112131415161718
Function BUSCARVMultiple(Valor_buscado As Variant, Matriz_buscar_en As Range, _ Indicador_columnas As Integer, Optional Ordenado As Boolean)
On Error Resume Next
For Each Hoja In ActiveWorkbook.Worksheets Matriz = Hoja.Range(Matriz_buscar_en.Address) Encontrado = WorksheetFunction.VLookup _ (Valor_buscado, Matriz, _ Indicador_columnas, Ordenado)
If Not IsEmpty(Encontrado) Then Exit ForNext Hoja
Set Matriz = NothingBUSCARVMultiple = Encontrado
End Function
A continuación haré una explicación breve de este código. Los argumentos de la función
BUSCARVMultiple son los mismos argumentos que utiliza la función BUSCARV comenzando
por el valor buscado, la matriz de búsqueda, la columna que deseamos como resultado y
finalmente el argumento ordenado.
En la línea 6 del código se inicia el recorrido por cada una de las hojas del libro y en la línea 7
obtenemos la dirección del rango sobre el cual se realizará la búsqueda. De inmediato
ejecutamos la función VLOOKUP con los argumentos correspondientes y almacenamos el
resultado en la variable Encontrado. Es importante recordar que en VBA las funciones de
Excel deben ser invocadas por su nombre en inglés y por esa razón usamos la instrucción
WorksheetFunction.VLookup.
Finalmente en la línea 12 validamos si la variable Encontrado tiene algún valor. Si la variable
no está vacía quiere decir que la función VLOOKUP encontró un resultado y por lo tanto
terminamos la búsqueda. De lo contrario el ciclo se vuelve a repetir y continuamos la
búsqueda en la siguiente hoja del libro. En la siguiente imagen puedes observar que la función
recién implementada nos devuelve el mismo resultado que nuestra solución anterior la cual
utilizaba funciones de Excel:
Ahora ya conoces dos posibles soluciones para aquellos casos en los que necesites utilizar la
función BUSCARV en varias hojas de Excel. Descarga el libro de trabajo que contiene la
alternativa de solución utilizando funciones de Excel, así como la alternativa de solución
utilizando la macro y continúa experimentando con el ejemplo.