Сумма первых N элементов в столбце электронной таблицы.

Сумма первых N элементов в столбце электронной таблицы.

Я пытаюсь суммировать первые N элементов в столбце, где N — значение в другой ячейке. У меня получилось следующее:

=sum(B1:indirect(concatenate("B", A10)))

Где A10 содержит N. Но я не хочу жестко кодировать метку столбца в конкатенации, потому что я хочу, чтобы она продолжала работать, если я передвигаю столбцы. Я пробовал использовать функцию column(), но она возвращает число, а не букву. Я пробовал

=char(code("A") + column() - 1)

но это не срабатывает, как только столбец достигает AA, а я AKуже на. Я мог бы поместить туда проверку по модулю 26, но я полагаю, что должен быть более простой способ получить код буквы столбца или сделать переменную сумму.

Я использую Apple Numbers, но формулы в Numbers, Excel, LibreOffice и т. д., похоже, довольно похожи, поэтому если у вас есть предложения, которые подойдут для других электронных таблиц, пожалуйста, не стесняйтесь.

решение1

Почему бы не использовать функцию OFFSET в сочетании с SUM? Закрепите смещение в первой строке столбца, который вы хотите просуммировать, затем используйте значение N, которое вы поместили в другую ячейку, чтобы задать высоту ссылки на диапазон, которую возвращает смещение.

Например, скажем, вы хотите суммировать столбец AK и указали количество строк, которые вы хотите суммировать, в ячейке AZ1. Формула для суммирования будет следующей:

    =SUM(OFFSET(AK$1,1,0,AZ1,1))

Это формула массива, поэтому ее необходимо ввести с помощью CTRL-SHIFT-ENTER.

Связанный контент