Предположим, что столбцы A, B и C содержат числа. Я хочу суммировать все в любом из этих столбцов, если они перечислены в дополнительном столбце или ячейке. Суммируемые столбцы могут находиться в любом месте таблицы. И это должна быть функция, а не сценарий VBA.

Например, столбец D может содержать ячейки, содержащие "A" и "C", или, возможно, одну ячейку, содержащую «A, C». Поэтому моя функция (E2) будет выводить сумму значений в столбцах A и C.

A   B   C   D   E
1   4   7   A   30
2   5   8   C
3   6   9

Для усложнения бонуса я хочу, чтобы сумма была SUMIF, чтобы отфильтровать строки в столбцах A, B и C на основе критериев соответствия. Итак, в приведенном ниже примере я классифицирую строки в столбцах A, B и C цветом (F). E теперь отображает две суммы - итоги из столбцов A и C с категорией красный (E2) и сумму с категорией зеленый (E3). Я полностью ожидаю, что формулы в E2 и E3 будут разными, чтобы указать разные критерии соответствия.

A   B   C   D   E   F
1   4   7   A   18  red
2   5   8   C   12  red
3   6   9           green

Благодарю.

1 ответ1

2

Если я вас правильно понял, я не думаю, что SUMIF - это путь.

Я бы добавил вспомогательный столбец между вашими D & E, например так:

A   B   C   D   E   F
1   4   7   A   x   30
2   5   8   C   x
3   6   9       x

В столбце E, где я добавил 'x' в качестве заполнителя, введите эту формулу (в ячейку E2 и скопируйте вниз):

=IFERROR(SUM(INDIRECT(D2&":"&D2)),0)

Это просто суммирует итоги по каждому столбцу, указанному в столбце D в качестве критерия. Там, где нет критериев для этой строки, у вас есть запасной 0, вызванный IFERROR.

Наконец, в ячейке F2 вы можете суммировать все эти промежуточные итоги:

=SUM(E:E)

Ваш финальный стол будет выглядеть так:

A   B   C   D   E   F
1   4   7   A   6   30
2   5   8   C   24
3   6   9       0

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .