#excel #excel-formula
Вопрос:
Я умираю здесь, и мне действительно нужна помощь. Я надрываюсь над этим уже день или два и не знаю, что делать дальше.
В Excel у меня есть список техников, даты и общее количество часов, отработанных этим техником в соответствующий день. Есть дубликаты записей, которые я не могу удалить из-за других уникальных значений в данных.
Мне нужно подсчитать общее количество часов, отработанных каждым техником за весь период. Например, в приведенном ниже примере Боб работал восемь часов, в то время как Джим работал шесть.
TOTAL
TECH DATE DAILY HOURS
----------------------------
Bob 01/03/21 03:00
Bob 01/03/21 03:00
Bob 01/03/21 03:00
Bob 02/03/21 02:00
Bob 03/03/21 03:00
Jim 01/03/21 03:00
Jim 02/03/21 02:00
Jim 02/03/21 02:00
Jim 02/03/21 02:00
Jim 02/03/21 02:00
Jim 03/03/21 01:00
Я уверен, что это должно быть относительно просто, но я думаю, что я достиг конца своих знаний. Я боролся с SUMPRODUCT
и т. Д. И активно искал в Интернете, но я начинаю немного теряться.
Любая помощь будет очень признательна.
Ваше здоровье.
Комментарии:
1. Какая у вас версия Excel?
2. В зависимости от вашей версии Excel вы можете легко сделать это с помощью Power Query или (если это Office 365) с помощью формул.
3. У меня есть Office 365.
Ответ №1:
Некоторое время назад у меня была аналогичная проблема, и я нашел довольно грубое решение следующим образом:
- в новом столбце (который я скрыл впоследствии) создайте функцию, возвращающую значение TRUE в первом экземпляре каждой уникальной комбинации для проверки (где «комбинация» может быть «Боб 01/03» или «Джим 03/03»).
- Затем для ваших общих итогов выполните а
SUMIF
, основываясь только на тех значениях, которые возвращает этот вспомогательный столбец.
В вашем примере это может выглядеть так:
- ваш вспомогательный столбец-Z. Вышеуказанные столбцы-A, B и C. Строка 1 содержит заголовки.
- В Z2 вы вставляете формулу
=IF(COUNTIFS($A$2:$A2, $A2, $B$2:$B2, $B2) = 0, TRUE, "")
, а затем копируете/автоматически заполняете ее вниз, насколько это необходимо. Проверьте результат, он должен возвращатьсяTRUE
при первой записи на одного техника в день. - Затем, если где — то еще на вашем листе вам нужна сумма того, что сделал Боб, вы делаете
=SUMIFS($C:$C, $A:$A, "Bob", $Z:$Z, TRUE)
, то есть сумма всех случаев, когда техник-боб, а вспомогательная колонка верна.