
Обща формула
(=ROW(INDIRECT(start&":"&end)))
Обобщение
За да създадете масив от числа като (1; 2; 3; 4; 5), можете да използвате формула, базирана на функциите ROW и INDIRECT. Тази техника се използва най-често във формули на масиви, които се нуждаят от числов масив за някаква обработка. В показания пример формулата в D5 е:
(=ROW(INDIRECT(B5&":"&C5)))
който връща масив като (1; 2; 3; 4; 5).
Забележка: когато се въведе в една клетка, Excel ще покаже само първия елемент в масива. Използвайте F9 в лентата с формули, за да видите действителния резултат от масива. Обикновено ще използвате тази формула в по-голяма формула за масив, въведена с control + shift + enter.
Обяснение
Забележка: В Excel 365 новата функция SEQUENCE е по-добър и лесен начин за създаване на масив от числа. Обясненият по-долу метод ще работи в предишни версии.
Ядрото на тази формула е низ, който представлява редове. Например, за да създадете масив с 10 числа, можете да кодирате твърд низ в INDIRECT по следния начин:
=ROW(INDIRECT("1:10"))
Функцията INDIRECT интерпретира този текст, като означава диапазон 1:10 (10 реда), а функцията ROW връща номера на реда за всеки ред в този диапазон вътре в масив.
Показаният пример използва по-обща версия на формулата, която взема началните и крайните числа съответно от B5 и C5, така че решението изглежда така:
=ROW(INDIRECT(B5&":"&C5)) =ROW(INDIRECT(1&":"&5)) =ROW(INDIRECT("1:5")) =ROW(1:5) =(1;2;3;4;5)
Причината INDIRECT да се използва във формулата е да се предпази от промени в работния лист. Без INDIRECT вмъкването или изтриването на редове може да промени референтния обхват, например:
=ROW(1:5)
ще се промени на:
=ROW(1:4)
Ако ред 1 е изтрит. Тъй като INDIRECT работи с препратка, конструирана с текст, това не се влияе от промени в работния лист.
Относителни номера на редове в диапазон
Ако имате нужда от масив, който се състои от относителните номера на редове на диапазон, можете да използвате формула като тази:
=ROW(range)-ROW(range.firstcell)+1
Вижте тази страница за пълно обяснение.
Отрицателни стойности
Функцията ROW няма да обработва отрицателни числа, така че не можете да смесвате отрицателни числа за начало и край . Можете обаче да приложите математически операции към масива, създаден от ROW. Например следната формула ще създаде този масив: (-5; -4; -3; -2; -1)
=ROW(INDIRECT(1&":"&5))-6
Числа в обратен ред, n до 1
За да създадете масив от положителни числа в низходящ ред, от n до 1, можете да използвате формула като тази:
=ABS(ROW(INDIRECT("1:"&n))-(n+1))