Я создаю сложную формулу массива и хочу избавиться от зависимости от области, которая представляет собой вектор, {1;2;3;...;n}
где n
есть то же число, что и номер строки в другой области, используемой в формуле.
По сути, у меня есть некоторая (длинная и сложная) формула массива ( AF
) со ссылками на целые столбцы таблицы A
, и B
я хочу избавиться от ссылки на столбец A.
Если нет возможности изменить количество строк в таблице, ссылку на строку A
можно заменить на {1;2;3;4}
(для 4 строк в таблице). НО количество строк меняется время от времени.
+---+-----+--------------+
| A | B | C |
+---+-----+--------------+
| 1 | 105 | =AF([A],[B]) |
| 2 | 55 | =AF([A],[B]) |
| 3 | 80 | =AF([A],[B]) |
| 4 | 11 | =AF([A],[B]) |
+---+-----+--------------+
Можете ли вы построить эту формулу, имея только входные данные = строку B (без использования дополнительных таблиц)?
Большое спасибо!
PS: В текущих версиях Excel эта функция SEQUENCE
доступна, но в версии 2013 ее нет, и я прошу вашей помощи.
решение1
О, это было так просто... Мне стыдно. Я (ошибочно) предполагал, что ROW
не может вернуть вектор. Но может.
Формула может выглядеть так:
Это решение относится только к столбцу B (диапазон данных):
{=ROW([B])-ROW(INDEX([B]),1))+1}
Или моле элегантно (используя заголовок таблицы в качестве ссылки):
{=ROW([B])-ROW(TableName[#Headers])}
ГдеTableName
находится название таблицы.Или без именованных диапазонов и таблиц:
{=ROW($B$2:$B$#)-ROW($B$1)}
ГдеA#
находится последняя ячейка с данными в строкеB
Или очень простой пример (таблицы нет, а данные начинаются с
B1
):
{=ROW($B$1:$B$#)}
Где A# — последняя ячейка с данными в строкеB
PS: У меня нет английской версии Excel, поэтому перевод терминов может быть неточным. Не стесняйтесь меня поправлять.