Uso de la función Offset en Excel

  • Compartir Este
Hugh West

Hoy me gustaría presentarles a Función OFFSET de Excel con 3 ejemplos reales.

En primer lugar, describiré la sintaxis de la fórmula y, a continuación, hablaré de cómo se puede utilizar la función OFFSET para resolver problemas en la vida real.

Introducción

La función OFFSET puede devolver una referencia a una celda (llamémosla celda objetivo) o rango (rango objetivo) que se encuentra a un número especificado de filas y columnas de distancia de otra celda (celda de referencia) o rango (rango de referencia).

La figura siguiente ilustra cómo utilizar la función OFFSET para devolver la referencia a una celda (parte izquierda) o a un rango (parte derecha).

Le dará una impresión intuitiva de lo que es una celda de destino y lo que es una celda de referencia.

La celda resaltada en verde es una celda objetivo, mientras que las celdas resaltadas en amarillo consisten en un rango objetivo.

Las celdas resaltadas en azul son celdas de referencia.

Figura 1

¿Qué significa OFFSET en Excel (sintaxis)?

Esta es la sintaxis de la función Offset: OFFSET (referencia, filas, columnas, [altura], [anchura])

Referencia Necesario. La referencia es una celda o rango de celdas a partir de la cual comienza el desplazamiento. Tenga en cuenta que las celdas deben ser adyacentes entre sí si especifica un rango de celdas.
Filas Requerido El número de filas, hacia arriba o hacia abajo, de la celda de referencia o de la celda superior izquierda del rango de referencia. Filas puede ser positivo o negativo. Mira la parte izquierda de la Figura 1, la celda objetivo será B2 si cambio la función como OFFSET (C3, -1, -1). B2 está una fila por encima de C3.
Cols Necesario. El número de columnas, a la izquierda o a la derecha, de la celda de referencia o de la celda superior izquierda del rango de referencia. Al igual que con Filas los valores de Cols también puede ser tanto positiva como negativa. ¿Cómo podemos escribir la función OFFSET si establecemos B4 como celda de referencia y C3 como celda de destino? La respuesta es OFFSET (B4, -1, 1). Aquí puedes ver que Cols es positiva y C3 está una columna a la derecha de B4.
Altura Opcional. Utilice el argumento Altura sólo si el objetivo es un rango. Indica cuántas filas incluye el rango objetivo. La altura debe ser un número positivo. Puede ver en la parte derecha de la Figura 1 que hay dos filas en el rango objetivo. Por lo tanto, establecemos Altura como 2 en ese caso.
Anchura Opcional. Utilice el argumento Anchura sólo si el objetivo es un rango (véase la parte derecha de la figura 1). Indica cuántas columnas contiene el rango objetivo. La anchura debe ser un número positivo.

Bien, permíteme mostrarte ahora cómo utilizar la función OFFSET para resolver problemas en la vida real.

Caso 1: Búsqueda de derecha a izquierda combinando las funciones OFFSET y MATCH

Es bien sabido que sólo se puede realizar una búsqueda de izquierda a derecha con la función VLOOKUP.

El valor a buscar debe colocarse en la primera columna de la matriz de la tabla.

Si desea añadir un nuevo valor de búsqueda, deberá desplazar todo el rango de la tabla una columna hacia la derecha, o bien modificar la estructura de datos si desea utilizar otra columna como valor de búsqueda.

Pero combinando OFFSET junto con la función Match, se puede eliminar la limitación de la función VLOOKUP.

¿Qué es la función MATCH y cómo podemos combinar la función OFFSET con la función Match para realizar la búsqueda?

Bien, la función Coincidir busca un elemento especificado en un rango de celdas y luego devuelve la posición relativa de ese elemento en el rango.

Tomemos como ejemplo el intervalo B3:B8 de la Figura 2.1 (que muestra los ingresos de distintos países en diferentes años).

La fórmula "=MATCH ("USA", B3:B8, 0)" devolverá 1 ya que USA es el primer elemento del rango (ver celdas B10 y C10).

Para otro rango C2:F2, la fórmula "=MATCH (2015, C2:F2, 0)" devuelve 3 ya que 2015 es el tercer elemento del intervalo (véanse las celdas B11 y C11).

Volviendo a la función OFFSET.

Si establecemos la celda B2 como celda de referencia y tomamos la celda E3 como celda de destino, ¿cómo podemos escribir la fórmula OFFSET?

