справка по формуле Excel по подсчету уникальных дат между указанными датами - PullRequest
0 голосов
/ 14 января 2019

Я пишу формулу Excel для работы. У меня есть лист обновления, который рассчитывает на выходной месяц для каждого человека. Я хочу отслеживать, сколько дней они работали. путем подсчета уникальных дат, которые они вводят в таблицу, но только между датами месяца, помещенными в основную форму поиска. бывший месяц - столбец 01.01.2009 - 01/01/2019 a содержит даты, введенные ячейкой сотрудника e2 содержит начало месяца, ячейка d2 содержит конец месяца, найденный eomonth. Я хочу найти даты в столбце a для дат между e2 - d2 и выходными в e3 количество отработанных дней.

    =if(COUNTIFs(J3:J,J3:J&"",J3:J,">="&N2,J3:J,"<="&O2) = 0 ,"no days worked",SUMPRODUCT((J3:J<>"")/COUNTIFs(J3:J,J3:J&"",J3:J,">="&N2,J3:J,"<="&O2)))

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

1 Ответ

0 голосов
/ 14 января 2019

Это то, что я придумал.

=SUM(--(FREQUENCY(OFFSET(INDEX(Dates,IFERROR(MATCH(Dstart,Dates,0),MATCH(Dstart,Dates,1)+1)),0,0,COUNTIFS(Dates,">=" & Dstart, Dates,"<=" & Dend)),OFFSET(INDEX(Dates,IFERROR(MATCH(Dstart,Dates,0),MATCH(Dstart,Dates,1)+1)),0,0,COUNTIFS(Dates,">=" & Dstart, Dates,"<=" & Dend)))>0))

В основном неудачная попытка сделать эту формулу более читабельной для созданных именованных диапазонов следующим образом.

Dstart = your D2
Dend   = your E2
Dates  = your J:J

Вы можете заменить имена на адреса. Однако я не рекомендую использовать J: J, потому что эти 3 символа представляют 1,4 миллиона ячеек, на которые ссылаются неоднократно. Если ваши данные имеют меньший размер, я рекомендую придерживаться именованного диапазона для них и несколько ограничить размер этого диапазона. Обратите внимание, что формула раздутая, потому что она учитывает только уникальные значения. Вкратце, его действие - найти первую ячейку, соответствующую Dstart, затем установить последнюю ячейку путем подсчета количества записей и, наконец, подсчета уникальных предметов в этом диапазоне.

...