Является ли Array Formula (Dynami c Array) медленнее, чем копирование формул во всех ячейках с относительной ссылкой? - PullRequest
0 голосов
/ 08 апреля 2020

Context.

  • Мой вопрос связан как с Google-Sheet, так и с Microsoft Excel.
  • Dynami c Новые формулы массива добавлены в Excel, но концепция массива Формула старая. Но мой вопрос связан с недавно добавленными формулами массива Dynami c в контексте Excel.

Вопрос

Как в Excel, так и в Google-Sheets, я могу сослаться на другой столбец двумя способами (Снимок экрана ниже).

  1. Использование прямой ссылки (=$D2) на соседнюю ячейку и перетаскивание формулы на все ячейки ниже в том же столбце
  2. Использование динами c Формула массива (=D2:D5)

Итак, вопрос в том, какая из этих формул рекомендуется? И как каждая формула влияет на скорость файла / листа в зависимости от объема данных.

Примечание: Причина, по которой я задаю этот вопрос в Переполнение стека связано с тем, что оно связано с производительностью программного обеспечения.

В SO уже задан аналогичный вопрос , но

  1. Этот вопрос связан со старым массивом Формула не динамична c Массивы.
  2. Спросили и ответили 4 года назад и до того, как новые функции были добавлены в Excel. Эти новые функции имеют улучшения производительности

Dynamic Array Performance

Мое мнение

От того, что я пробовал, я не увидел никакой разницы когда я использовал один из этих вариантов. Я пробовал это на листе Google с диапазоном импорта из другого листа примерно 300 000 ячеек - 5000 строк и 60 столбцов. И в этом файле было некоторое отставание, но то же самое с массивом Dynami c и формулами. Но я не уверен, что это достаточно большой файл, чтобы визуально заметить разницу.

1 Ответ

0 голосов
/ 08 апреля 2020

формулы массивов, как правило, быстрее, если они не имеют дело со смехотворно огромными массивами (10 + k строк) или очень сложными вычислениями (mmult матрицы). при работе с небольшими диапазонами разницы в скорости нет. в таких случаях речь идет об эффективности - большая разница в использовании одной формулы массива для вычисления двух столбцов из 1000, чем при использовании 2000 одноклеточных формул в 2000 ячеек, и тратит 10+ секунд, просто перетаскивая их вниз.

...