Требуется формула суммирования - PullRequest
0 голосов
/ 29 декабря 2018

Мне нужна помощь по созданию формулы в Google Sheets на сумму:

x*(0.95^1+0.95^2+0.95^3+...+0.95^n)

, где x - это константа, а n - положительное целое число.Формула должна помещаться в одну ячейку.

Ответы [ 2 ]

0 голосов
/ 30 декабря 2018
=x*SERIESSUM(.95,1,1,{1,1,1,1,1})

Несмотря на то, что, возможно, существует готовая статистическая или финансовая функция для этого, вы, похоже, довольны результатами этой формулы, предложенной в другом ответе .

Вам просто нужно сгенерировать массив n раз с n , являющимся значением из ячейки на рабочем листе.

INDEX(ROW(1:4), , ) возвращает результат {1, 2, 3, 4} какистинный массив.

Чтобы преобразовать {1, 2, 3, 4} в {1, 1, 1, 1}, используйте функцию-оболочку SIGN 'обертку' для чисел строк.

=INDEX(SIGN(ROW(1:4)), , )              'returns {1, 1, 1, 1} as a true array

Чтобы изменить длину массива, используйте INDIRECT.построить ссылку ROW.С 4 в C10 это возвращает тот же результат.

=INDEX(SIGN(ROW(INDIRECT("1:"&C10))),,) 'returns {1, 1, 1, 1} as a true array
'proof
=SUM(INDEX(SIGN(ROW(INDIRECT("1:"&C10))),,)) 'returns 4

Поместите это вместе с остальной частью формулы как стандартную формулу с INDEX в режиме массива.

=B10*SERIESSUM(0.95, 1, 1, INDEX(SIGN(ROW(INDIRECT("1:"&C10))),,))

Если выне хотите использовать INDEX в режиме массива, вы можете отказаться от него и добавить вместо него оболочку ARRAYFORMULA.

введите описание изображения здесь

0 голосов
/ 29 декабря 2018

Пожалуйста, попробуйте:

=x*SERIESSUM(.95,1,1,{1,1,1,1,1})

, где массив имеет n 1 с (например, 5).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...