Выборка уникальных текстовых записей за период времени
MESSER
Дата: Вторник, 30.11.2021, 22:48 |
Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация:
0
±
Замечаний:
0% ±
Ребята, выручайте нуба. Только начинаю работать с excel, дабы облегчить работу себе и ряду других отделов и службы на работе. До некоторых моментов допёр сам, некоторые успешно подсмотрел, а тут загвоздка. Никак не могу найти и прописать адекватную формулу, чтобы подсчитывала крайне геморройную необходимость: количество уникальных лиц, получивших определенные взыскания за указанный месяц Т.е. из указанного списка нужна выборка, например: количество людей, которые в течение января получили взыскания за исключением "Устного выговора", при этом, если он уже имел в этом месяце подобное взыскание - человек должен засчитываться в итоге всего один раз. Проще говоря "Количество лиц, допустивших нарушения в определенном месяце (за исключением устного выговора)". Прекрасно понимаю, что прошу (наверное) многого, но буду безмерно рад любой помощи
Ребята, выручайте нуба. Только начинаю работать с excel, дабы облегчить работу себе и ряду других отделов и службы на работе. До некоторых моментов допёр сам, некоторые успешно подсмотрел, а тут загвоздка. Никак не могу найти и прописать адекватную формулу, чтобы подсчитывала крайне геморройную необходимость: количество уникальных лиц, получивших определенные взыскания за указанный месяц Т.е. из указанного списка нужна выборка, например: количество людей, которые в течение января получили взыскания за исключением "Устного выговора", при этом, если он уже имел в этом месяце подобное взыскание - человек должен засчитываться в итоге всего один раз. Проще говоря "Количество лиц, допустивших нарушения в определенном месяце (за исключением устного выговора)". Прекрасно понимаю, что прошу (наверное) многого, но буду безмерно рад любой помощи MESSER
Сообщение отредактировал MESSER - Вторник, 30.11.2021, 22:49
Ответить
Сообщение Ребята, выручайте нуба. Только начинаю работать с excel, дабы облегчить работу себе и ряду других отделов и службы на работе. До некоторых моментов допёр сам, некоторые успешно подсмотрел, а тут загвоздка. Никак не могу найти и прописать адекватную формулу, чтобы подсчитывала крайне геморройную необходимость: количество уникальных лиц, получивших определенные взыскания за указанный месяц Т.е. из указанного списка нужна выборка, например: количество людей, которые в течение января получили взыскания за исключением "Устного выговора", при этом, если он уже имел в этом месяце подобное взыскание - человек должен засчитываться в итоге всего один раз. Проще говоря "Количество лиц, допустивших нарушения в определенном месяце (за исключением устного выговора)". Прекрасно понимаю, что прошу (наверное) многого, но буду безмерно рад любой помощи Автор - MESSER Дата добавления - 30.11.2021 в 22:48
Pelena
Дата: Вторник, 30.11.2021, 23:20 |
Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19177
Репутация:
4417
±
Замечаний:
±
Excel 365 & Mac Excel
Вариант сводной таблицей с моделью данных
Вариант сводной таблицей с моделью данных Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Вариант сводной таблицей с моделью данных Автор - Pelena Дата добавления - 30.11.2021 в 23:20
Светлый
Дата: Среда, 01.12.2021, 10:40 |
Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1829
Репутация:
510
±
Замечаний:
0% ±
Excel 2013, 2016
Попробуйте такую формулу массива:Код
=СУММ(ЕСЛИОШИБКА(1/МУМНОЖ(($B2:$B180&$C2:$C180&$D2:$D180=ТРАНСП($B2:$B180&$C2:$C180&$D2:$D180))*($G2:$G180<>"Устный выговор")*($F2:$F180>=--("1."&СТОЛБЕЦ(A4)&".21"))*($F2:$F180<--("1."&СТОЛБЕЦ(B4)&".21"));($G2:$G180<>"Устный выговор")*($F2:$F180>=--("1."&СТОЛБЕЦ(A4)&".21"))*($F2:$F180<--("1."&СТОЛБЕЦ(B4)&".21")));))
*Или немного иначе:Код
=СЧЁТ($A2:$A180/(ПОИСКПОЗ(ЕСЛИ(($G2:$G180<>"Устный выговор")*($F2:$F180>=--("1."&СТОЛБЕЦ(A4)&".21"))*($F2:$F180<--("1."&СТОЛБЕЦ(B4)&".21"));$B2:$B180&$C2:$C180&$D2:$D180);ЕСЛИ(($G2:$G180<>"Устный выговор")*($F2:$F180>=--("1."&СТОЛБЕЦ(A4)&".21"))*($F2:$F180<--("1."&СТОЛБЕЦ(B4)&".21"));$B2:$B180&$C2:$C180&$D2:$D180;);)=$A2:$A180))
**Вот так правильнее:Код
=СЧЁТ($A2:$A180/(ПОИСКПОЗ(ЕСЛИ(($G2:$G180<>"Устный выговор")*($F2:$F180>=--("1."&СТОЛБЕЦ(A4)&".21"))*($F2:$F180<--("1."&СТОЛБЕЦ(B4)&".21"));СЖПРОБЕЛЫ($B2:$B180&" "&$C2:$C180&" "&$D2:$D180));ЕСЛИ(($G2:$G180<>"Устный выговор")*($F2:$F180>=--("1."&СТОЛБЕЦ(A4)&".21"))*($F2:$F180<--("1."&СТОЛБЕЦ(B4)&".21"));СЖПРОБЕЛЫ($B2:$B180&" "&$C2:$C180&" "&$D2:$D180););)=$A2:$A180))
Файл перезалил.
Попробуйте такую формулу массива:Код
=СУММ(ЕСЛИОШИБКА(1/МУМНОЖ(($B2:$B180&$C2:$C180&$D2:$D180=ТРАНСП($B2:$B180&$C2:$C180&$D2:$D180))*($G2:$G180<>"Устный выговор")*($F2:$F180>=--("1."&СТОЛБЕЦ(A4)&".21"))*($F2:$F180<--("1."&СТОЛБЕЦ(B4)&".21"));($G2:$G180<>"Устный выговор")*($F2:$F180>=--("1."&СТОЛБЕЦ(A4)&".21"))*($F2:$F180<--("1."&СТОЛБЕЦ(B4)&".21")));))
*Или немного иначе:Код
=СЧЁТ($A2:$A180/(ПОИСКПОЗ(ЕСЛИ(($G2:$G180<>"Устный выговор")*($F2:$F180>=--("1."&СТОЛБЕЦ(A4)&".21"))*($F2:$F180<--("1."&СТОЛБЕЦ(B4)&".21"));$B2:$B180&$C2:$C180&$D2:$D180);ЕСЛИ(($G2:$G180<>"Устный выговор")*($F2:$F180>=--("1."&СТОЛБЕЦ(A4)&".21"))*($F2:$F180<--("1."&СТОЛБЕЦ(B4)&".21"));$B2:$B180&$C2:$C180&$D2:$D180;);)=$A2:$A180))
**Вот так правильнее:Код
=СЧЁТ($A2:$A180/(ПОИСКПОЗ(ЕСЛИ(($G2:$G180<>"Устный выговор")*($F2:$F180>=--("1."&СТОЛБЕЦ(A4)&".21"))*($F2:$F180<--("1."&СТОЛБЕЦ(B4)&".21"));СЖПРОБЕЛЫ($B2:$B180&" "&$C2:$C180&" "&$D2:$D180));ЕСЛИ(($G2:$G180<>"Устный выговор")*($F2:$F180>=--("1."&СТОЛБЕЦ(A4)&".21"))*($F2:$F180<--("1."&СТОЛБЕЦ(B4)&".21"));СЖПРОБЕЛЫ($B2:$B180&" "&$C2:$C180&" "&$D2:$D180););)=$A2:$A180))
Файл перезалил. Светлый
Программировать проще, чем писать стихи.
Сообщение отредактировал Светлый - Среда, 01.12.2021, 11:58
Ответить
Сообщение Попробуйте такую формулу массива:Код
=СУММ(ЕСЛИОШИБКА(1/МУМНОЖ(($B2:$B180&$C2:$C180&$D2:$D180=ТРАНСП($B2:$B180&$C2:$C180&$D2:$D180))*($G2:$G180<>"Устный выговор")*($F2:$F180>=--("1."&СТОЛБЕЦ(A4)&".21"))*($F2:$F180<--("1."&СТОЛБЕЦ(B4)&".21"));($G2:$G180<>"Устный выговор")*($F2:$F180>=--("1."&СТОЛБЕЦ(A4)&".21"))*($F2:$F180<--("1."&СТОЛБЕЦ(B4)&".21")));))
*Или немного иначе:Код
=СЧЁТ($A2:$A180/(ПОИСКПОЗ(ЕСЛИ(($G2:$G180<>"Устный выговор")*($F2:$F180>=--("1."&СТОЛБЕЦ(A4)&".21"))*($F2:$F180<--("1."&СТОЛБЕЦ(B4)&".21"));$B2:$B180&$C2:$C180&$D2:$D180);ЕСЛИ(($G2:$G180<>"Устный выговор")*($F2:$F180>=--("1."&СТОЛБЕЦ(A4)&".21"))*($F2:$F180<--("1."&СТОЛБЕЦ(B4)&".21"));$B2:$B180&$C2:$C180&$D2:$D180;);)=$A2:$A180))
**Вот так правильнее:Код
=СЧЁТ($A2:$A180/(ПОИСКПОЗ(ЕСЛИ(($G2:$G180<>"Устный выговор")*($F2:$F180>=--("1."&СТОЛБЕЦ(A4)&".21"))*($F2:$F180<--("1."&СТОЛБЕЦ(B4)&".21"));СЖПРОБЕЛЫ($B2:$B180&" "&$C2:$C180&" "&$D2:$D180));ЕСЛИ(($G2:$G180<>"Устный выговор")*($F2:$F180>=--("1."&СТОЛБЕЦ(A4)&".21"))*($F2:$F180<--("1."&СТОЛБЕЦ(B4)&".21"));СЖПРОБЕЛЫ($B2:$B180&" "&$C2:$C180&" "&$D2:$D180););)=$A2:$A180))
Файл перезалил. Автор - Светлый Дата добавления - 01.12.2021 в 10:40
китин
Дата: Среда, 01.12.2021, 11:32 |
Сообщение № 4
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация:
1073
±
Замечаний:
0% ±
Excel 2007;2010;2016
PQ всемогущий
[vba]
Код
let Источник = Excel.CurrentWorkbook(){[Name="Список_нарушений"]}[Content], #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Номер рапорта", Int64.Type}, {"Фамилия", type text}, {"Имя", type text}, {"Отчество", type text}, {"Дата нарушения", type datetime}, {"Дата объявления", type datetime}, {"Вид взыскания", type text}}), #"Объединенные столбцы" = Table.CombineColumns(#"Измененный тип",{"Фамилия", "Имя", "Отчество"},Combiner.CombineTextByDelimiter(" ", QuoteStyle.None),"ФИО"), #"Строки с примененным фильтром" = Table.SelectRows(#"Объединенные столбцы", each ([Вид взыскания] <> "Устный выговор")), #"Сортированные строки" = Table.Sort(#"Строки с примененным фильтром",{{"ФИО", Order.Ascending}, {"Дата нарушения", Order.Ascending}}), #"Измененный тип1" = Table.TransformColumnTypes(#"Сортированные строки",{{"Дата нарушения", type date}, {"Дата объявления", type date}}), #"Сгруппированные строки" = Table.Group(#"Измененный тип1", {"Дата нарушения"}, {{"Количество", each Table.RowCount(_), type number}}), #"Сортированные строки1" = Table.Sort(#"Сгруппированные строки",{{"Дата нарушения", Order.Ascending}}), #"Извлеченное название месяца" = Table.TransformColumns(#"Сортированные строки1", {{"Дата нарушения", each Date.MonthName(_), type text}}), #"Измененный тип2" = Table.TransformColumnTypes(#"Извлеченное название месяца",{{"Количество", Int64.Type}}), #"Сгруппированные строки1" = Table.Group(#"Измененный тип2", {"Дата нарушения"}, {{"Количество", each List.Sum([Количество]), type number}}), #"Транспонированная таблица" = Table.Transpose(#"Сгруппированные строки1"), #"Повышенные заголовки" = Table.PromoteHeaders(#"Транспонированная таблица", [PromoteAllScalars=true]), #"Измененный тип3" = Table.TransformColumnTypes(#"Повышенные заголовки",{{"Январь", Int64.Type}, {"Февраль", Int64.Type}, {"Март", Int64.Type}}) in #"Измененный тип3"
[/vba]
PQ всемогущий
[vba]
Код
let Источник = Excel.CurrentWorkbook(){[Name="Список_нарушений"]}[Content], #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Номер рапорта", Int64.Type}, {"Фамилия", type text}, {"Имя", type text}, {"Отчество", type text}, {"Дата нарушения", type datetime}, {"Дата объявления", type datetime}, {"Вид взыскания", type text}}), #"Объединенные столбцы" = Table.CombineColumns(#"Измененный тип",{"Фамилия", "Имя", "Отчество"},Combiner.CombineTextByDelimiter(" ", QuoteStyle.None),"ФИО"), #"Строки с примененным фильтром" = Table.SelectRows(#"Объединенные столбцы", each ([Вид взыскания] <> "Устный выговор")), #"Сортированные строки" = Table.Sort(#"Строки с примененным фильтром",{{"ФИО", Order.Ascending}, {"Дата нарушения", Order.Ascending}}), #"Измененный тип1" = Table.TransformColumnTypes(#"Сортированные строки",{{"Дата нарушения", type date}, {"Дата объявления", type date}}), #"Сгруппированные строки" = Table.Group(#"Измененный тип1", {"Дата нарушения"}, {{"Количество", each Table.RowCount(_), type number}}), #"Сортированные строки1" = Table.Sort(#"Сгруппированные строки",{{"Дата нарушения", Order.Ascending}}), #"Извлеченное название месяца" = Table.TransformColumns(#"Сортированные строки1", {{"Дата нарушения", each Date.MonthName(_), type text}}), #"Измененный тип2" = Table.TransformColumnTypes(#"Извлеченное название месяца",{{"Количество", Int64.Type}}), #"Сгруппированные строки1" = Table.Group(#"Измененный тип2", {"Дата нарушения"}, {{"Количество", each List.Sum([Количество]), type number}}), #"Транспонированная таблица" = Table.Transpose(#"Сгруппированные строки1"), #"Повышенные заголовки" = Table.PromoteHeaders(#"Транспонированная таблица", [PromoteAllScalars=true]), #"Измененный тип3" = Table.TransformColumnTypes(#"Повышенные заголовки",{{"Январь", Int64.Type}, {"Февраль", Int64.Type}, {"Март", Int64.Type}}) in #"Измененный тип3"
[/vba]
китин
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Ответить
Сообщение PQ всемогущий
[vba]
Код
let Источник = Excel.CurrentWorkbook(){[Name="Список_нарушений"]}[Content], #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Номер рапорта", Int64.Type}, {"Фамилия", type text}, {"Имя", type text}, {"Отчество", type text}, {"Дата нарушения", type datetime}, {"Дата объявления", type datetime}, {"Вид взыскания", type text}}), #"Объединенные столбцы" = Table.CombineColumns(#"Измененный тип",{"Фамилия", "Имя", "Отчество"},Combiner.CombineTextByDelimiter(" ", QuoteStyle.None),"ФИО"), #"Строки с примененным фильтром" = Table.SelectRows(#"Объединенные столбцы", each ([Вид взыскания] <> "Устный выговор")), #"Сортированные строки" = Table.Sort(#"Строки с примененным фильтром",{{"ФИО", Order.Ascending}, {"Дата нарушения", Order.Ascending}}), #"Измененный тип1" = Table.TransformColumnTypes(#"Сортированные строки",{{"Дата нарушения", type date}, {"Дата объявления", type date}}), #"Сгруппированные строки" = Table.Group(#"Измененный тип1", {"Дата нарушения"}, {{"Количество", each Table.RowCount(_), type number}}), #"Сортированные строки1" = Table.Sort(#"Сгруппированные строки",{{"Дата нарушения", Order.Ascending}}), #"Извлеченное название месяца" = Table.TransformColumns(#"Сортированные строки1", {{"Дата нарушения", each Date.MonthName(_), type text}}), #"Измененный тип2" = Table.TransformColumnTypes(#"Извлеченное название месяца",{{"Количество", Int64.Type}}), #"Сгруппированные строки1" = Table.Group(#"Измененный тип2", {"Дата нарушения"}, {{"Количество", each List.Sum([Количество]), type number}}), #"Транспонированная таблица" = Table.Transpose(#"Сгруппированные строки1"), #"Повышенные заголовки" = Table.PromoteHeaders(#"Транспонированная таблица", [PromoteAllScalars=true]), #"Измененный тип3" = Table.TransformColumnTypes(#"Повышенные заголовки",{{"Январь", Int64.Type}, {"Февраль", Int64.Type}, {"Март", Int64.Type}}) in #"Измененный тип3"
[/vba]
Автор - китин Дата добавления - 01.12.2021 в 11:32
jakim
Дата: Среда, 01.12.2021, 19:20 |
Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1199
Репутация:
313
±
Замечаний:
0% ±
Excel 2010
Тоже PQ, но код немного короче
[vba]Код
let Source = Excel.CurrentWorkbook(){[Name="Список_нарушений"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"Номер рапорта", Int64.Type}, {"Фамилия", type text}, {"Имя", type text}, {"Отчество", type text}, {"Дата нарушения", type datetime}, {"Дата объявления", type datetime}, {"Вид взыскания", type text}}), #"Filtered Rows" = Table.SelectRows(#"Changed Type", each ([Вид взыскания] <> "Устный выговор")), #"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Фамилия", "Имя", "Отчество", "Дата нарушения", "Вид взыскания"}), #"Extracted Month Name" = Table.TransformColumns(#"Removed Columns", {{"Дата объявления", each Date.MonthName(_), type text}}), #"Filtered Rows1" = Table.SelectRows(#"Extracted Month Name", each ([Дата объявления] <> null)), #"Grouped Rows" = Table.Group(#"Filtered Rows1", {"Дата объявления"}, {{"Count", each Table.RowCount(_), type number}}), #"Filtered Rows2" = Table.SelectRows(#"Grouped Rows", each ([Дата объявления] <> "Апрель")), #"Transposed Table" = Table.Transpose(#"Filtered Rows2"), #"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table", [PromoteAllScalars=true]) in #"Promoted Headers"
[/vba]
Тоже PQ, но код немного короче
[vba]Код
let Source = Excel.CurrentWorkbook(){[Name="Список_нарушений"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"Номер рапорта", Int64.Type}, {"Фамилия", type text}, {"Имя", type text}, {"Отчество", type text}, {"Дата нарушения", type datetime}, {"Дата объявления", type datetime}, {"Вид взыскания", type text}}), #"Filtered Rows" = Table.SelectRows(#"Changed Type", each ([Вид взыскания] <> "Устный выговор")), #"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Фамилия", "Имя", "Отчество", "Дата нарушения", "Вид взыскания"}), #"Extracted Month Name" = Table.TransformColumns(#"Removed Columns", {{"Дата объявления", each Date.MonthName(_), type text}}), #"Filtered Rows1" = Table.SelectRows(#"Extracted Month Name", each ([Дата объявления] <> null)), #"Grouped Rows" = Table.Group(#"Filtered Rows1", {"Дата объявления"}, {{"Count", each Table.RowCount(_), type number}}), #"Filtered Rows2" = Table.SelectRows(#"Grouped Rows", each ([Дата объявления] <> "Апрель")), #"Transposed Table" = Table.Transpose(#"Filtered Rows2"), #"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table", [PromoteAllScalars=true]) in #"Promoted Headers"
[/vba]jakim
Ответить
Сообщение Тоже PQ, но код немного короче
[vba]Код
let Source = Excel.CurrentWorkbook(){[Name="Список_нарушений"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"Номер рапорта", Int64.Type}, {"Фамилия", type text}, {"Имя", type text}, {"Отчество", type text}, {"Дата нарушения", type datetime}, {"Дата объявления", type datetime}, {"Вид взыскания", type text}}), #"Filtered Rows" = Table.SelectRows(#"Changed Type", each ([Вид взыскания] <> "Устный выговор")), #"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Фамилия", "Имя", "Отчество", "Дата нарушения", "Вид взыскания"}), #"Extracted Month Name" = Table.TransformColumns(#"Removed Columns", {{"Дата объявления", each Date.MonthName(_), type text}}), #"Filtered Rows1" = Table.SelectRows(#"Extracted Month Name", each ([Дата объявления] <> null)), #"Grouped Rows" = Table.Group(#"Filtered Rows1", {"Дата объявления"}, {{"Count", each Table.RowCount(_), type number}}), #"Filtered Rows2" = Table.SelectRows(#"Grouped Rows", each ([Дата объявления] <> "Апрель")), #"Transposed Table" = Table.Transpose(#"Filtered Rows2"), #"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table", [PromoteAllScalars=true]) in #"Promoted Headers"
[/vba]Автор - jakim Дата добавления - 01.12.2021 в 19:20
MESSER
Дата: Среда, 01.12.2021, 20:48 |
Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация:
0
±
Замечаний:
0% ±
Вариант сводной таблицей с моделью данных К сообщению приложен файл: 1655182.xlsx(182.6 Kb)
Спасибо всем за оперативность. Но если смотреть в плане правильности итоговых цифр, то это самый правильный вариант из предложенных. Есть ли возможность это упаковать в графы, которые на основном листе таблицы через формулу?
Вариант сводной таблицей с моделью данных К сообщению приложен файл: 1655182.xlsx(182.6 Kb)
Спасибо всем за оперативность. Но если смотреть в плане правильности итоговых цифр, то это самый правильный вариант из предложенных. Есть ли возможность это упаковать в графы, которые на основном листе таблицы через формулу?MESSER
Сообщение отредактировал MESSER - Среда, 01.12.2021, 20:48
Ответить
Сообщение Вариант сводной таблицей с моделью данных К сообщению приложен файл: 1655182.xlsx(182.6 Kb)
Спасибо всем за оперативность. Но если смотреть в плане правильности итоговых цифр, то это самый правильный вариант из предложенных. Есть ли возможность это упаковать в графы, которые на основном листе таблицы через формулу?Автор - MESSER Дата добавления - 01.12.2021 в 20:48
прохожий2019
Дата: Среда, 01.12.2021, 21:20 |
Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 1242
Репутация:
317
±
Замечаний:
0% ±
365 Beta Channel
Но если смотреть в плане правильности
...то PQ тоже нужно пользоваться с умом [vba]Код
let from = Excel.CurrentWorkbook(){[Name="Список_нарушений"]}[Content], filtr = Table.SelectRows(from,each [Вид взыскания]<>"Устный выговор"), mnth = Table.TransformColumns(filtr, {"Дата нарушения", Date.MonthName}), to = Table.Group(mnth, {"Дата нарушения"}, {"Количество", each List.Count(List.Distinct([Фамилия]))}) in to
[/vba] а на формулах, например, так:Код
=СЧЁТЗ(УНИК(ФИЛЬТР(Список_нарушений[Фамилия];(ТЕКСТ(Список_нарушений[Дата нарушения];"ММММ")=N3)*(Список_нарушений[Вид взыскания]<>"Устный выговор"))))
Но если смотреть в плане правильности
...то PQ тоже нужно пользоваться с умом [vba]Код
let from = Excel.CurrentWorkbook(){[Name="Список_нарушений"]}[Content], filtr = Table.SelectRows(from,each [Вид взыскания]<>"Устный выговор"), mnth = Table.TransformColumns(filtr, {"Дата нарушения", Date.MonthName}), to = Table.Group(mnth, {"Дата нарушения"}, {"Количество", each List.Count(List.Distinct([Фамилия]))}) in to
[/vba] а на формулах, например, так:Код
=СЧЁТЗ(УНИК(ФИЛЬТР(Список_нарушений[Фамилия];(ТЕКСТ(Список_нарушений[Дата нарушения];"ММММ")=N3)*(Список_нарушений[Вид взыскания]<>"Устный выговор"))))
прохожий2019
Сообщение отредактировал прохожий2019 - Среда, 01.12.2021, 22:16
Ответить
Сообщение Но если смотреть в плане правильности
...то PQ тоже нужно пользоваться с умом [vba]Код
let from = Excel.CurrentWorkbook(){[Name="Список_нарушений"]}[Content], filtr = Table.SelectRows(from,each [Вид взыскания]<>"Устный выговор"), mnth = Table.TransformColumns(filtr, {"Дата нарушения", Date.MonthName}), to = Table.Group(mnth, {"Дата нарушения"}, {"Количество", each List.Count(List.Distinct([Фамилия]))}) in to
[/vba] а на формулах, например, так:Код
=СЧЁТЗ(УНИК(ФИЛЬТР(Список_нарушений[Фамилия];(ТЕКСТ(Список_нарушений[Дата нарушения];"ММММ")=N3)*(Список_нарушений[Вид взыскания]<>"Устный выговор"))))
Автор - прохожий2019 Дата добавления - 01.12.2021 в 21:20