Cómo utilizar la ARRAYFORMULA de Google Sheets

Como su nombre indica, ARRAYFORMULA es una función de matriz. Permite añadir fórmulas que se expandan automáticamente; se aplican a medida que se introducen nuevos datos en la hoja de cálculo. Esto significa que no tendrás que copiar y pegar fórmulas manualmente a medida que aparezcan nuevas filas de datos.

En un nivel fundamental, toma los valores de un rango de celdas y los muestra en múltiples filas y columnas. Esto significa que le permite utilizar matrices en fórmulas que normalmente no las aceptan, incluyendo SUMIF, VLOOKUP o FILTER.

Exploremos cómo funciona ARRAYFORMULA y por qué la necesitarías en tu vida.

39

Una herramienta para combinar, dividir y filtrar todos los datos de una hoja de cálculo

Descubra cómo

¿Qué es la ARRAYFORMULA?

La ARRAYFORMULA es una función de matriz ampliable. Esto significa que sólo tiene que insertar la función en una celda y, a continuación, la función se aplica automáticamente a las filas siguientes a lo largo de toda una columna.

Como resultado, puede devolver varios valores de un rango de celdas con una sola ARRAYFORMULA, en lugar de devolver un único valor de una fórmula que no sea una matriz.

google sheets arrayformula 0

Veamos la sintaxis para entender cómo funciona y cómo combinarla con otras funciones.

Sintaxis

La sintaxis de la ARRAYFORMULA es la siguiente:

=ARRAYFORMULA(array_formula)

array_formula - este parámetro puede ser:

  • una gama
  • una expresión matemática que utiliza un rango de celdas o varios rangos del mismo tamaño
  • una función que devuelve un resultado mayor que una celda

También puedes añadir la ARRAYFORMULA a una función que no sea de matriz en tu hoja de cálculo. Simplemente pulsa el atajo de teclado Ctrl/Cmd + Mayús + Intro, y Google Sheets envolverá automáticamente ARRAYFORMULA() alrededor de tu fórmula.

Como puede ver, la sintaxis de ARRAYFORMULA es más sencilla de lo esperado. Exploremos más ventajas de esta función.

¿Por qué utilizar ARRAYFORMULA en Google Sheets?

Además de ahorrar tiempo y esfuerzo manual al ofrecer una alternativa a los cálculos manuales, la ARRAYFORMULA también ofrece otras ventajas.

Veamos sólo algunas:

  • Cálculo del tamaño de los lotes: En lugar de tener que utilizar funciones similares que calculan valores individualmente, puede utilizar una única fórmula para todo su conjunto de datos, independientemente de su tamaño. Esto evita el riesgo de pesadas hojas de cálculo que contienen múltiples fórmulas en un solo cálculo.
  • Flexibilidad: Un solo cambio o modificación en cualquiera de las celdas afectará automáticamente al valor del cálculo de la ARRAYFORMULA. Esto significa que puede editar fácilmente los valores de las celdas, y cualquier valor que dependa de estas celdas se ajustará automáticamente en consecuencia.
  • Dinámico: Cuando añada una nueva fila dentro de su rango de celdas, la ARRAYFORMULA se le aplicará automáticamente, por lo que no tendrá que introducir manualmente otra función.

Aunque Google Sheets puede ofrecer “Autorrelleno sugerido” para aplicar la función al resto de tus filas, el autorrelleno no podrá ofrecer las mismas ventajas que el anterior. Por ejemplo, si modificas los valores, existe el riesgo de que la función de autorrelleno no pueda actualizar correctamente todos los datos de las celdas. Esto le dejaría con información desactualizada e inexacta.

Ahora que comprende las numerosas ventajas de utilizar la ARRAYFORMULA en los cálculos de masa, exploremos cómo utilizar la ARRAYFORMULA de Google Sheets en los siguientes ejemplos.

Cómo utilizar la ARRAYFORMULA de Google Sheets

