Массив как параметр формулы ячейки - PullRequest
0 голосов
/ 15 сентября 2018

Мне нужно рассчитать полиномиальные коэффициенты в LibreOffice Calc, чтобы соответствовать точкам данных. Значения X и Y находятся в ячейках A2: ... и B2: ..., размер данных в ячейке D1, степень полинома - в ячейке D2. Это отлично работает:

=TRANSPOSE(LINEST(OFFSET($B$2;0;0;$D$1;1);OFFSET($A$2;0;0;$D$1;1)^{1;2;3}))

Мне нужно динамически передать массив 1:$D$2 в эту формулу вместо {1;2;3}. Я попытался использовать пример из справки Excel:

ROW(INDIRECT("1:" & $D$2))

но это дает ошибку значения. Как получить эту последовательность в массиве?

Второй вопрос: если я смогу это сделать, как мне получить нисходящую последовательность {3;2;1;0}?

1 Ответ

0 голосов
/ 16 сентября 2018

Это связано с тем, что ROW генерирует массив вертикальный , тогда как вам требуется массив горизонтальный .

Как таковое, используйте:

TRANSPOSE(ROW(INDIRECT("1:"&$D$2)))

Поскольку функции INDIRECT и OFFSET являются энергозависимыми , я бы лично предпочел:

=TRANSPOSE(LINEST($B$2:INDEX($B2:$B1048576,$D$1),$A$2:INDEX($A2:$A1048576,$D$1)^TRANSPOSE(ROW(INDEX(A:A,1):INDEX(A:A,$D$2)))))

Привет

...