
Это очень урезанная версия моего проекта.
У меня есть таблица данных, рассчитанных из ежедневных табелей учета рабочего времени через PowerQuery. Она представляет собой периоды болезни каждого сотрудника за последние двенадцать месяцев.
Я запускаю несколько других запросов после этой таблицы, возвращая имя сотрудника, учреждение, на котором он работает, и его расчетнуюБрэдфорд Счет
Наконец, я получаю таблицу, содержащую формулу, чтобы я мог фильтровать по объекту для отправки различным менеджерам.
Столбцы G:M
на изображении ниже будут разлитым диапазоном, хотя в моем примере разлитым является только первый столбец.
Рядом с таблицей выше я хочу добавить даты для каждого периода отсутствия рядом с каждым сотрудником. Идея в том, что менеджер может затем сообщить мне, чтобы я удалил определенные периоды из оценки, когда вопрос будет рассмотрен.
Эта формула сделает это, но мне нужно будет перетащить вниз для каждой строки в моем разлитом диапазоне. Я еще не решил, как я хочу это представить, поэтому есть два возвращаемых значения.
=LET(SickDates,TEXT(FILTER(FILTER(RollingSick,RollingSick[Emp No]=G2),{0,0,0,1,1}),"dd-mm-yy"),
JoinDates, INDEX(SickDates,,1) & " to " & INDEX(SickDates,,2),
Return1, TEXTJOIN(" | ",FALSE,JoinDates),
Return2, TRANSPOSE(JoinDates),
Return1)
Я бы хотел, чтобы это было выложено, если возможно, но не могу понять.
Несколько моих попыток:
Возвращает одни и те же даты в каждой строке.
=IF(G2#="","",
LET(SickDates,TEXT(FILTER(FILTER(RollingSick,RollingSick[Emp No]=G2),{0,0,0,1,1}),"dd-mm-yy"),
JoinDates, INDEX(SickDates,,1) & " to " & INDEX(SickDates,,2),
Return1, TEXTJOIN(" | ",FALSE,JoinDates),
Return2, TRANSPOSE(JoinDates),
Return1))
Возврат #N/A
=LET(SickDates,TEXT(FILTER(FILTER(RollingSick,RollingSick[Emp No]=INDEX(G2#,SEQUENCE(COUNTA(G2#)))),{0,0,0,1,1}),"dd-mm-yy"),
JoinDates, INDEX(SickDates,,1) & " to " & INDEX(SickDates,,2),
Return1, TEXTJOIN(" | ",FALSE,JoinDates),
Return2, TRANSPOSE(JoinDates),
Return1)
Возвращает только первую строку:
=LET(SickDates,TEXT(FILTER(FILTER(RollingSick,RollingSick[Emp No]=INDEX(G2#,ROW()-ROW($G$1))),{0,0,0,1,1}),"dd-mm-yy"),
JoinDates, INDEX(SickDates,,1) & " to " & INDEX(SickDates,,2),
Return1, TEXTJOIN(" | ",FALSE,JoinDates),
Return2, TRANSPOSE(JoinDates),
Return1)