viernes, 28 de agosto de 2015

Formula en excel: BuscarH

La función BUSCARH en Excel

La función BUSCARH en Excel busca un valor dentro de una fila y devuelve el valor que ha sido encontrado o un error #N/A en caso de no haberlo encontrado. Esta función es similar, en cierto sentido, a la función BUSCARV.

Cuando utilizar la función BUSCARH

Debemos utilizar la función BUSCARH cuando el valor que estamos buscando se encuentra en una fila de alguna tabla de datos.



Sintaxis de la función BUSCARH

La función BUSCARH tiene tres argumentos que son los siguientes:


  • Valor_buscado (obligatorio): El valor que estamos buscando.
  • Matriz_buscar_en (obligatorio): El rango que contiene los valores y que debe ser una fila.
  • Indicador_filas (obligatorio): El número de fila que contiene el valor que regresará la función.
  • Ordenado (opcional): El valor debe ser FALSO si queremos una coincidencia exacta o VERDADERO para una coincidencia aproximada.

la función BUSCARH no encuentra el valor que está siendo buscado regresará el valor de error #N/A.

Ejemplo
En la siguiente tabla tengo la información de los artículos que ha vendido cada uno de los vendedores en los últimos meses. Como título de columnas están los nombres de los vendedores y como filas los meses.




La función BUSCARH nos permite hacer una búsqueda en una fila (búsqueda horizontal) y encontrar fácilmente el valor requerido.

Video Explicativo:



Evaluacion Excel




Ordenar y filtrar datos


Filtrar:


Ordenar:



viernes, 21 de agosto de 2015

Como ordenar datos en excel

Excel nos permite ordenar la información rápidamente utilizando el comando Ordenar y filtrar, pero en ocasiones necesitamos una fórmula para ordenar datos en Excel y en esta ocasión te mostraré una alternativa para hacerlo.

Los datos que utilizaremos en nuestro ejemplo tienen una columna de texto y otra columna de números. En el primer ejemplo ordenaremos los datos por los datos numéricos y en el segundo ejemplo ordenaremos por los valores de texto.



Fórmula para ordenar datos numéricos

Para nuestro primer ejemplo haremos un ordenamiento descendente de la columna Calificación. La función que nos permitirá hacer esto de una manera sencilla será la función JERARQUIA.EQV la cual obtiene la posición de un número dentro de un rango. Es importante mencionar que esta función está disponible a partir de Excel 2010, para versiones anteriores debes utilizar la función JERARQUIA. Ahora considera la siguiente fórmula:
=JERARQUIA.EQV(B2,$B$2:$B$9)
Esta fórmula obtiene la posición del valor en B2 dentro del rango B2:B9 que para nuestro ejemplo será la posición 3, observa el resultado:


La columna Posición asigna el número 1 al valor más alto dentro del rango y a partir de ahí se enumeran todos los registros. Puedes ver que la posición 8 corresponde a la calificación 61 la cual es la más baja de todas las calificaciones. Ahora que ya tenemos las posiciones podemos ordenar los datos utilizando como referencia la columna posición y utilizando la función INDICE y la función COINCIDIR de la siguiente manera:
=INDICE($A$2:$A$9,COINCIDIR(E2,$C$2:$C$9,0))
La función INDICE obtiene un valor dentro de un rango con solo especificar su fila. Con esta fórmula estamos buscando dentro del rango A2:A9 y la fila la obtenemos al hacer coincidir el número 1 de la columna E con el número 1 de la columna C (Posición) que para nuestro ejemplo es Roberto:



Al copiar la fórmula hacia abajo obtenemos automáticamente el nombre de cada alumno de acuerdo a su posición. Para obtener el dato de la calificación usamos una fórmula idéntica a la anterior con la diferencia de que la función INDICE hará la búsqueda sobre el rango B2:B9:





Con esto hemos ordenado los datos de manera descendente utilizando una columna numérica. Si queremos hacer un ordenamiento ascendente debemos hacer un solo cambio en la función JERARQUIA.EQV de la columna Posición colocando un número 1 como el tercer argumento de la función lo cual hará que los datos se ordenen de manera ascendente. Observa la fórmula de la celda C2 y el resultado del ordenamiento en los datos:


En este caso los datos se ordenan comenzando por la calificación de menor valor hasta la de mayor valor. Así que con solo modificar el tercer argumento de la función JERARQUIA.EQV podrás controlar el tipo de ordenamiento de los datos.

Desempate de valores numéricos

Nuestro ejemplo anterior funcionó a la perfección porque no tenemos calificaciones repetidas entre los alumnos pero observa lo que sucede si Ignacio y Brenda tienen la misma calificación:


