En septiembre de 2018, se publican fórmulas de matriz dinámica para Excel en Office 365.
Las diferencias entre las matrices dinámicas y las fórmulas Ctrl + Mayús + entrar (CSE) heredadas se describen a continuación.
Fórmulas de matriz dinámica:
Puede "derrame" fuera de los límites de la celda donde se escribe la fórmula.
En el ejemplo siguiente se muestra la función MATRIZALEAT en B10.
=MATRIZALEAT(5;2)
La función MATRIZALEAT, va a crear una matriz desbordada de 5 filas por dos columnas, que se derrama en B10: C14 o 5 filas por 2 columnas.
La fórmula de matriz dinámica técnicamente solo existe en la celda B10, mientras que, con una fórmula de CSE heredada, es necesario escribir la fórmula en todo el rango.
Podemos ver las llaves de apertura, y, de cierre, recordar que estas llaves se poner de manera automática, no podemos ponerla nosotros.
Por ejemplo, la función ALEATORIO devolverá un único resultado, por lo que, si desea que varios números aleatorios se devuelvan a la cuadrícula, podemos usar la función MATRIZALEAT.
Por ejemplo, la siguiente expresión, nos devuelve un numero aleatorio, entre 0 y 1.
=ALEATORIO()
La siguiente función, también, nos devuelve un numero entre 0 y 1, le estamos diciendo que nos genera una matriz de una fila, y, una columna.
=MATRIZALEAT(1;1)
Pero, si quiere en vez de un número, 10 número en vertical, solo he de cambiar el argumento filas, de la función MATRIZALEAT, y, poner 10, cosa que no podemos hacer con la función ALEATORIO.
=MATRIZALEAT(10;1)
Con la función SECUENCIA, podemos crear una matriz desbordada con el numero de filas, y, de columnas que le indiquemos.
Por ejemplo, si escribo la siguiente expresión, me va a generar una matriz desbordada de 10 numero, empezando por el numero 1, y yendo, de 1 en 1.
=SECUENCIA(10;1)
Las funciones de fila y columna devolverán la fila y la columna de la celda de origen.
Por ejemplo, me voy a colocar en la celda A7, y, voy a usar la función FILA.
Vemos que nos devuelve el numero de fila, que es la 7.
Pues, yo puedo usar la función FILA, como argumento filas de la función SECUENCIA.
=SECUENCIA(FILA();1)
Vemos que nos devuelve una matriz desbordada de 7 filas, empezando por el numero 1, hasta el número 7.
Si cambio el argumento columnas, de la función SECUENCIA, estando en la celda A7,a 3, me creara una matriz de siete filas de alto, y, tres columnas de ancho.
=SECUENCIA(FILA();3)
Todas las fórmulas nuevas que devuelvan más de 1 resultado se producirán automáticamente. No es necesario presionar Ctrl + Mayús + entrar.
Las fórmulas de matriz de CSE se conservan por razones de compatibilidad. En el futuro, debería usar fórmulas de matrices dinámicas.
Cuando las celdas de una fórmula de matriz de CSE heredada dependen unas de otras, Excel intentará calcular cada una por separado en lugar de como una matriz.
Este comportamiento se llamaba "dividir difiere" y, en determinadas circunstancias, las fórmulas calculadas de esta manera podrían producir resultados incoherentes.
Para evitar la posibilidad de que se produzcan resultados incoherentes, le recomendamos que use fórmulas independientes en lugar de confiar en la división de CSE.
Las fórmulas de matriz dinámica no se desagruparán. En su lugar, informarán de la referencia circular para que pueda resolverla.
Se puede modificar fácilmente modificando la celda de origen, mientras que las fórmulas de matriz de CSE requieren que se edite todo el intervalo simultáneamente.
La inserción o eliminación de columnas y filas está prohibida en un rango de fórmulas de matriz CSE activa. Primero debe eliminar las fórmulas de matriz existentes que se encuentren en la forma.
Comentarios