E3 es 1 fila inferior a B2 y 3 columnas de la derecha a la B2.

Por lo tanto, la fórmula puede escribirse como "=OFFSET(B2, 1 , 3 )". Fíjate bien en los números en color rojo, ¿puedes comprobar que coinciden?

Esta es la respuesta a la pregunta: ¿Cómo combinar la función OFFSET con la función Match? La función Match puede aplicarse para servir como segundo o tercer argumento de la función OFFSET (véase la casilla C13).

La celda C14 muestra cómo utilizar la función VLOOKUP para recuperar los mismos datos.

Debemos saber que los ingresos de 2015 se registran en la 4ª columna de la matriz de tablas B2:F8 antes de escribir la función VLOOKUP.

Esto significa que tenemos que conocer muy bien la estructura de datos cuando utilicemos la función VLOOKUP.

Esta es otra limitación de VLOOKUP. Sin embargo, al utilizar la función MATCH como argumento de la función OFFSET, no tenemos que conocer el índice de la columna.

Esto es muy útil si hay muchas columnas.

Figura 2.1

Veamos ahora un ejemplo más complejo.

Supongamos que tenemos una tabla que contiene el nombre de la empresa, el nombre de contacto y la dirección de correo electrónico de diferentes empresas.

Y queremos recuperar el nombre de la empresa a partir de un nombre de contacto conocido u obtener un nombre de contacto a partir de una dirección de correo electrónico conocida. Qué podemos hacer?

Véase la Figura 2.2, el rango B5:E8 incluye información sobre la empresa. Introduciendo datos en las celdas C2 y B3, con la ayuda de la fórmula del recuadro rojo, puedo recuperar el nombre de la empresa si conozco el nombre del contacto.

El rango D2:E4 muestra cómo obtener un nombre de contacto con una dirección de correo electrónico conocida.

En resumen, estos dos ejemplos ilustran que podemos realizar una búsqueda de derecha a izquierda y que no es necesario colocar el valor de búsqueda en la columna situada más a la derecha. Cualquier columna de la matriz de la tabla puede contener el valor de búsqueda.

Figura 2.2

Caso 2: Automatizar el cálculo combinando las funciones OFFSET y COUNT

Antes de introducir cómo automatizar el cálculo cada vez que añadimos un nuevo número en una columna, empecemos por cómo devolver automáticamente el último número de una columna.

Observe la siguiente figura que muestra las entradas de Recursos Humanos. Supongamos que queremos obtener el último número de la columna B, la fórmula sería "=OFFSET (C2, 9 , 0)" si aplicamos la función OFFSET.

A partir de la fórmula, podemos saber que 9 es el número de la llave.

Siempre que podamos devolver este número automáticamente, podremos localizar el último número de una columna automáticamente.

9 es sólo el número de celdas que contienen números en la columna C.

Si está familiarizado con la función CONTAR, sabrá que la función CONTAR puede contar el número de celdas que contienen números en un rango.

Por ejemplo, la fórmula "=CONTAR (C3:C11)" contará el número de celdas que contienen números en las celdas C3 a C11.

En nuestro caso, nos gustaría saber cuántos números hay en una columna entera, por lo tanto, se debe utilizar una referencia como C:C que incluya todas las filas de la columna C.

Observe las celdas G4 y H4, el número devuelto por "=COUNT(C:C)" es exactamente igual a 9 .

Así, sustituyendo 9 por COUNT(C:C) en la función OFFSET anterior, podemos obtener una nueva fórmula "=OFFSET (C2, CONTAR(C:C) , 0)" (en la celda H5).

El número que devuelve es 87000 que es exactamente el último número de la columna C.

Ahora pasemos al cálculo automático. Supongamos que queremos el total de todos los números de la columna C.

La fórmula sería "=SUMA (OFFSET (C2, 1, 0, 9 , 1))" si utilizamos SUM junto con OFFSET.

9 es el número total de filas en el rango C3:C11 y también el número total de celdas que contienen números en la columna C.

Por lo tanto, podemos escribir la fórmula de una nueva forma como "=SUMA (OFFSET (C2,1, 0, COUNT (C:C), 1))".

Mira las celdas G10 y H10, el número total de salarios de estos 9 empleados es de 521.700 dólares.

Ahora, si pones un número como $34,000 en la celda C12, tanto el número en la celda G5 como en la G10 cambiarán a $34,000 y $555,700, respectivamente.

