La mayoría de programas de hojas de cálculo cuentan con dos tipos de fórmulas de matriz:
"varias celdas" y "una celda". Google Docs divide estos comportamientos en las dos funciones CONTINUE y ARRAYFORMULA. Las fórmulas de matriz de varias celdas permiten que una fórmula devuelva varios valores. Puedes utilizar estas fórmulas sin estar familiarizado con ellas; basta con introducir una que devuelva múltiples valores. Por ejemplo, la función TRANSPOSE toma una matriz de celdas como argumento y devuelve las celdas transpuestas. Supongamos que A1:B3 contiene ![]() Si desciendes hasta A10 e introduces =TRANSPOSE(A1:B3), obtendrás lo siguiente: ![]() Si consultas la fórmula de la celda superior izquierda (la que muestra A), verás exactamente lo que has introducido: =TRANSPOSE(A1:B3). Si consultas las fórmulas de las celdas restantes, éstas contendrán una fórmula CONTINUE. Por ejemplo, la celda en la que aparece F contiene la fórmula =CONTINUE($A$10, 2, 3). Esto indica que la celda continúa con la salida de la celda A10 y muestra la entrada de la fila 2 y la columna 3 del resultado de dicha celda. No obstante, si la fórmula de A10 varía (o el contenido del rango original A1:B3 cambia), entonces los cambios se reflejarán en la matriz transpuesta. Y, por supuesto, puedes utilizar los resultados de la matriz transpuesta del mismo modo que los resultados de cualquier otra fórmula: para cortar y pegar, hacer que otras fórmulas dependan de celdas específicas, etc. Si introduces una fórmula en A10 que devuelve un rango mayor (por ejemplo =TRANSPOSE[A1:B6]), entonces la matriz de salida aumentará hasta completar las celdas suficientes para mostrar la nueva salida completa. Si por el contrario introduces una fórmula que devuelve un rango más pequeño (por ejemplo =TRANSPOSE[A1:B2]), entonces cualquier otra función CONTINUE más allá del resultado de la fórmula mostrará "--": ![]() Ahora supongamos que, antes de empezar, existen datos en una de las celdas que se han sobrescrito por la salida de transposición. Por ejemplo, si A12 contenía un valor cuando se editó A10: ![]() La salida de matriz completará las seis celdas al pulsar Intro en A10... ![]() ... pero aparecerá un mensaje advirtiéndote de que los datos se han sobrescrito y proporcionándote la posibilidad de no sobrescribir. Si haces clic en el vínculo "No sobrescribir", se modificará únicamente la celda que se editó al principio y el resto volverá a como era anteriormente: ![]() Las fórmulas de matriz de "una celda" te permiten escribir fórmulas con entradas de matriz (en lugar de con salidas de matriz). Al ajustar una fórmula dentro de una función =ARRAYFORMULA, puedes convertir matrices y rangos en funciones y operadores que normalmente sólo utilizan argumentos que no sean de matriz. Estas funciones y operadores se aplicarán a cada entrada de las matrices, de una en una, y devolverán una nueva matriz con todas las salidas. Por ejemplo, =ARRAYFORMULA({1,2,3} + {4,5,6}) calcula 1+4, 2+5 y 3+6, y devuelve {5,7,9}. Si introduces esta fórmula en una celda, devolverá datos de salida 5, 7 y 9 en tres celdas, utilizando las reglas de fórmula de varias celdas anterior: ![]() Por supuesto, también puedes utilizar un rango A1:C1 en lugar de {1,2,3}. Sin embargo, todas las matrices o rangos deben tener el mismo tamaño y las mismas dimensiones. Así pues, =ARRAYFORMULA(A1:C1 + A2:C2)) funcionará, pero =ARRAYFORMULA(A1:C1 + A2:Z2)) devolverá un error (la primera tiene tres columnas, mientras que la segunda tiene 26), lo mismo que =ARRAYFORMULA(A1:C1 + A2:A4)), ya que A1:C1 tiene una fila y tres columnas, y A2:A4 tiene tres columnas y una fila. El verdadero punto fuerte de ARRAYFORMULA se demuestra cuando tomas el resultado de uno de estos cálculos y lo ajustas en una fórmula que utiliza argumentos de matriz o rango: SUM, MAX, MIN, CONCATENATE, etc. Por ejemplo, dado que =ARRAYFORMULA({1,2,3} + {4,5,6}) devuelve {5,7,9}, escribir =ARRAYFORMULA(SUM({1,2,3} + {4,5,6})) es similar a escribir =SUM({5,7,9}), ya que devuelve 21. Esto permite introducir un cálculo complejo completo en una única celda, y de ahí el nombre de "fórmulas de matriz de una celda". Algunos ejemplos complejos adicionales:
|