Descripción de las limitaciones para trabajar con matrices en Excel

Resumen

En las versiones de Microsoft Excel enumeradas en la sección "La información de este artículo se refiere a", el tema de Ayuda "Especificaciones del cálculo" enumera las limitaciones del trabajo con una matriz. El presente artículo describe las limitaciones de las matrices en Excel.

Más información

En Excel, las matrices de las hojas de cálculo están limitadas por la memoria de acceso aleatorio disponible y por la regla "toda la columna".

Memoria disponible

Las versiones de Excel enumeradas en la sección "La información de este artículo se refiere a" no imponen un límite en el tamaño de las matrices de las hojas de cálculo. Solamente está limitado por la memoria disponible en el equipo. Por tanto, puede crear matrices muy grandes que contengan centenares de miles de celdas.

La regla "toda la columna"

Aunque en Excel pueda crear matrices muy grandes, no puede crear una matriz que use una columna completa o varias columnas de celdas. Como volver a calcular una fórmula de matriz que use una columna completa de celdas consume tiempo, Excel no le permite crear este tipo de matriz en una fórmula.

Nota: hay 65.536 celdas en una columna de Microsoft Office Excel 2003 y de las versiones anteriores de Excel. En una columna de Microsoft Office Excel 2007 hay 1.048.576 celdas.

Máximo de fórmulas de matriz

En Excel 2003 y en las versiones anteriores de Excel, una sola hoja de cálculo puede contener un máximo de 65.472 fórmulas de matriz que hagan referencia a otra hoja de cálculo. Si quiere usar más fórmulas, divida los datos en varias hojas de cálculo para que haya menos de 65.472 referencias a una sola hoja de cálculo.

Por ejemplo, en la Hoja1 de un libro, puede crear los elementos siguientes:
  • 65.472 fórmulas de matriz que hagan referencias a la Hoja2
  • 65.472 fórmulas de matriz que hagan referencias a la Hoja3
  • 65.472 fórmulas de matriz que hagan referencias a la Hoja4
Si intenta crear más de 65.472 fórmulas de matriz que hagan referencia a una hoja de cálculo específica, las fórmulas de matriz que escriba después de la 65.472 pueden desaparecer cuando las escriba.

Ejemplos de fórmula de matriz

A continuación se incluye una lista de ejemplos de fórmula de matriz. Para usar estos ejemplos, cree un libro y, después, escriba cada fórmula como una fórmula de matriz. Para ello, escriba la fórmula en la barra de fórmulas y, después, presione CTRL+MAYÚS+ENTRAR para aplicarla.

Excel 2007

  • A1: =SUMA(SI(B1:B1048576=0,1,0))
    La fórmula de la celda A1 devuelve el resultado 1048576. El resultado es correcto.
  • A2: =SUMA(SI(B:B=0,1,0))
    La fórmula de la celda A2 devuelve el resultado 1048576. El resultado es correcto.
  • A3: =SUMA(SI(B1:J1048576=0,1,0))
    La fórmula de la celda A3 devuelve el resultado 9437184. El resultado es correcto.

    Nota: la fórmula puede tardar mucho tiempo en calcular el resultado porque está comprobando más de un millón de celdas..
  • A4: =SUMA(SI(B:J=0,1,0))
    La fórmula de la celda A4 devuelve el resultado 9437184. El resultado es correcto.

    Nota: la fórmula puede tardar mucho tiempo en calcular el resultado porque está comprobando más de un millón de celdas..
  • A5: =SUMA(SI(B1:DD1048576=0,1,0))
    Cuando escribe esta fórmula en la celda A5, puede recibir uno de los mensajes de error siguientes:
    Excel se ha quedado sin recursos al intentar calcular una o varias fórmulas. Como resultado, no pueden evaluarse estas fórmulas.
    Para averiguar el número único asociado al mensaje que recibe, presione CTRL+MAYÚS+I. Aparecerá el número siguiente en la esquina inferior derecha de este mensaje:
    101758
    En este caso, el tamaño de la matriz de la hoja de cálculo es demasiado grande para la memoria disponible. Por tanto, la fórmula no se puede calcular.

    Además, puede parecer que Excel deja de responder durante unos minutos. Esto se debe a que las otras fórmulas que escribió deben recalcular los resultados.

    Una vez recalculados los resultados, Excel responde como se esperaba. La fórmula de la celda A5 devuelve ahora el valor 0 (cero).

Excel 2003 y versiones anteriores de Excel

  • A1: =SUMA(SI(B1:B65535=0,1,0))
    La fórmula de la celda A1 devuelve el resultado 65535. El resultado es correcto.
  • A2: =SUMA(SI(B:B=0,1,0))
    La fórmula de la celda A2 devuelve un error #NUM! porque la fórmula de matriz hace referencia a una columna de celdas entera.
  • A3: =SUMA(SI(B1:J65535=0,1,0))
    La fórmula de la celda A3 devuelve el resultado 589815. El resultado es correcto.

    Nota: la fórmula puede tardar mucho tiempo en calcular el resultado porque está comprobando casi 600.000 celdas.
  • A4: =SUMA(SI(B:J=0,1,0))
    Como sucedía con la fórmula de la celda A2, la fórmula de la celda A4 devuelve un error #NUM! porque la fórmula de matriz hace referencia a una columna de celdas entera.
  • A5: =SUMA(SI(B1:DD65535=0,1,0))
    Cuando escribe esta fórmula en la celda A5,, puede recibir uno de los mensajes de error siguientes:
    Memoria insuficiente. ¿Desea continuar sin opción de deshacer?
    Memoria insuficiente.
    En este caso, el tamaño de la matriz de la hoja de cálculo es demasiado grande para la memoria disponible. Por tanto, la fórmula no se puede calcular.

    Además, puede parecer que Excel deja de responder durante unos minutos. Esto se debe a que las otras fórmulas que escribió deben recalcular los resultados.

    Una vez recalculados los resultados, Excel responde como se esperaba. La fórmula de la celda A5 devuelve ahora el valor 0 (cero).
Tenga en cuenta que ninguna de estas fórmulas funciona en versiones anteriores de Excel. Ello se debe a que las matrices de la hoja de cálculo que son creadas por las fórmulas exceden los límites máximos de las versiones anteriores de Excel. Lo siguiente es una lista de algunas de las funciones de Excel que usan matrices:
  • ESTIMACION.LINEAL()
  • MDETERM()
  • MINVERSA()
  • MMULT()
  • SUMA(SI())
  • SUMAPRODUCTO()
  • TRANSPONER()
  • TENDENCIA()
Nota: es útil recordar los siguientes hechos relativos a las funciones.
  • Si hay células de una matriz que están vacías o contienen texto, MINVERSA devuelve el valor de error #VALOR!.
  • MINVERSA también devuelve el valor de error #VALOR! si la matriz no tiene un número igual de filas y de columnas.
  • MINVERSA devuelve el error #VALOR! si la matriz devuelta excede de 52 columnas por 52 filas.
  • La función MMULT devuelve #VALOR! si el resultado excede de 5.460 celdas.
  • La función MDETERM devuelve #VALOR! si la matriz devuelta excede de 73 filas por 73 columnas.
Propiedades

Id. de artículo: 166342 - Última revisión: 05/21/2008 - Revisión: 1

Comentarios