Matrices dinámicas, funciones y fórmulas de Excel

  • Compartir Este
Michael Brown

Gracias a la revolucionaria actualización del motor de cálculo de Excel 365, las fórmulas de matrices se han vuelto muy sencillas y comprensibles para todo el mundo, no sólo para los superusuarios. El tutorial explica el concepto de las nuevas matrices dinámicas de Excel y muestra cómo pueden hacer que tus hojas de trabajo sean más eficientes y mucho más fáciles de configurar.

Las fórmulas de array de Excel siempre se han considerado una prerrogativa de gurús y expertos en fórmulas. Si alguien dice "Esto se puede hacer con una fórmula de array", una reacción inmediata de muchos usuarios es "Oh, ¿no hay otra manera?".

La introducción de las matrices dinámicas es un cambio muy esperado y bienvenido. Debido a su capacidad para trabajar con múltiples valores de una manera sencilla, sin trucos ni peculiaridades, las fórmulas de matrices dinámicas son algo que todo usuario de Excel puede entender y disfrutar creando.

    Matrices dinámicas de Excel

    Matrices dinámicas son matrices redimensionables que calculan automáticamente y devuelven valores a varias celdas basándose en una fórmula introducida en una sola celda.

    A lo largo de sus más de 30 años de historia, Microsoft Excel ha experimentado muchos cambios, pero una cosa ha permanecido constante: una fórmula, una celda. Incluso con las fórmulas de matrices tradicionales, era necesario introducir una fórmula en cada celda en la que se deseaba que apareciera un resultado. Con las matrices dinámicas, esta regla ya no es válida. Ahora, cualquier fórmula que devuelva una matriz de valores se extiende automáticamente a las celdas vecinas.celdas, sin tener que pulsar Ctrl + Mayús + Intro ni realizar ningún otro movimiento. En otras palabras, manejar matrices dinámicas resulta tan sencillo como trabajar con una sola celda.

    Permíteme ilustrar el concepto con un ejemplo muy básico. Supongamos que necesitas multiplicar dos grupos de números, por ejemplo, para calcular distintos porcentajes.

    En las versiones pre-dinámicas de Excel, la siguiente fórmula funcionaría sólo para la primera celda, a menos que la introduzca en varias celdas y pulse Ctrl + Mayús + Intro para convertirla explícitamente en una fórmula de matriz:

    =A3:A5*B2:D2

    Ahora, mira lo que ocurre cuando se utiliza la misma fórmula en Excel 365. La escribes en una sola celda (B3 en nuestro caso), pulsas la tecla Intro... y toda la rabia se llena con los resultados a la vez:

    Rellenar varias celdas con una única fórmula se denomina derramando y el rango de celdas poblado se denomina rango de desbordamiento.

    Una cosa importante a tener en cuenta es que la reciente actualización no es sólo una nueva forma de manejar matrices en Excel. De hecho, se trata de un cambio innovador en todo el motor de cálculo. Con matrices dinámicas, un montón de nuevas funciones se han añadido a la biblioteca de funciones de Excel y los ya existentes comenzaron a trabajar más rápido y con mayor eficacia. Con el tiempo, las nuevas matrices dinámicas se supone que completamentesustituyen a las anticuadas fórmulas de matriz que se introducen con el atajo de teclado Ctrl + Mayús + Intro.

    Disponibilidad de matrices dinámicas de Excel

    Las matrices dinámicas se presentaron en la Conferencia Microsoft Ignite de 2018 y se lanzaron para los suscriptores de Office 365 en enero de 2020. Actualmente, están disponibles en Suscripciones a Microsoft 365 y Excel 2021.

    Las matrices dinámicas son compatibles con estas versiones:

    • Excel 365 para Windows
    • Excel 365 para Mac
    • Excel 2021
    • Excel 2021 para Mac
    • Excel para iPad
    • Excel para iPhone
    • Excel para tabletas Android
    • Excel para teléfonos Android
    • Excel para la web

    Funciones de matriz dinámica de Excel

    Como parte de la nueva funcionalidad, se introdujeron 6 nuevas funciones en Excel 365 que manejan matrices de forma nativa y dan salida a los datos en un rango de celdas. La salida es siempre dinámica - cuando se produce cualquier cambio en los datos de origen, los resultados se actualizan automáticamente. De ahí el nombre del grupo - funciones de matriz dinámica .

    Por ejemplo, pueden eliminar duplicados, extraer y contar valores únicos, filtrar espacios en blanco, generar números enteros y decimales aleatorios, ordenar en orden ascendente o descendente, y mucho más.

    A continuación encontrará una breve descripción de lo que hace cada función, así como enlaces a tutoriales detallados:

    1. ÚNICO: extrae elementos únicos de una serie de celdas.
    2. FILTRO - filtra los datos en función de los criterios que definas.
    3. ORDENAR - ordena un rango de celdas por una columna especificada.
    4. SORTBY - ordena un rango de celdas por otro rango o matriz.
    5. RANDARRAY - genera una matriz de números aleatorios.
    6. SECUENCIA - genera una lista de números secuenciales.
    7. TEXTSPLIT - divide cadenas por un delimitador especificado a través de columnas y/o filas.
    8. TOCOL - convierte una matriz o rango en una sola columna.
    9. TOROW - transforma un rango o matriz en una sola fila.
    10. WRAPCOLS - convierte una fila o columna en una matriz 2D basada en el número especificado de valores por fila.
    11. WRAPROWS - remodela una fila o columna en una matriz 2D basándose en el número especificado de valores por columna.
    12. TAKE - extrae un número especificado de filas y/o columnas contiguas del inicio o final de una matriz.

    Además, hay dos sustitutos modernos de las populares funciones de Excel, que no están oficialmente en el grupo, pero que aprovechan todas las ventajas de las matrices dinámicas:

    XLOOKUP - es un sucesor más potente de VLOOKUP, HLOOKUP y LOOKUP que puede buscar tanto en columnas como en filas y devolver múltiples valores.

    XMATCH - es un sucesor más versátil de la función MATCH que puede realizar búsquedas verticales y horizontales y devolver una posición relativa del elemento especificado.

    Fórmulas de matriz dinámica de Excel

    En las versiones modernas de Excel, el comportamiento de las matrices dinámicas está profundamente integrado y se convierte en nativo para todas las funciones En pocas palabras, para cualquier fórmula que devuelva más de un valor, Excel crea automáticamente un rango redimensionable al que se envían los resultados. Gracias a esta capacidad, las funciones existentes pueden hacer magia.

    Los siguientes ejemplos muestran las nuevas fórmulas de matrices dinámicas en acción, así como el efecto de las matrices dinámicas en las funciones existentes.

    Ejemplo 1. Nueva función de matriz dinámica

    Este ejemplo demuestra lo rápida y sencilla que puede ser una solución con las funciones de matriz dinámica de Excel.

    Para extraer una lista de valores únicos de una columna, tradicionalmente se utiliza una fórmula CSE compleja como ésta. En Excel dinámico, todo lo que se necesita es una fórmula UNIQUE en su forma básica:

    =ÚNICO(B2:B10)

    Se introduce la fórmula en cualquier celda vacía y se pulsa Intro. Excel extrae inmediatamente todos los valores diferentes de la lista y los muestra en un rango de celdas que comienza en la celda donde se introdujo la fórmula (D2 en nuestro caso). Cuando cambian los datos de origen, los resultados se recalculan y actualizan automáticamente.

    Ejemplo 2. Combinación de varias funciones de matriz dinámica en una fórmula

    Si no hay forma de realizar una tarea con una sola función, encadena varias. Por ejemplo, para filtrar datos en función de una condición y ordenar los resultados alfabéticamente, envuelve la función SORT alrededor de FILTER de esta forma:

    =SORT(FILTRO(A2:C13, B2:B13=F1, "Sin resultados"))

    Donde A2:C13 son los datos de origen, B2:B13 son los valores a comprobar y F1 es el criterio.

    Ejemplo 3. Utilización de las nuevas funciones de matriz dinámica junto con las ya existentes

    Como el nuevo motor de cálculo implementado en Excel 365 puede convertir fácilmente fórmulas convencionales en matrices, no hay nada que le impida combinar funciones nuevas y antiguas.

    Por ejemplo, para contar cuántos valores únicos hay en un determinado rango, anide la función UNIQUE de la matriz dinámica en la vieja COUNTA:

    =COUNTA(UNIQUE(B2:B10))

    Ejemplo 4. Las funciones existentes admiten matrices dinámicas

    Si suministra un rango de celdas a la función TRIM en una versión anterior como Excel 2016 o Excel 2019, devolverá un único resultado para la primera celda:

    =TRIM(A2:A6)

    En Excel dinámico, la misma fórmula procesa todas las celdas y devuelve múltiples resultados, como se muestra a continuación:

    Ejemplo 5. Fórmula VLOOKUP para devolver varios valores

    Como todo el mundo sabe, la función VLOOKUP está diseñada para devolver un único valor basado en el índice de columna que especifiques. En Excel 365, sin embargo, puedes suministrar una matriz de números de columna para devolver coincidencias de varias columnas:

    =VLOOKUP(F1, A2:C6, {1,2,3}, FALSE)

    Ejemplo 6. La fórmula TRANSPOSE simplificada

    En las versiones anteriores de Excel, la sintaxis de la función TRANSPOSE no dejaba lugar a errores. Para rotar los datos de la hoja de cálculo, había que contar las columnas y filas originales, seleccionar el mismo número de celdas vacías pero cambiando la orientación (¡una operación alucinante en hojas de cálculo enormes!), escribir una fórmula TRANSPOSE en el rango seleccionado y pulsar Ctrl + Mayús + Intro para completarla correctamente. ¡Uf!

    En Excel dinámico, basta con introducir la fórmula en la celda situada más a la izquierda del rango de salida y pulsar Intro:

    =TRANSPONER(A1:B6)

    ¡Hecho!

    Rango de relleno - una fórmula, múltiples celdas

    En alcance del vertido es un rango de celdas que contiene los valores devueltos por una fórmula de matriz dinámica.

    Cuando se selecciona cualquier celda del rango de derrames, aparece el borde azul para mostrar que todo lo que hay en su interior está calculado por la fórmula de la celda superior izquierda. Si elimina la fórmula de la primera celda, todos los resultados desaparecerán.

    El rango de derrame es algo realmente genial que facilita mucho la vida de los usuarios de Excel. Antes, con las fórmulas de rango de CSE, teníamos que adivinar en cuántas celdas copiarlas. Ahora, basta con introducir la fórmula en la primera celda y dejar que Excel se encargue del resto.

    Nota. Si algún otro dato está bloqueando el rango de derrame, se produce un error #SPILL. Una vez eliminados los datos que obstruyen, el error desaparecerá.

    Para más información, consulte el intervalo de vertidos de Excel.

    Referencia de alcance del vertido (símbolo #)

    Para referirse al rango de derrames, ponga una almohadilla o un símbolo de almohadilla (#) después de la dirección de la celda superior izquierda del rango.

    Por ejemplo, para averiguar cuántos números aleatorios se generan mediante la fórmula RANDARRAY en A2, suministre la referencia del rango de derrames a la función COUNTA:

    =COUNTA(A2#)

    Para sumar los valores del intervalo de derrame, utilice:

    =SUMA(A2#)

    Consejos:

    • Para referirse rápidamente a un rango de desbordamiento, simplemente seleccione todas las celdas dentro de la caja azul usando el ratón, y Excel creará la ref de desbordamiento por usted.
    • A diferencia de una referencia de rango normal, la referencia de rango de derrame es dinámica y reacciona automáticamente al cambio de tamaño del rango.
    • Para más detalles, consulte Operador de alcance de vertido.

      Intersección implícita y carácter @

      En la matriz dinámica de Excel, hay otro cambio significativo en el lenguaje de fórmulas: la introducción del carácter @, conocido como el carácter operador de intersección implícito .

      En Microsoft Excel, intersección implícita es un comportamiento de fórmula que reduce muchos valores a un único valor. En el antiguo Excel, una celda sólo podía contener un único valor, por lo que ese era el comportamiento por defecto y no se necesitaba ningún operador especial para ello.

      En el nuevo Excel, todas las fórmulas se consideran fórmulas de matriz por defecto. El operador de intersección implícita se utiliza para evitar el comportamiento de matriz si no lo desea en una fórmula específica. En otras palabras, si desea que la fórmula devuelva sólo un valor, anteponga @ al nombre de la función, y se comportará como una fórmula de no matriz en el Excel tradicional.

      Para ver cómo funciona en la práctica, eche un vistazo a la siguiente captura de pantalla.

      En C2, hay una fórmula de matriz dinámica que vierte los resultados en muchas celdas:

      =UNICO(A2:A9)

      En E2, la función lleva como prefijo el carácter @ que invoca la intersección implícita. Como resultado, sólo se devuelve el primer valor único:

      =@ÚNICO(A2:A9)

      Para obtener más información, consulte Intersección implícita en Excel.

      Ventajas de las matrices dinámicas de Excel

      Sin duda, las matrices dinámicas son una de las mejores mejoras de Excel en años. Como cualquier nueva característica, tienen puntos fuertes y débiles. Por suerte para nosotros, ¡los puntos fuertes de las nuevas fórmulas de matrices dinámicas de Excel son abrumadores!

      Simple y más potente

      Las matrices dinámicas permiten crear fórmulas más potentes de una forma mucho más sencilla. He aquí un par de ejemplos:

      • Extraer valores únicos: fórmulas tradicionales
      • Contar valores únicos y distintos: fórmulas tradicionales
      • Ordenar columnas alfabéticamente: fórmulas tradicionales

      Nativo para todas las fórmulas

      En Excel dinámico, no es necesario preocuparse de qué funciones admiten matrices y cuáles no. Si una fórmula puede devolver varios valores, lo hará por defecto. Esto también se aplica a las operaciones aritméticas y a las funciones heredadas, como se demuestra en este ejemplo.

      Funciones de matriz dinámica anidada

      Para encontrar soluciones a tareas más complejas, puede combinar las nuevas funciones de matriz dinámica de Excel o utilizarlas junto con las antiguas, como se muestra aquí y aquí.

      Las referencias relativas y absolutas son menos importantes

      Gracias al enfoque "una fórmula, muchos valores", no es necesario bloquear los rangos con el signo $ ya que, técnicamente, la fórmula se encuentra en una sola celda. Así pues, en la mayoría de los casos, no importa realmente si se utilizan referencias de celda absolutas, relativas o mixtas (lo que siempre ha sido una fuente de confusión para los usuarios inexpertos): ¡una fórmula de matriz dinámica producirá resultados correctos de todos modos!

      Limitaciones de las matrices dinámicas

      Las nuevas matrices dinámicas son geniales, pero como con cualquier nueva función, hay algunas advertencias y consideraciones que debes tener en cuenta.

      Los resultados no se pueden clasificar de la forma habitual

      El intervalo de vertidos devuelto por una fórmula de matriz dinámica no puede ordenarse utilizando la función Ordenar de Excel. Cualquier intento de este tipo dará como resultado el mensaje " No se puede modificar parte de una matriz " error. Para ordenar los resultados de menor a mayor o viceversa, envuelva su fórmula actual en la función SORT. Por ejemplo, así es como puede filtrar y ordenar a la vez.

      No se puede eliminar ningún valor del intervalo de derrame

      Ninguno de los valores de un rango derramado puede ser borrado por la misma razón: no se puede cambiar parte de un array. Este comportamiento es esperado y lógico. Las fórmulas tradicionales de array de CSE también funcionan de esta manera.

      No se admiten en las tablas de Excel

      Esta característica (¿o bug?) es bastante inesperada. Las fórmulas de matrices dinámicas no funcionan desde dentro de las tablas de Excel, sólo dentro de rangos regulares. Si intentas convertir un rango derramado en una tabla, Excel lo hará, pero en lugar de los resultados, sólo verás un error #¡Derramado!

      No funciona con Excel Power Query

      Los resultados de las fórmulas de matrices dinámicas no se pueden cargar en Power Query. Es decir, si intentas unir dos o más rangos de derrames utilizando Power Query, esto no funcionará.

      Matrices dinámicas frente a las fórmulas tradicionales de matrices CSE

      Con la introducción de las matrices dinámicas, podemos hablar de dos tipos de Excel:

      1. Excel dinámico que es totalmente compatible con las matrices dinámicas, las funciones y las fórmulas. Actualmente sólo lo es Excel 365 y Excel 2021.
      2. Excel heredado , también conocido como Excel tradicional o predinámico, donde solo se admiten fórmulas de matriz Ctrl + Mayús + Intro. Es Excel 2019, Excel 2016, Excel 2013 y versiones anteriores.

      Ni que decir tiene que las matrices dinámicas son superiores a las fórmulas de matrices CSE en todos los aspectos. Aunque las fórmulas de matrices tradicionales se mantienen por motivos de compatibilidad, a partir de ahora se recomienda utilizar las nuevas.

      He aquí las diferencias más esenciales:

      • Una fórmula de matriz dinámica se introduce en una celda y se completa con una pulsación normal de Intro. Para completar una fórmula de matriz a la antigua usanza, hay que pulsar Ctrl + Mayús + Intro .
      • Las nuevas fórmulas de matriz se extienden a muchas celdas automáticamente. Las fórmulas CSE deben copiarse a un rango de celdas para devolver múltiples resultados.
      • Las fórmulas CSE truncan la salida si el área de retorno es demasiado pequeña y devuelven errores en celdas adicionales si el área de retorno es demasiado grande.
      • Una fórmula de matriz dinámica puede editarse fácilmente en una sola celda. Para modificar una fórmula CSE, es necesario seleccionar y editar todo el rango.
      • No es posible eliminar e insertar filas en un rango de fórmulas CSE: primero hay que eliminar todas las fórmulas existentes. Con los arrays dinámicos, la inserción o eliminación de filas no supone ningún problema.

      Compatibilidad con versiones anteriores: matrices dinámicas en Excel heredado

      Cuando se abre un libro de trabajo que contiene una fórmula de matriz dinámica en el antiguo Excel, se convierte automáticamente en una fórmula de matriz convencional encerrada entre { llaves}. Cuando se vuelve a abrir la hoja de trabajo en el nuevo Excel, se eliminan las llaves.

      En Excel heredado, las nuevas funciones de matriz dinámica y las referencias de rango de derrame llevan el prefijo _xlfn para indicar que esta funcionalidad no es compatible. El signo de referencia de rango de derrame (#) se sustituye por la función ANCHORARRAY.

      Por ejemplo, así es como aparece una fórmula UNIQUE en Excel 2013 :

      La mayoría de las fórmulas de matrices dinámicas (¡pero no todas!) seguirán mostrando sus resultados en el Excel heredado hasta que realice algún cambio en ellas. La edición de una fórmula la rompe inmediatamente y muestra uno o más valores de error #NAME?

      Las fórmulas de matriz dinámica de Excel no funcionan

      Dependiendo de la función, pueden producirse diferentes errores si utiliza una sintaxis incorrecta o argumentos no válidos. A continuación se muestran los 3 errores más comunes que puede encontrar con cualquier fórmula de matriz dinámica.

      #Error

      ¡Cuando una matriz dinámica devuelve múltiples resultados, pero algo está bloqueando el rango de derrame, se produce un error #SPILL!

      Para corregir el error, basta con borrar o eliminar todas las celdas del intervalo de derrame que no estén completamente en blanco. Para detectar rápidamente todas las celdas que estorban, haga clic en el indicador de error y, a continuación, en Seleccionar células obstructoras .

      Aparte de un intervalo de vertidos no vacío, este error puede deberse a otros motivos. Para más información, consulte:

      • Error #SPILL en Excel - causas y soluciones
      • Cómo solucionar el error #SPILL! con VLOOKUP, INDEX MATCH, SUMIF

      #Error

      Debido al soporte limitado para referencias externas entre libros de trabajo, las matrices dinámicas requieren que ambos archivos estén abiertos. Si el libro de trabajo de origen está cerrado, se muestra un error #REF!

      #Error

      Se produce un error #NAME? si intenta utilizar una función de matriz dinámica en una versión antigua de Excel. Recuerde que las nuevas funciones sólo están disponibles en Excel 365 y Excel 2021.

      Si este error aparece en las versiones de Excel compatibles, compruebe dos veces el nombre de la función en la celda problemática. Lo más probable es que esté mal escrito :)

      Así es como se utilizan las matrices dinámicas en Excel. Espero que te encante esta nueva y fantástica funcionalidad! En fin, ¡gracias por leer y espero verte en nuestro blog la semana que viene!

    Michael Brown es un entusiasta de la tecnología dedicado y apasionado por simplificar procesos complejos utilizando herramientas de software. Con más de una década de experiencia en la industria de la tecnología, ha perfeccionado sus habilidades en Microsoft Excel y Outlook, así como en Google Sheets y Docs. El blog de Michael está dedicado a compartir su conocimiento y experiencia con otros, brindando consejos y tutoriales fáciles de seguir para mejorar la productividad y la eficiencia. Ya sea un profesional experimentado o un principiante, el blog de Michael ofrece información valiosa y consejos prácticos para aprovechar al máximo estas herramientas de software esenciales.