Puedes evitar completamente la función de autocompletar con fórmulas de matriz. Sólo tienes que introducir la fórmula de forma normal pero añadiendo :column
al final de cada referencia de celda y luego presionar Ctrl+Mayús+Enter. La fórmula se aplicará entonces inmediatamente a todas las celdas de la columna sin arrastrar nada
Editar:
Las versiones más recientes de Excel utilizarán automáticamente las fórmulas de matriz para rellenar hacia abajo cuando haya una nueva fila de datos
A partir de la actualización de septiembre de 2018 para Office 365, cualquier fórmula que pueda devolver múltiples resultados los derramará automáticamente hacia abajo, o hacia las celdas vecinas. Este cambio en el comportamiento también viene acompañado de varias funciones nuevas de matrices dinámicas. Las fórmulas de matrices dinámicas, tanto si utilizan las funciones existentes como las funciones de matrices dinámicas, solo tienen que introducirse en una única celda y luego confirmarse pulsando Intro. Anteriormente, las fórmulas de matriz heredadas requerían seleccionar primero todo el rango de salida y luego confirmar la fórmula con Ctrl+Mayús+Enter. Son comúnmente conocidas como fórmulas CSE.
Pautas y ejemplos de fórmulas de matrices
Si estás en una versión más antigua de Excel o quieres saber más sobre las fórmulas de matrices, sigue leyendo
Por ejemplo, poner =B3:B + 2*C3:C
en D3 y Ctrl+Mayús+Enter equivale a escribir =B3 + 2*C3
y arrastrar todo el rango de salida en una tabla empezando por la fila 3
Eso es rápido de escribir, pero tiene la desventaja de que las celdas no utilizadas al final (fuera de la tabla actual) siguen siendo calculadas y muestran 0. Hay una manera fácil de ocultar los 0s . Sin embargo, la forma aún mejor es limitar el cálculo a la última columna de la tabla. Sabiendo que en una fórmula de matriz se puede utilizar X3:X101
para aplicarlo sólo a las celdas de X3 a X101 podemos utilizar la función INDIRECT
para conseguir el mismo efecto
- Introduce
=LOOKUP(2, 1/(A:A <> ""), A:A)
en alguna celda fuera de la tabla para encontrar la última celda no en blanco de la tabla y nómbrala LastRow
. Alternativamente usa =COUNTA(A3:A) + 2
cuando la primera fila de la tabla es 3
- Entonces en lugar de
B3:B
usa =INDIRECT("B3:B" & LastRow)
Por ejemplo si quieres que las celdas de la columna D contengan los productos de las celdas de B y C, y la columna E contiene las sumas de B y C, en lugar de usar D3 = B3*C3
y E3 = B3 + C3
y arrastrar hacia abajo sólo tienes que poner las siguientes fórmulas en D3 y E3 respectivamente y pulsar Ctrl+Shift+Enter
=INDIRECT("B3:B" & LastRow) * INDIRECT("C3:C" & LastRow)
=INDIRECT("B3:B" & LastRow) + INDIRECT("C3:C" & LastRow)
A partir de ahora cada vez que añadas datos a una nueva fila, la tabla se actualizará automáticamente
La fórmula de la matriz es muy rápida ya que el patrón de acceso a los datos ya es conocido. Ahora, en lugar de hacer 100001 cálculos diferentes por separado, pueden ser vectorizados y realizados en paralelo , utilizando múltiples núcleos y la unidad SIMD en la CPU. También tiene las siguientes ventajas:
- Consistencia: Si hace clic en cualquiera de las celdas desde E2 hacia abajo, verá la misma fórmula. Esa consistencia puede ayudar a garantizar una mayor precisión.
- Seguridad: No puedes sobrescribir un componente de una fórmula de matriz de varias celdas. Por ejemplo, haz clic en la celda E3 y pulsa Eliminar. Tienes que seleccionar todo el rango de celdas (E2 a E11) y cambiar la fórmula para todo el array, o dejar el array como está. Como medida de seguridad adicional, tienes que pulsar Ctrl+Mayús+Enter para confirmar el cambio de la fórmula.
- Tamaño de archivo más pequeño: A menudo se puede utilizar una sola fórmula de matriz en lugar de varias fórmulas intermedias. Por ejemplo, el libro de trabajo utiliza una fórmula de matriz para calcular los resultados de la columna E. Si hubieras utilizado fórmulas estándar (como
=C2*D2
, C3*D3
, C4*D4
…), habrías utilizado 11 fórmulas diferentes para calcular los mismos resultados.
Pautas y ejemplos de fórmulas de matrices
Para más información lea