Cuando tenemos una lista con muchas filas encontrar visualmente un datos puede se engorroso y lento. Supongamos que tenemos una lista de productos como muestra la imagen inferior. Supongamos que esa lista tiene 1000 filas con 999 productos. Si queremos saber la descripción, precio, etc. del producto x tendrermos que buscarlo recorriendo la lista con la barra de desplazamiento vertical hasta visualizarlo. Pero podemos crear una sencilla fórmula que funcione como un buscador de productos mediante el número de producto. También puede hacerse dando la descripción, precio, etc...
Nuestra lista puede encontrarse en el rango A1:G1000 o cualquier otro. La primera fila la dejamos para los encabezados de columna: número de producto, descripción, precio, proveedor, stock, velocidad, y categoria o cualquiera otra que se nos ocurra...
Lo que pretendemos hacer es utilizar una celda en blanco para escribir un número cualquiera de producto para que Excel lo encuentre en la lista y muestre todos los datos del producto. La imagen siguiente ilustra lo que pretendemos hacer.
La celda L2 estará en blanco hasta que escribamos un número cualquiera de producto. El rango L4:L9 contendrá seis fúrmulas que devolveran los datos que indican las etiquetas correspondientes. En la imagen probamos con el producto 7 y obtenemos los datos correspondientes...
La fórmula que debemos escribir en la celda L4 puedes verla en la imagen siguiente. Sólo tenemos que utilizar la función buscarV, la cual devuelve un valor de una celda de una columna del rango o matriz de datos. El primer parámetro de la función es el valor que deseamos encontrar, es decir la referencia a la celda L2 donde debemos escribir el número de producto que queremos buscar. El segundo parámetro es la matriz, lista o rango de datos, en nuestro caso A$2:G$1000. El tercer parámetro es la columna del rango, es decir si queremos encontrar la descripción esta se encuentra en la columna 2 del rango, el precio en la columna 3 y así sucesivamente. Debe quedar claro que la columna no se refiere a la letra de las columnas de la hoja sino a la columna del rango ya que este puede encontrase en cualquier parte de la hoja...
Si cuando introduzcas la fórmula aparece el mensaje #N/A se debe a que la ceda L2 está vacia y por tanto la fucnión no sabe que tiene que encontrar y devuelve ese mensaje de error. Más adelante veremos como controlar ese molesto mensaje...
MEJORAS:
Si lo has comprendido hasta aquí puedes seguir leyendo para introducir algunas mejoras...
El mensaje #N/A aparece en tres situaciones:la celda L2 está vacia, la celda L2 contiene un valor que no es numérico, la celda contiene un número de código de producto que no existe...
La imagen siguiente muestra lo que ocurre cuando introducimos un código que no existe.
Vamos a modificar la fórmula para que cuando se introduzca un código que no existe Excel nos advierta de la no existencia de datos para ese código, como muestra la imagen siguiente...
Existe una función muy interesante para tratar errores del tipo #N/A: si.error(expresión;si error)
La función "si.error" permite ejecutar una acción en caso de que una expresión devuelva error. Los parámetros de la función son: la expresión que se va ejecutar y la acción en caso de que la expresión devuelva error #N/A.
Puedes ver la fórmula para la celda L4 en la imagen siguiente...
El mensaje puede cambiarse para cada una de las 6 fórmulas...
Pero #N/A también aparece cuando la L2 está en blanco o L2 contiene un texto. Lo que queremos ahora es que las celdas L4 a L9 no muestren nada cuando se den alguna de las dos posibilidades anteriores...
La imagen siguiente muestra lo que pretendemos...
Para ello vamos a utilizar la función si(expresión;verdadero;falso), la función esblanco(referencia) y la función estexto(referencia)...
- La función esblanco(ref.) devuelve verdadero si la ref. está en blanco (vacía).
- La función estexto(ref.) devuelve verdadero si la ref. es un texto.
Así que nuestra lógica será la siguiente: si la celda L2 está en blanco o es un texto dará como resultado "" es decir, nada. En caso contrario ejecutaremos la función si.error...
La imagen siguiente muestra la fórmula que buscamos...
Recuerda que la función si puede evaluar una expresión con varias condiciones lógicas con O u Y entre paréntesis...
Si no lo comprendes te sugiero que comiences por estudiar la función si.