• 22.05.2020
  • Чтение занимает 4 мин
  • Применяется к:
    Excel 2007, Excel 2003, Excel 2002

В этой статье

Примечание

Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.

Аннотация

В версиях Microsoft Excel, перечисленных в разделе «информация в этой статье применима к», в разделе «требования к расчету» перечислены ограничения для работы с массивом. В этой статье описываются ограничения для массивов в Excel.

Дополнительная информация

В Excel массивы на листах ограничены доступной оперативной памятью, общим количеством формул массива и правилом «весь столбец».

доступная память;

Версии Excel, перечисленные в разделе «информация в этой статье применима к», не накладывают ограничение на размер массивов листов. Вместо этого доступ к памяти ограничивается только объемом доступной памяти на вашем компьютере. Таким образом, вы можете создавать очень большие массивы, содержащие сотни тысяч ячеек.

Правило «весь столбец»

Несмотря на то, что в Excel можно создавать очень большие массивы, невозможно создать массив, использующий целый столбец или несколько столбцов ячеек. Так как перерасчет формулы массива, использующей весь столбец ячеек, занимает много времени, Excel не позволяет создавать этот тип массива в формуле.

Примечание

В столбце в Microsoft Office Excel 2003 и более ранних версиях Excel есть 65 536 ячеек. В столбце в Microsoft Office Excel 2007 есть 1 048 576 ячеек.

Максимальные формулы массива

В Excel 2003 и более ранних версиях Excel один лист может содержать не более 65 472 формул массива, ссылающихся на другой лист. Если вы хотите использовать больше формул, разделите их на несколько листов, чтобы на один лист было менее 65 472 ссылок.

Например, на листе Sheet1 книги можно создать следующие элементы:

  • 65 472 формулы массива, которые ссылаются на Лист2
  • 65 472 формулы массива, ссылающихся на Sheet3
  • 65 472 формулы массива, ссылающихся на Sheet4

Если вы попытаетесь создать более 65 472 формул массива, ссылающихся на определенный лист, формулы массива, введенные после формулы массива с номером 65 472, могут исчезнуть при вводе.

Примеры формул массива

Ниже приведен список примеров формул массивов. Чтобы использовать эти примеры, создайте новую книгу, а затем введите каждую формулу как формулу массива. Для этого введите формулу в строку формул, а затем нажмите клавиши CTRL + SHIFT + ВВОД, чтобы ввести формулу.

Excel 2007

  • A1: = SUM (ЕСЛИ (B1: B1048576 = 0, 1, 0))

    Формула в ячейке a1 возвращает результат 1048576. Это правильный результат.

  • A2: = SUM (ЕСЛИ (Б:Б = 0, 1, 0))

    Формула в ячейке A2 возвращает результат 1048576. Это правильный результат.

  • A3: = SUM (ЕСЛИ (B1: J1048576 = 0, 1, 0))

    Формула в ячейке A3 возвращает результат 9437184. Это правильный результат.

    Примечание

    Вычисление формулы может занять много времени, так как формула проверяет более 1 000 000 ячеек.

  • A4: = SUM (ЕСЛИ (Б:Ж = 0, 1, 0))

    Формула в ячейке A4 возвращает результат 9437184. Это правильный результат.

    Примечание

    Вычисление формулы может занять много времени, так как формула проверяет более 1 000 000 ячеек.

  • A5: = SUM (ЕСЛИ (B1: DD1048576 = 0, 1, 0))

    При вводе этой формулы в ячейку A5 может появиться одно из следующих сообщений об ошибке:

    Excel исчерпал ресурсы при попытке вычислить одну или несколько формул. В результате эти формулы невозможно оценить.

    Чтобы определить уникальный номер, связанный с получаемым сообщением, нажмите клавиши CTRL + SHIFT + I. В правом нижнем углу этого сообщения отображается следующее число:

    101758

    В этом случае размер массива листа слишком велик для доступной памяти. Поэтому не удается вычислить формулу.

    Кроме того, Excel может перестать отвечать на запросы в течение нескольких минут. Это связано с тем, что в других формулах, которые вы ввели, необходимо пересчитать результаты.

    После пересчета результатов Excel реагирует ожидаемым образом. Формула в ячейке A5 возвращает значение 0 (ноль).

Excel 2003 и более ранние версии Excel

  • A1: = SUM (ЕСЛИ (B1: B65535 = 0, 1, 0))

    Формула в ячейке a1 возвращает результат 65535. Это правильный результат.

  • A2: = SUM (ЕСЛИ (Б:Б = 0, 1, 0))

    Формула в ячейке a2 Возвращает #NUM! ошибка, так как формула массива ссылается на целый столбец ячеек.

  • A3: = SUM (ЕСЛИ (B1: J65535 = 0, 1, 0))

    Формула в ячейке A3 возвращает результат 589815. Это правильный результат.

    Примечание

    Вычисление формулы может занять много времени, так как формула выполняет проверку почти 600 000 ячеек.

  • A4: = SUM (ЕСЛИ (Б:Ж = 0, 1, 0))

    Как и формула в ячейке A2, формула в ячейке A4 Возвращает #NUM! ошибка, так как формула массива ссылается на целый столбец ячеек.

  • A5: = SUM (ЕСЛИ (B1: DD65535 = 0, 1, 0))

    При вводе формулы в ячейке A5 может появиться одно из следующих сообщений об ошибке:

    Недостаточно памяти. Продолжить без отмены?

    Недостаточно памяти.

    В этом случае размер массива листа слишком велик для доступной памяти. Поэтому не удается вычислить формулу.

    Кроме того, Excel может перестать отвечать на запросы в течение нескольких минут. Это связано с тем, что в других формулах, которые вы ввели, необходимо пересчитать результаты.

    После пересчета результатов Excel реагирует ожидаемым образом. Формула в ячейке A5 возвращает значение 0 (ноль).

Обратите внимание на то, что ни одна из этих формул не работает в более ранних версиях Excel. Это связано с тем, что массивы, создаваемые формулами, полностью превышают максимальные ограничения в более ранних версиях Excel. Ниже приведен список некоторых функций Excel, использующих массивы.

  • ЛИНЕЙН ()
  • МДЕТЕРМ ()
  • МИНВЕРСЕ ()
  • ММУЛТ ()
  • SUM (ЕСЛИ ())
  • SUMPRODUCT ()
  • ТРАНСПОНИРОВАТЬ ()
  • ТЕНДЕНЦИЯ ()

Примечание

Следующие факты о функциях удобно запомнить.

  • Если какие бы то ни было ячейки массива пусты или содержат текст, МИНВЕРСЕ возвращает #VALUE! значение ошибки.
  • МИНВЕРСЕ также возвращает #VALUE! значение ошибки, если массив не имеет равное количество строк и столбцов.
  • МИНВЕРСЕ возвращает #VALUE! ошибка, если возвращаемый массив превышает 52 столбцов по 52 строк.
  • Функция ММУЛТ возвращает #VALUE! Если выходные данные превышают 5460 ячеек.
  • Функция МДЕТЕРМ возвращает #VALUE! значение, если размер возвращаемого массива превышает 73 строк по 73 столбцам.