Al tener dos datos numéricos del mismo valor, la función JERARQUIA.EQV determina un empate entre ambos y les otorga la misma posición, que en nuestro ejemplo es la posición 5, pero la siguiente posición otorgada será la posición 7 saltándose la posición 6 y por lo tanto generando un error en nuestra tabla ordenada.
Para solucionar este problema utilizaré una columna auxiliar donde sumaré a cada calificación el número de fila donde se encuentran los datos. De esta manera, la calificación 77 de Sonia en la columna auxiliar tendrá un valor de 77.000002 porque se encuentra en la fila 2 de la hoja de Excel, la calificación de 72 de Ignacio tendrá un valor de 72.000003. La fórmula utilizada en la columna auxiliar será la siguiente:
=B2+0.000001*FILA()
Otro cambio que debemos hacer es modificar la fórmula de la columna Posición para que la función JERARQUIA.EQV haga el ordenamiento utilizando la columna auxiliar. El resultado es el siguiente:


Observa que nuestra tabla de datos ordenada ya no muestra el error ocasionado por la repetición de calificaciones de Ignacio y Brenda.

Fórmula para ordenar texto en Excel

Para ordenar texto en Excel utilizando fórmulas es importante recordar la manera en que la herramienta trabaja con texto especialmente al utilizar operadores de comparación. Observa la siguiente tabla de datos:


Al utilizar el operador Mayor que (>) para comparar dos textos, Excel nos responderá si el primero de ellos tiene una posición mayor dentro del alfabeto. Para la celda C2 el resultado es falso porque la letra A no está después de la letra B. Sin embargo, para la celda C3 el resultado es verdadero porque la letra Z está efectivamente después de la letra A.
Lo mejor de todo es que esta comparación funciona correctamente para palabras y lo puedes ver con los ejemplos de las últimas dos filas. El hecho de que Excel nos devuelva este resultado al comparar dos textos nos facilitará mucho el ordenamiento con fórmulas. Para llegar a la solución de ordenamiento utilizaremos la función CONTAR.SI la cual nos ayudará a contar la cantidad de cadenas de texto que se encuentran ubicadas alfabéticamente antes de otra. Considera la siguiente fórmula:
=CONTAR.SI($A$2:$A$9,"<="&A2)
La función CONTAR.SI contará todos los elementos del rango A2:A9 que sean menores o iguales que el valor de la celda A2 y de esta manera sabremos la cantidad de valores que le anteceden alfabéticamente. Observa el resultado de esta fórmula:


En nuestro ejemplo Brenda tiene la posición 1 porque la función CONTAR.SI encuentra que solo el texto de la misma celda A8 es menor o igual a Brenda. La posición 2 es para Ignacio porque Brenda e Ignacio son los valores ubicados en una posición alfabética menor o igual dentro del rango. Para generar la tabla con los datos ordenados utilizamos la misa técnica que en el ejemplo anterior con la función INDICE y COINCIDIR:


De esta manera hemos ordenado los datos de manera ascendente por la columna Nombre. Si queremos ordenarlos de manera descendente será suficiente con cambiar el operador de comparación utilizado en la condición de la función CONTAR.SI por un símbolo Mayor qué (>). En la siguiente imagen puedes ver el cambio en la fórmula lo cual ocasiona un cambio en la posición y ordenamiento de los datos:


Desempate de posiciones en valores de texto

Al igual que con los números, si tenemos dos celdas con el mismo texto tendremos un error en los datos ordenados así que debemos utilizar un criterio de desempate similar al explicado anteriormente utilizando una columna auxiliar con la siguiente fórmula:
=CONTAR.SI($A$2:$A$9,"<="&A2) + 0.000001*FILA()
Como ya vimos en el ejemplo anterior, la función CONTAR.SI nos devuelve la cantidad de elementos que preceden alfabéticamente a la celda A2 y a ese resultado le sumaremos el número de fila para asegurarnos de que sea un valor único dentro de la columna auxiliar. Para obtener la posición final utilizaremos la función JERARQUIA.EQV de la siguiente manera:
=JERARQUIA.EQV(C2,$C$2:$C$9,1)
Finalmente modificamos las fórmulas en la tabla de datos para que la función COINCIDIR consulte el resultado de la función JERARQUIA.EQV. Observa cómo se ordenan los datos de manera ascendente por la columna de texto y las dos celdas con el mismo valor aparecen juntas:







jueves, 2 de julio de 2015

Formula en excel: BuscarV

Formula BuscarV:

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.


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.

Ejemplo:

En la celda E1 colocaré el valor que deseo buscar.
En la celda E2 comienzo a introducir la función BUSCARV de la siguiente manera:
=BUSCARV(

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,

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,

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,

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)

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.

Video explicativo: