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

Я добавил столбец Actual Cost для тестирования и примера, однако эта таблица данных не редактируется, поэтому я не могу добавить вспомогательный столбец:

Role        Cost    Allocation  *Actual Cost*
Role 1      1000    100.00%     1000
Role 1      1000    50.00%      500
Role 2      1000    25.00%      250
Role 1      1000    75.00%      750
Role 2      1000    100.00%     1000

Мне нужно найти способ получить общую фактическую стоимость каждой роли без использования вспомогательного столбца.

Так что из этого примера я мог бы просто использовать =sumif(A2:A5, "Role 1", D2:D5) , давая мне

Role 1      2250
Role 2      1250

Но мне нужно использовать =sum(if(A:A = "Role 1", B:B*C:C)) я знаю, что эта функция суммы не имеет смысла, она нацелена на описание результата.

Если это не ясно, пожалуйста, прокомментируйте, и я исправлюсь как можно лучше.

2 ответа2

2

На самом деле описанная вами функция суммирования имеет смысл. Вам просто нужно ввести его в виде формулы массива. Просто введите его, как указано выше, =sum(if(A:A = "Role 1", B:B*C:C)) и нажмите Ctrl-Shift-Enter, чтобы отметить его как формулу массива.

Обратите внимание, что если у вас их много, все ссылаются на полные столбцы (B:B и т.д.), Расчет может быть вялым. Вы можете преодолеть это, используя синтаксис B2:B5 (но, конечно, вам нужно помнить, чтобы обновлять его, когда вы добавляете больше строк).

1

Как уже ответил Беншеперд, ваша формула имеет смысл. Просто введите его как формулу массива (завершите нажатием CTRL+SHIFT+ENTER).

Или вы можете использовать SUMPRODUCT:
SUMPRODUCT((A:A = "Role 1")*B:B*C:C)
Особенно для больших наборов данных это будет быстрее по сравнению с формулой массива.

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