2015-04-18 1 views
0

У меня есть два листа excel: 1 для ежемесячных расходов, а другой - ежегодное лето расходов по типу расходов.SUM последовательные группы из 12 ячеек из ряда на другом листе

Для ежегодного листа расходов я хотел бы суммировать каждые 12 месяцев, помещая его в ячейку, а ближайшая ячейка - следующие 12 месяцев и т. Д.

Так, чтобы дать представление о том, как мой лист устанавливается:

лист под названием «Операционные расходы» имеет ячейки B4: M4, которые являются январь-декабрь этого года для ежемесячных расходов.

На листе под заголовками «источники & использования средств», я бы хотел, чтобы D28 был суммой B4: M4, а затем ячейкой D29 суммой N4: Y4 и т. Д., Пока я не прекратил перетаскивание формулы в поперечнике.

Я попробовал функцию Sum (offset()), но, похоже, не смог ее понять.

+0

Вы говорите, что попробовали 'sum (offset())', но было бы неплохо увидеть вашу фактическую попытку кода, а не просто упоминать пару функций. Измените свой пост, чтобы показать код, который вы написали, описать, что произошло, описать, что вы ожидали, и что вы пытались исправить проблему. –

ответ

3

Отменить метод SUM(OFFSET(...)) и придерживаться с суммированием пары INDEX function, определяющей диапазон в 4-й строке. Если будет быстрее и является энергонезависимой функцией.

=SUM(INDEX('Operating Expense'!$4:$4,1,2+(ROW(1:1)-1)*12):INDEX('Operating Expense'!$4:$4,1,13+(ROW(1:1)-1)*12)) 

С, что в D28, вы можете заполнить вниз для B4: M4, N4: Y4 и т.д.

Как это работает:

В отличие от других функций поиска (например VLOOKUP function, HLOOKUP function , и т. д.) INDEX function может возвращать ссылку на адрес ячейки, которую можно использовать для непосредственного использования, не используя дополнительные служебные данные, например INDIRECT function. Если факт, вы можете сшить два из них вместе с двоеточием, чтобы создать диапазон пригодных для использования ячеек.

Синтаксис:

ИНДЕКС (< массив >, < номер_строки >, < номер_столбца >)

Пример: (все они составляют одно и то же)

=SUM(INDEX(A:A, 1, 1):INDEX(B:B, 5, 1)) 
=SUM(A1:INDEX(B:B, 5, 1)) 
=SUM(INDEX(A:A, 1, 1):B5) 
=SUM(A1:B5) 

Как только у нас есть контроль над строкой и столбцом диапазона ячеек (aka массив), мы можем манипулировать ими с небольшой математикой.

Если положить =ROW(1:1) в любой клетке и заполнить вниз вы получите 1, 2, 3 и т.д.. Вот как мы выполняем пошатывание по мере заполнения.

Вы хотите первый набор 12 месяцев просуммировать B4: M4 поэтому первая часть использует 4: 4 для < массива >. Это представляет собой строку 4. <row_num> - , потому что есть только одна строка.

Вы хотите, чтобы начать диапазон суммы в столбце В, так что численно столбец 2. Мы не хотим, чтобы добавить что-нибудь в первый раз, но мы хотим, чтобы добавить как заполнить вниз, так что матч 2 + (ROW(1:1)-1) × 12 или 2+(ROW(1:1)-1)*12 для запуска < номер_столбца > 2, 14, 26 и т.д.

кроме того, вы хотите, чтобы закончить диапазон суммы в колонке М так, что численно столбец 13. Мы не хотим, чтобы добавить что-нибудь в первый раз, но мы хотим добавить , поскольку мы заполняем так, что матч 13 + (ROW(1:1)-1) × 12 или 13+(ROW(1:1)-1)*12 для окончания <column_num> из 13, 25, 37 и т. Д.

Результирующие диапазоны ячеек при заполнении будут следующими: B4: M4, N4: Y4, Z4: AK4 и т. Д. Заполнение их в SUM function даст вам соответствующих итогов.

Как уже упоминалось, это признак INDEX. VLOOKUP, HLOOKUP и т. Д. Возвращают значения, а не полезную ссылку на ячейку.

+0

Работает отлично! Не могли бы вы объяснить каждую часть. Я не уверен, что понимаю 4: 4,1,2, + ряд (1: 1) -1) * 12 часть –

+0

@AlekszanderCohen - я не часто уделяю время подробным объяснениям, поскольку почти всегда есть огромное богатство соответствующего материала, уже написанного и доступного с помощью поиска в Интернете. Однако эта тема немного сложнее найти информацию, и она важна. Используется правильно, энергонезависимая функция [INDEX] (https://support.office.com/en-us/article/index-function-0ee99cef-a811-4762-8cfb-a222dd31368a) обычно может заменить другие изменчивые функции, такие как [ КОСВЕННАЯ] (https://support.office.com/en-us/article/indirect-function-21f8bcfc-b174-4a50-9dc6-4dfb5b3361cd). – Jeeped

Смежные вопросы