В чем разница между общей формулой и формулой массива? - PullRequest
2 голосов
/ 10 августа 2009

Excel определяет общие формулы и формулы массивов. В чем разница? Насколько я понимаю, формулы массива теперь устарели. Это правда? Можно ли преобразовать формулы массива в общие формулы?

Ответы [ 2 ]

2 голосов
/ 10 августа 2009

Посмотрите на раздел 4.8 из Формат файла Microsoft Excel (ссылка на PDF) из OpenOffice:

Формула массива (BIFF2-BIFF8) и общая формула (BIFF5-BIFF8) - это формула, охватывающая диапазон ячеек. массив формулы обрабатываются не так, как формулы из одной ячейки в электронной таблице. Общие формулы являются только оптимизацией уменьшить размер файла, они не отличаются от других формул ячеек. Естественно, формула массива не может быть общая формула в то же время. Общие формулы создаются, например, при заполнении диапазона ячеек из одной формулы клетка.

Обычно массив или общая формула хранятся в файле только один раз, либо в записи ARRAY ((5.4) для формул массива, или в записи SHAREDFMLA (.95.94) для общих формул. Эти записи являются частью блока ячеек формулы (➜4.7.2). Они сразу же следуют за первой записью ФОРМУЛЫ (505.50) для этого диапазона 20 . Все ячейки массива или общей формулы содержат ссылку на данные формулы. Эта ссылка (токен tExp, ➜3.10.1) состоит из адреса ячейки в верхней левой ячейке диапазона. Таким образом, каждая ячейка формулы может быть связана с ее данными формулы.

Если формула возвращает строковое значение, запись STRING (➜5.102) обычно следует за записью FORMULA. В случае Для массива и общих формул эта запись STRING следует за записью ARRAY или SHAREDFMLA.

20 Для общих формул первая запись FORMULA может не быть верхней левой ячейкой диапазона. Можно перезаписать отдельные ячейки диапазона общих формул без аннулирования самой общей формулы (оставшихся ячеек формулы).

1 голос
/ 10 августа 2009

Совместно используемые формулы являются просто более эффективным средством хранения формул.

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

...