Supongamos que soy profesor y tengo un conjunto de datos con una lista de alumnos y sus notas en diferentes proyectos. Quiero calcular la nota media de cada alumno en todos los proyectos.

Normalmente, sumaría los valores de las celdas individualmente, como se muestra a continuación:

google sheets arrayformula 1

Sin embargo, este método pronto sería problemático en dos circunstancias recurrentes:

  • Aumento de datos y fórmulas: Si decido aumentar el tamaño de los datos o utilizar más fórmulas, mi hoja de cálculo no funcionaría tan bien.
  • Actualizaciones periódicas: Cualquier modificación de mis datos implica tener que cambiar todas las fórmulas utilizadas en ellos.

Utilizando la ARRAYFORMULA, puedo sumar rápidamente los resultados de todos los alumnos, independientemente del tamaño del conjunto de datos o del número de fórmulas utilizadas. Puedo añadir, eliminar o editar contenido como desee, y la fórmula se aplicará a los datos automáticamente.

Ejemplo 1: ARRAYFORMULA básica

Siguiendo con el ejemplo anterior, para calcular los totales, puede utilizar la ARRAYFORMULA como se muestra a continuación. Observe que ahora estoy añadiendo los rangos, mientras que antes añadía celdas individuales.

Esta nueva fórmula debería ser más o menos así:

=ARRAYFORMULA(D2:D + E2:E + F2:E + G2:G)

Para que la ARRAYFORMULA funcione correctamente, asegúrese de que todas las celdas situadas debajo están vacías.

google sheets arrayformula 2

Tenga en cuenta lo siguiente: Terminando el rango de cada columna con la letra, (D2:D) puede añadir toda la columna como la matriz. Esto significa que si añade nuevas filas de datos en las columnas, la función ARRAYFORMULA se aplicará automáticamente.

Como puede ver, utilizar la fórmula básica es muy sencillo.

Ejemplo 2: IF con ARRAYFORMULA

Probablemente haya observado una secuencia de ceros al final de la columna tras aplicar la fórmula del ejemplo anterior. Puedes evitarlo añadiendo una función SI a la fórmula.

Esta sentencia IF le dice a la fórmula que deje la columna ‘Total’ en blanco si no hay ningún nombre en la columna A.

=ARRAYFORMULA(IF(A2:A””, D2:D + E2:E + F2:E + G2:G, ””))

google sheets arrayformula 3

Ahora sólo hay celdas en blanco, sin ceros, después de la última fila de datos en la columna A. Incluyamos una fila para otro estudiante después de la fila 50 para probar su naturaleza expandible.

google sheets arrayformula 4

En cuanto empiece a escribir el contenido, la última columna incluirá automáticamente un cero. Esta es una ventaja importante del uso de ARRAYFORMULA. Cuando se trabaja con un conjunto de datos que cambia a menudo, ARRAYFORMULA permite realizar cambios sin ajustar constantemente la hoja de cálculo.

Ejemplo 3: SUMIF con ARRAYFORMULA

Digamos que he agrupado a los estudiantes en 3 grupos diferentes, y quiero encontrar el total del grupo en el ‘Proyecto D’. Puedo utilizar la ARRAYFORMULA junto con la función SUMIF para obtener el total de estos 3 grupos.

La sintaxis para SUMIF y ARRAYFORMULA es:

=ARRAYFORMULA(SUMIF(rango, criterios, suma_rango))
Para este ejemplo, utilizaría la fórmula:

=ARRAYFORMULA(SUMIF(B2:B, I2:I, H2:H))

google sheets arrayformula 5

Como puede ver, ahora tengo el total de puntos por grupo para el Proyecto D, como se muestra en la columna J. Puedo utilizar esta nueva salida para calcular cualquier otra métrica de evaluación de forma rápida y eficaz.

Como antes, los ceros aparecen secuenciados después de la última celda de contenido en la columna ‘Total’. Echemos un vistazo a cómo combinar SUMIFS y ARRAYFORMULA puede ayudar a solucionar esto rápidamente, como hicimos con la sentencia IF.

