Funciones de matriz dinámica de Excel

La función de matriz dinámica de Excel introducida en el canal "Insider" de Office 365 a finales de 2018, y que está previsto que se haga pública para todos los usuarios de Office 365 en 2020, afecta de forma significativa a la forma en que las funciones adicionales de complementos (como todas las funciones de @RISK: RiskNormal, RiskUniform, etc.) aparecerán y se comportarán en diversas circunstancias. Es importante señalar que todas las funciones personalizadas de todos los proveedores de complementos están sujetas a estas mismas reglas.

Aunque @RISK en sí mismo no utiliza matrices dinámicas en sus funciones, los cambios que Microsoft introdujo para apoyarlos sí los afectan indirectamente. Estos cambios se centran en lo que ocurre cuando un modelo creado en Excel DA (Dynamic Array por sus siglas en inglés) se abre en Excel SA (Standard Array por sus siglas en inglés), o viceversa. Para la gran mayoría de las situaciones, esto puede considerarse de naturaleza cosmética, aunque en algunos casos los resultados pueden ser confusos.

Para facilitar los debates siguientes se utilizarán las siguientes abreviaturas:

  • Excel DA – Una versión de Excel que soporta la nueva característica funciones de matriz dinámicas (DA- Dynamic Array por sus siglas en inglés).
  • Excel SA – Una versión de Excel que sólo soporta las antiguas funciones matriz estándar (SA – Standard Array por sus siglas en inglés).
  • Función matriz CSE – Una función matriz no dinámica que utiliza el método de entrada "Ctrl-Shift-Enter".

El símbolo @

El símbolo "@" (sin comillas) se utiliza en Excel DA para indicar que una función debe utilizar lo que se denomina "intersección implícita". Una discusión detallada de la intersección implícita está más allá del alcance de lo que se puede abarcar aquí, pero tenga en cuenta que Excel a veces precede automáticamente a las funciones de @RISK con el símbolo @. Esto forma parte de sus complicados esfuerzos por mantener la compatibilidad entre Excel DA y Excel SA.

Tengan en cuenta estos dos principios:

  1. Si Excel ha preparado automáticamente una función @RISK con el símbolo @, no tiene ningún efecto en el comportamiento matemático del modelo.
  2. No es necesario que un usuario de @RISK añada el símbolo @ antes de cualquier función de @RISK en un modelo. Si se añade el símbolo, el único impacto que tendrá es en cómo aparecerá esa función si y cuando ese modelo se abra más tarde en Excel SA.

Modelos creados en Excel SA y abierto en Excel DA

Para un modelo creado originalmente en Excel SA y luego abierto más tarde en Excel DA, Excel precederá automáticamente el símbolo @ para todas las funciones de @RISK que no sean de matriz. Así, un modelo que originalmente se veía así en el Excel SA:

Figura 1 - Funciones de @RISK - Excel con funciones de matriz estándar

aparecerá en Excel DA como:

Figura 2 - Funciones de @RISK - Excel con funciones de matriz dinámica

Los símbolos @ no tienen ningún impacto en ninguna de las funciones de @RISK.

Modelos creados en Excel DA y abiertos en Excel SA

Para un modelo creado en Excel DA y posteriormente abierto en Excel SA, Excel cambiará automáticamente todas las funciones @RISK que no tengan un prefijo @ en matrices CSE de una sola celda. Así, un modelo que originalmente se ve así en Excel DA:

Figura 3 - Funciones de @RISK - Excel con funciones de matriz dinámica

se verá así en Excel SA (note los refuerzos alrededor de la función resaltada que indican la presencia de una matriz CSE):

Figura 4 - Funciones de @RISK CSE - Excel con funciones de matriz estándar

@RISK ha sido modificado para soportar las funciones de matriz CSE de esta naturaleza, así que de nuevo esto puede ser considerado como cosmético.

Modelos de ejemplo de @RISK

Con el fin de crear un único conjunto de modelos de ejemplo que sean compatibles tanto con Excel DA como con Excel SA, todos los modelos de ejemplo de @RISK se escribieron en Excel SA. Por lo tanto, el prefijo @ aparecerá en todas las funciones de @RISK de esos modelos.

Utilizando matrices dinámicas en modelos de @RISK

Mientras que las funciones de @RISK en sí mismas no hacen uso de las funciones de matriz dinámica, otras funciones de matriz dinámica pueden ser usadas en un modelo de @RISK. Sin embargo, una posible complicación es la función de Análisis de sensibilidad inteligente de @RISK.

El análisis de sensibilidad inteligente permite excluir de los resultados de sensibilidad las entradas que no tienen una conexión funcional con la salida que se está analizando, eliminando así los ruidos extraños y también las entradas que podrían tener una fuerte correlación, pero no una relación causal, con la salida. Esto funciona rastreando recursivamente los precedentes de la salida y encontrando todas las entradas que pueden afectarla.

La característica las funciones de matriz dinámica de Excel ha complicado este proceso porque ahora los precedentes de una salida pueden cambiar potencialmente de forma dinámica durante la simulación. Por lo tanto, cuando se utilizan funciones de matriz dinámica, recomendamos que:

  1. Se tenga cuidado de asegurar que el modelo siempre contenga una ruta de salida a entrada que el trazado de precedencia de Excel pueda seguir.
  2. El Análisis de sensibilidad inteligente está deshabilitado.