Esto es lo que yo llamo automatización, ya que no tienes que actualizar las fórmulas en las celdas G5 o G10.

Hay que tener cuidado al utilizar la función CONTAR, ya que la función CONTAR sólo devuelve el número de celdas que contienen números.

Por ejemplo, "=COUNT (B: B)" devuelve 0 en lugar de 9, ya que no hay ninguna celda en la columna B que contenga números (véanse las celdas G3 y H3).

La columna D incluye 10 celdas que contienen números y el número devuelto por "COUNT (D: D)" también es 10.

Pero si queremos recuperar el último número de la columna D como hicimos para la columna C, obtendremos el número 0 (ver celdas G8 y H8).

Obviamente, 0 no es lo que queremos. ¿Qué pasa? La celda D13 está a 11 filas de la celda D2 en lugar de a 10 filas.

Esto también puede demostrarse mediante la fórmula "=OFFSET (D2, COUNT (D: D) + 1 0)" en la celda G7.

En resumen, los números deben ser adyacentes entre sí si queremos utilizar la función CONTAR junto con la función OFFSET para permitir la automatización del cálculo.

Figura 3

Caso 3: Utilizar la función OFFSET para hacer un rango dinámico

Supongamos que queremos representar gráficamente las ventas mensuales por unidad de una empresa y la figura 4.1 muestra los datos actuales y un gráfico creado a partir de los datos actuales.

Cada mes, las ventas de unidades del mes más reciente se añadirán debajo de la última cifra de la columna C.

¿Hay alguna forma sencilla de actualizar el gráfico automáticamente?

La clave para actualizar el gráfico es utilizar la función OFFSET para crear nombres de rangos dinámicos para la columna Unidades Vendidas.

El rango dinámico para las ventas de las unidades incluirá automáticamente todos los datos de ventas a medida que se introduzcan nuevos datos.

Figura 4.1

Para crear un rango dinámico, haga clic en el botón Fórmulas y, a continuación, seleccione Nombre Gerente o Definir nombre .

Abajo Nuevo nombre si hace clic en Definir nombre .

Si elige Nombre gerente también debe hacer clic en Nuevo para hacer lo siguiente Nuevo nombre aparece el cuadro de diálogo.

Figura 4.2

En el " Nombre: ", se debe rellenar el nombre del rango dinámico. Y en la casilla de entrada " Se refiere a:" necesitamos escribir la fórmula OFFSET "=OFFSET (Figura4!$C$2, 1, 0, COUNT (!$C: $C), 1)" que generaría un rango dinámico de valores basado en los valores de Unidades Vendidas escritos en la columna C.

Por defecto, un nombre se aplicará a todo el libro de trabajo y debe ser único dentro del mismo.

Sin embargo, queremos restringir el ámbito a una hoja concreta.

Por lo tanto, elegimos aquí la Figura4 en el " Alcance: "Después de hacer clic en OK se crea el rango dinámico.

Incluirá automáticamente todos los datos de ventas a medida que se introduzcan nuevos datos.

Haga clic con el botón derecho del ratón en cualquier punto del gráfico y seleccione "Seleccionar datos".

Figura 4.3

En el Seleccionar datos Fuente, elija Serie1 y luego Edita.

Figura 4.4

A continuación, escriba "=Figura4! Unidades", como muestra la Figura 4.5.

Figura 4.5

Por último, vamos a probar y escribimos 11 en la celda C13. Puedes ver que el gráfico ha cambiado y se ha incluido el valor 11.

El gráfico cambiará automáticamente cuando se añadan nuevos datos.

Figura 4.6

Leer más...

  • Función Offset(...) en Excel con Ejemplos

Descargar archivos de trabajo

Descargue los archivos de trabajo desde el siguiente enlace.

Excel-Función Offset.rar

Hugh West es un capacitador y analista de Excel altamente experimentado con más de 10 años de experiencia en la industria. Tiene una Licenciatura en Contabilidad y Finanzas y una Maestría en Administración de Empresas. Hugh tiene una pasión por la enseñanza y ha desarrollado un enfoque de enseñanza único que es fácil de seguir y comprender. Su conocimiento experto de Excel ha ayudado a miles de estudiantes y profesionales en todo el mundo a mejorar sus habilidades y sobresalir en sus carreras. A través de su blog, Hugh comparte su conocimiento con el mundo, ofreciendo tutoriales gratuitos de Excel y capacitación en línea para ayudar a las personas y empresas a alcanzar su máximo potencial.