Pocos días atrás los usuarios de Office 365 canal mensual (pronto demás canales) disponemos de una función mejorada: COINCIDIRX o XMATCH:
= BUSCARX(valor_buscado; matriz_buscada; matriz_devuelta; [si_no_se_encuentra]; [modo_coincidencia]; [modo_búsqueda])
siendo:
Valor_buscado: El valor de búsqueda
Matriz_buscada: La matriz o rango para buscar...
Matriz_devuelta: La matriz o rango que se devolverá...
[si_no_se_encuentra]: Cuando no se encuentre una coincidencia válida, devuelva el texto indicado.
Si no se encuentra una coincidencia válida y falta este parámetro se devolverá #N/D.
[modo_coincidencia]:El tipo de coincidencia:
0: coincidencia exacta (predeterminado). Si no se encuentra ninguna, devuelve #N/D.
-1: coincidencia exacta o el siguiente elemento menor
1: coincidencia exacta o el siguiente elemento de mayor tamaño
2: coincidencia de caracteres comodín (cuando *, ? y ~ tiene un significado especial).
[modo_búsqueda]: el tipo de búsqueda:
1: Búsqueda del primero al último (predeterminado).
-1: Búsqueda del último al primero (búsqueda inversa).
2: Búsqueda binaria en orden ascendente (si no está ordenado, se devolverán resultados no válidos).
-2: Búsqueda binaria en orden descendente (si no está ordenado, se devolverán resultados no válidos).
Esta función es una 'mezcla' potente de la conocida BUSCARV / BUSCARH y de la no tanto BUSCAR... concluyendo que se convertirá pronto en la función (una de ellas) más empleada por todos los usuarios... Ya que la función BUSCARX busca elementos en una tabla o en un rango por filas; con BUSCARX podremos buscar en una columna un término de búsqueda y devolver un resultado de la misma fila en otra columna, independientemente del lado de la columna devuelto (a diferencia de BUSCARV que exige se encuentre a su derecha...).
Otro aspecto relevante de BUSCARX es que, a diferencia de BUSCARV, BUSCAR puede devolver una matriz con varios elementos!!.
Veamos algunos ejemplos.
En la imagen de nuestro listado aplicamos dos usos sencillos de búsqueda:
Vemos en G3 la fórmula:
=BUSCARX(F3;Tabla1[Empleado];Tabla1[Num empl];"no encontrado";0;1)
que localiza un dato a la izquierda del rango donde realizamos la búsqueda...
Además indicamos qué texto queremos ver (qué hacer) si no hay coincidencia exacta.
En G7 insertamos la fórmula:
=BUSCARX(F7;Tabla1[Empleado];Tabla1[[País]:[Ventas]];"-";0;1)
la cual se desborda en dos columnas automáticamente!!, ya que nuestro argumento de 'matriz_devuelta' consta de dos columnas!.
En la imagen siguiente vemos un ejemplo donde hacemos un doble uso de BUSCARX.
En este ejemplo en la celda D12 insertamos (y luego copiaremos en E12 y F12):
=BUSCARX(D$11;$B$3:$B$8;BUSCARX($C$12;$C$2:$G$2;$C$3:$G$8))
en esta función identificamos primero el texto 'CN' ('MARGEN' o 'RDI') en el rango B3:B8.
la matriz devuelta la obtenemos con BUSCARX ( BUSCARX($C$12;$C$2:$G$2;$C$3:$G$8) ), la cual realiza la búsqueda horizontal del año.
Un ejemplo más, donde podemos emplear BUSCARX como identificador de referencias, al igual que nos permitiría INDICE o incluso BUSCAR.
En la celda D16 vemos la siguiente fórmula:
=SUMA(BUSCARX(D$15;$B$3:$B$8;BUSCARX($B$16;$C$2:$G$2;$C$3:$G$8)):BUSCARX(D$15;$B$3:$B$8;BUSCARX($C$16;$C$2:$G$2;$C$3:$G$8)))
generada a partir del ejemplo previo... el cual identifica una posición dentro del rango, una celda.
En concreto para el ejemplo:
BUSCARX(D$15;$B$3:$B$8;BUSCARX($B$16;$C$2:$G$2;$C$3:$G$8))
equivaldría a la celda D3
mientras que
BUSCARX(D$15;$B$3:$B$8;BUSCARX($C$16;$C$2:$G$2;$C$3:$G$8))
equivaldría a la celda F3
todo combinado, y usando el resultado como referencia, tendríamos la SUMA(D3:F3), de manera dinámica.
= BUSCARX(valor_buscado; matriz_buscada; matriz_devuelta; [si_no_se_encuentra]; [modo_coincidencia]; [modo_búsqueda])
siendo:
Valor_buscado: El valor de búsqueda
Matriz_buscada: La matriz o rango para buscar...
Matriz_devuelta: La matriz o rango que se devolverá...
[si_no_se_encuentra]: Cuando no se encuentre una coincidencia válida, devuelva el texto indicado.
Si no se encuentra una coincidencia válida y falta este parámetro se devolverá #N/D.
[modo_coincidencia]:El tipo de coincidencia:
0: coincidencia exacta (predeterminado). Si no se encuentra ninguna, devuelve #N/D.
-1: coincidencia exacta o el siguiente elemento menor
1: coincidencia exacta o el siguiente elemento de mayor tamaño
2: coincidencia de caracteres comodín (cuando *, ? y ~ tiene un significado especial).
[modo_búsqueda]: el tipo de búsqueda:
1: Búsqueda del primero al último (predeterminado).
-1: Búsqueda del último al primero (búsqueda inversa).
2: Búsqueda binaria en orden ascendente (si no está ordenado, se devolverán resultados no válidos).
-2: Búsqueda binaria en orden descendente (si no está ordenado, se devolverán resultados no válidos).
Esta función es una 'mezcla' potente de la conocida BUSCARV / BUSCARH y de la no tanto BUSCAR... concluyendo que se convertirá pronto en la función (una de ellas) más empleada por todos los usuarios... Ya que la función BUSCARX busca elementos en una tabla o en un rango por filas; con BUSCARX podremos buscar en una columna un término de búsqueda y devolver un resultado de la misma fila en otra columna, independientemente del lado de la columna devuelto (a diferencia de BUSCARV que exige se encuentre a su derecha...).
Otro aspecto relevante de BUSCARX es que, a diferencia de BUSCARV, BUSCAR puede devolver una matriz con varios elementos!!.
Veamos algunos ejemplos.
En la imagen de nuestro listado aplicamos dos usos sencillos de búsqueda:
Vemos en G3 la fórmula:
=BUSCARX(F3;Tabla1[Empleado];Tabla1[Num empl];"no encontrado";0;1)
que localiza un dato a la izquierda del rango donde realizamos la búsqueda...
Además indicamos qué texto queremos ver (qué hacer) si no hay coincidencia exacta.
En G7 insertamos la fórmula:
=BUSCARX(F7;Tabla1[Empleado];Tabla1[[País]:[Ventas]];"-";0;1)
la cual se desborda en dos columnas automáticamente!!, ya que nuestro argumento de 'matriz_devuelta' consta de dos columnas!.
En la imagen siguiente vemos un ejemplo donde hacemos un doble uso de BUSCARX.
En este ejemplo en la celda D12 insertamos (y luego copiaremos en E12 y F12):
=BUSCARX(D$11;$B$3:$B$8;BUSCARX($C$12;$C$2:$G$2;$C$3:$G$8))
en esta función identificamos primero el texto 'CN' ('MARGEN' o 'RDI') en el rango B3:B8.
la matriz devuelta la obtenemos con BUSCARX ( BUSCARX($C$12;$C$2:$G$2;$C$3:$G$8) ), la cual realiza la búsqueda horizontal del año.
Un ejemplo más, donde podemos emplear BUSCARX como identificador de referencias, al igual que nos permitiría INDICE o incluso BUSCAR.
En la celda D16 vemos la siguiente fórmula:
=SUMA(BUSCARX(D$15;$B$3:$B$8;BUSCARX($B$16;$C$2:$G$2;$C$3:$G$8)):BUSCARX(D$15;$B$3:$B$8;BUSCARX($C$16;$C$2:$G$2;$C$3:$G$8)))
generada a partir del ejemplo previo... el cual identifica una posición dentro del rango, una celda.
En concreto para el ejemplo:
BUSCARX(D$15;$B$3:$B$8;BUSCARX($B$16;$C$2:$G$2;$C$3:$G$8))
equivaldría a la celda D3
mientras que
BUSCARX(D$15;$B$3:$B$8;BUSCARX($C$16;$C$2:$G$2;$C$3:$G$8))
equivaldría a la celda F3
todo combinado, y usando el resultado como referencia, tendríamos la SUMA(D3:F3), de manera dinámica.
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.