Para obtener más información sobre el funcionamiento de la función SUMIF, consulte esta entrada del blog sobre Cómo utilizar la función SUMIF en Excel.

Ejemplo 4: VLOOKUP con ARRAYFORMULA

Supongamos que quiero buscar datos de rendimiento específicos de un alumno concreto. Normalmente, podría utilizar la función VLOOKUP para hacerlo. Sin embargo, tendría que introducir la función varias veces para cada criterio, ya que VLOOKUP sólo devuelve un único valor. Sin embargo, cuando combino esto con la ARRAYFORMULA, puedo encontrar múltiples valores al mismo tiempo.

La sintaxis para VLOOKUP con ARRAYFORMULA es:

=ARRAYFORMULA(VLOOKUP({búsqueda-clave#1;búsqueda-clave#2;...}, rango, índice-columna,[ordenado/no ordenado])

En este ejemplo, quiero encontrar el nombre, el apellido y los resultados de los proyectos A y B del estudiante número 10. Con ‘ID de estudiante’ como clave, utilizaría la siguiente fórmula:

=ARRAYFORMULA(VLOOKUP($A$11, $A$1:$I$52, {1,3,4,5,6}, FALSE))

google sheets arrayformula 6
Para obtener más información sobre cómo funciona la función VLOOKUP, consulte este artículo en Cómo funciona la función VLOOKUP en Google Sheets.

Ejemplo 5: FILTRO con ARRAYFORMULA

Uno de los usos más comunes al combinar FILTRO y ARRAYFORMULA es identificar duplicados. Para que funcione, necesita incorporar dos fórmulas básicas: COUNTIF y UNIQUE.

Supongamos que quiero encontrar contenido duplicado de los apellidos de los alumnos para buscar posibles parientes. Tendría que escribir la siguiente fórmula:

=FILTRO(UNIQUE(D2:D), ARRAYFORMULA(COUNTIF(D2:D, UNIQUE(D2:D))>1))

Los valores duplicados deben aparecer en la celda.
google sheets arrayformula 7

Como puede ver, ‘Dimmer’ ha aparecido en la celda. Esto significa que la fórmula encontró más de una celda en la columna ‘Apellido’ que contenía el nombre Dimmer. Esto significa que tengo dos alumnos con ese mismo apellido.

También puede utilizar esta función para encontrar y eliminar datos duplicados. Para saber más sobre cómo funcionan estas funciones individualmente, lea estas entradas del blog sobre la ÚNICO, CONSEJO y FILTRO funciones.

Ejemplo 6: Matrices horizontales

Hasta ahora, todos los ejemplos se han aplicado a matrices verticales. La ARRAYFORMULA puede utilizarse con la misma facilidad para matrices horizontales, lo que permite utilizarla independientemente de la estructura de los datos.

Calculemos el ‘Total’ de todos los proyectos de cada alumno, pero en formato horizontal. Puedo hacerlo introduciendo la siguiente fórmula:

=ARRAYFORMULA(B5:5 + B6:6 + B7:7 + B8:8)

google sheets arrayformula 8

En lugar de decirle a la función que baje por la lista (por ejemplo, de A2:A, lo que significa empezar en A2 y bajar por la columna A), le he dicho que atraviese los datos (por ejemplo, de B5:5, lo que significa empezar en B5 y atravesar la fila 5).

Haciendo este sencillo cambio, la ARRAYFORMULA funciona ahora horizontalmente. Y al igual que en el ejemplo anterior, puedo añadir una sentencia IF para deshacerme de los ceros en las columnas en blanco:

=ARRAYFORMULA(IF(B1:1””, B5:5 + B6:6 + B7:7 + B8:8, ””))

google sheets arrayformula 9

Ejemplo 7: Matrices multidimensionales

Ya ha visto utilizar la ARRAYFORMULA tanto en orientación vertical como horizontal. ¿Pero qué pasa con las tablas que incluyen ambos tipos de array? También puede utilizar la ARRAYFORMULA para estas tablas.

Aquí, he creado una tabla de multiplicar que multiplica la columna A por la fila 1, simplemente escribiendo lo siguiente:

=ARRAYFORMULA(B1:M1 * A2:A13)

google sheets arrayformula 10

Ejemplo 8: Utilización de ARRAYFORMULA para combinar columnas

La ARRAYFORMULA no sólo ayuda a calcular datos numéricos, sino que también puede ayudar a combinar texto de diferentes columnas.

Supongamos que quiero combinar las columnas ‘Nombre’ y ‘Apellidos’ para crear una columna ‘Nombre completo’. He insertado una columna para ‘Nombre completo’ para incluir la siguiente fórmula:

=ARRAYFORMULA(C2:C52 & ” “ & D2:D52)

google sheets arrayformula 11
Como puede ver, he obtenido valores de dos columnas diferentes y los he combinado en uno solo sin necesidad de hacer trabajo manual.

Tenga en cuenta lo siguiente: Esta fórmula sólo funcionará si las dos matrices tienen el mismo tamaño (por ejemplo.‘C2:C52&” “&D2:D52’). De lo contrario, Google Sheets no podrá realizar el cálculo.

Cómo añadir un nombre de columna aunque contenga una ARRAYFORMULA

A veces puede ser necesario añadir un nombre de columna sobre los datos procesados por una función ARRAYFORMULA. Nombrar las columnas correctamente es clave para la claridad y la colaboración. Afortunadamente, puede hacerlo sin alterar la estructura de datos existente.

Por ejemplo, suponga que tiene dos listas de valores numéricos en las columnas A y B, y quiere sumarlas incluyendo un nombre de columna. Para ello, puede utilizar la siguiente fórmula:

={“NOMBRE DE COLUMNA”; ARRAYFORMULA(A2:A11 + B2:B11)}

Hay que tener en cuenta algunas cosas al hacer esto:

  • Asegúrese de desplazar los rangos de celdas en ARRAYFORMULA a la fila de abajo. De lo contrario, intentará aplicar la fórmula a las cabeceras de las columnas.
  • Las llaves contienen matrices, los elementos separados por punto y coma se expandirán verticalmente. En este ejemplo, si utiliza una coma en lugar de un punto y coma, la fórmula se romperá.
google sheets arrayformula 13

¿Cómo se crea una ARRAYFORMULA en Google Sheets?

¡Y ahí lo tiene! La ARRAYFORMULA es una herramienta extremadamente potente y versátil que puede ayudarle a racionalizar significativamente los datos de su hoja de cálculo.

Utilícela para devolver múltiples valores con una sola función. Combínala también con otras funciones como IF, VLOOKUP y SUMIF para crear fórmulas avanzadas.

¿Quiere limitar el resultado de una matriz a un tamaño específico? Más información en Cómo utilizar la fórmula ARRAY_CONSTRAIN en Google Sheets.

Nota del editor: Esta es una versión revisada de un post anterior que se ha actualizado para mayor precisión y exhaustividad.

También te puede gustar...

funciones y fórmulas de google sheets

Cómo hallar el tipo de interés nominal con Google Sheets

Sarah es una joven profesional que toma importantes decisiones financieras. Desde tarjetas de crédito a hipotecas, préstamos estudiantiles e inversiones...
funciones y fórmulas de google sheets

Extraer datos de Google Calendar en Google Sheets mediante Apps Script

Este post fue publicado originalmente en nuestro foro de la comunidad. Objetivo : Esta guía muestra cómo utilizar Google Apps Script para extraer datos...
funciones y fórmulas de google sheets

Uso de la función PROPER para escribir en mayúsculas la primera letra de cada palabra en Google Sheets

Nota: Este artículo se publicó originalmente en el foro de nuestra comunidad. Alguna vez te has visto en la necesidad de limpiar una lista de nombres, títulos o cualquier...