Как вывести список по опр. условиям
lizzyone
Дата: Суббота, 25.12.2021, 11:01 |
Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация:
0
±
Замечаний:
0% ±
Уважаемые гуру Excel, пожалуйста, помогите! Есть список сотрудников и есть список скиллов. Там где единица - то значит у человека есть указанный скилл, там где пусто - значит нет скилла. Нужно вывести список сотрудников, у которых по каждой программе есть скилл. Я очень долго и упорно пыталась это сделать с помощью функций индекс и наименьший, но ничего не выходит. Прикрепляю файл для примера. В реальности, конечно, список сотрудников и скиллов значительно выше. Буду очень благодарна за помощь!)
Уважаемые гуру Excel, пожалуйста, помогите! Есть список сотрудников и есть список скиллов. Там где единица - то значит у человека есть указанный скилл, там где пусто - значит нет скилла. Нужно вывести список сотрудников, у которых по каждой программе есть скилл. Я очень долго и упорно пыталась это сделать с помощью функций индекс и наименьший, но ничего не выходит. Прикрепляю файл для примера. В реальности, конечно, список сотрудников и скиллов значительно выше. Буду очень благодарна за помощь!) lizzyone
Ответить
Сообщение Уважаемые гуру Excel, пожалуйста, помогите! Есть список сотрудников и есть список скиллов. Там где единица - то значит у человека есть указанный скилл, там где пусто - значит нет скилла. Нужно вывести список сотрудников, у которых по каждой программе есть скилл. Я очень долго и упорно пыталась это сделать с помощью функций индекс и наименьший, но ничего не выходит. Прикрепляю файл для примера. В реальности, конечно, список сотрудников и скиллов значительно выше. Буду очень благодарна за помощь!) Автор - lizzyone Дата добавления - 25.12.2021 в 11:01
Pelena
Дата: Суббота, 25.12.2021, 11:17 |
Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19182
Репутация:
4420
±
Замечаний:
±
Excel 365 & Mac Excel
пыталась это сделать с помощью функций индекс и наименьший
Код
=ЕСЛИОШИБКА(ИНДЕКС(скиллы!$A$2:$A$8;НАИМЕНЬШИЙ(ЕСЛИ(ИНДЕКС(скиллы!$B$2:$F$8;0;ПОИСКПОЗ(итог!I$1;скиллы!$B$1:$F$1;0))=1;СТРОКА(скиллы!$A$2:$A$8)-1);СТРОКА(A1)));"")
или немассивнаяКод
=ЕСЛИОШИБКА(ИНДЕКС(скиллы!$A$2:$A$8;АГРЕГАТ(15;6;(СТРОКА(скиллы!$A$2:$A$8)-1)/(ИНДЕКС(скиллы!$B$2:$F$8;0;ПОИСКПОЗ(итог!I$1;скиллы!$B$1:$F$1;0))=1);СТРОКА(A1)));"")
пыталась это сделать с помощью функций индекс и наименьший
Код
=ЕСЛИОШИБКА(ИНДЕКС(скиллы!$A$2:$A$8;НАИМЕНЬШИЙ(ЕСЛИ(ИНДЕКС(скиллы!$B$2:$F$8;0;ПОИСКПОЗ(итог!I$1;скиллы!$B$1:$F$1;0))=1;СТРОКА(скиллы!$A$2:$A$8)-1);СТРОКА(A1)));"")
или немассивнаяКод
=ЕСЛИОШИБКА(ИНДЕКС(скиллы!$A$2:$A$8;АГРЕГАТ(15;6;(СТРОКА(скиллы!$A$2:$A$8)-1)/(ИНДЕКС(скиллы!$B$2:$F$8;0;ПОИСКПОЗ(итог!I$1;скиллы!$B$1:$F$1;0))=1);СТРОКА(A1)));"")
Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение пыталась это сделать с помощью функций индекс и наименьший
Код
=ЕСЛИОШИБКА(ИНДЕКС(скиллы!$A$2:$A$8;НАИМЕНЬШИЙ(ЕСЛИ(ИНДЕКС(скиллы!$B$2:$F$8;0;ПОИСКПОЗ(итог!I$1;скиллы!$B$1:$F$1;0))=1;СТРОКА(скиллы!$A$2:$A$8)-1);СТРОКА(A1)));"")
или немассивнаяКод
=ЕСЛИОШИБКА(ИНДЕКС(скиллы!$A$2:$A$8;АГРЕГАТ(15;6;(СТРОКА(скиллы!$A$2:$A$8)-1)/(ИНДЕКС(скиллы!$B$2:$F$8;0;ПОИСКПОЗ(итог!I$1;скиллы!$B$1:$F$1;0))=1);СТРОКА(A1)));"")
Автор - Pelena Дата добавления - 25.12.2021 в 11:17
прохожий2019
Дата: Суббота, 25.12.2021, 12:40 |
Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 1244
Репутация:
317
±
Замечаний:
0% ±
365 Beta Channel
Код
=ФИЛЬТР(скиллы!$A$2:$A$8;ИНДЕКС(скиллы!$B$2:$F$8;;ПОИСКПОЗ(итог!I10;скиллы!$B$1:$F$1;)))
Код
=ФИЛЬТР(скиллы!$A$2:$A$8;ИНДЕКС(скиллы!$B$2:$F$8;;ПОИСКПОЗ(итог!I10;скиллы!$B$1:$F$1;)))
прохожий2019
Ответить
Сообщение Код
=ФИЛЬТР(скиллы!$A$2:$A$8;ИНДЕКС(скиллы!$B$2:$F$8;;ПОИСКПОЗ(итог!I10;скиллы!$B$1:$F$1;)))
Автор - прохожий2019 Дата добавления - 25.12.2021 в 12:40
bmv98rus
Дата: Суббота, 25.12.2021, 13:04 |
Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4107
Репутация:
768
±
Замечаний:
0% ±
Excel 2013/2016
и кросс разумеется и еще может пора п. 5.s упразднить или начать соблюдать?
и кросс разумеется и еще может пора п. 5.s упразднить или начать соблюдать? bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Сообщение отредактировал bmv98rus - Суббота, 25.12.2021, 18:18
Ответить
Сообщение и кросс разумеется и еще может пора п. 5.s упразднить или начать соблюдать? Автор - bmv98rus Дата добавления - 25.12.2021 в 13:04
krosav4ig
Дата: Суббота, 25.12.2021, 14:31 |
Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация:
989
±
Замечаний:
0% ±
Excel 2007,2010,2013
это сделать с помощью функций индекс и наименьший, но ничего не выходит
А оно надо? Вариант PQ+PP
это сделать с помощью функций индекс и наименьший, но ничего не выходит
А оно надо? Вариант PQ+PPkrosav4ig
К сообщению приложен файл:
-4-.xlsx
(154.1 Kb)
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение это сделать с помощью функций индекс и наименьший, но ничего не выходит
А оно надо? Вариант PQ+PPАвтор - krosav4ig Дата добавления - 25.12.2021 в 14:31
bmv98rus
Дата: Суббота, 25.12.2021, 14:42 |
Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4107
Репутация:
768
±
Замечаний:
0% ±
Excel 2013/2016
осталось предположить, что версия PRO или одинокий Excel у ТС.
осталось предположить, что версия PRO или одинокий Excel у ТС. bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Ответить
Сообщение осталось предположить, что версия PRO или одинокий Excel у ТС. Автор - bmv98rus Дата добавления - 25.12.2021 в 14:42
прохожий2019
Дата: Суббота, 25.12.2021, 14:59 |
Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 1244
Репутация:
317
±
Замечаний:
0% ±
365 Beta Channel
тогда уж голым PQ обойтись можно [vba]Код
let f=(x)=>{x[s]{0}}&x[Столбец1], from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], unpiv = Table.UnpivotOtherColumns(from, {"Столбец1"}, "s", "v"), group = Table.Group(unpiv, "s", {"tmp", f}), tbl = Table.FromColumns(group[tmp]), to = Table.PromoteHeaders(tbl) in to
[/vba] [offtop]предположить, что версия PRO
ТС не ограничивал свою хотелку конкретной версией, чем плохи решения в 365?
тогда уж голым PQ обойтись можно [vba]Код
let f=(x)=>{x[s]{0}}&x[Столбец1], from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], unpiv = Table.UnpivotOtherColumns(from, {"Столбец1"}, "s", "v"), group = Table.Group(unpiv, "s", {"tmp", f}), tbl = Table.FromColumns(group[tmp]), to = Table.PromoteHeaders(tbl) in to
[/vba] [offtop]предположить, что версия PRO
ТС не ограничивал свою хотелку конкретной версией, чем плохи решения в 365? прохожий2019
Сообщение отредактировал прохожий2019 - Суббота, 25.12.2021, 15:02
Ответить
Сообщение тогда уж голым PQ обойтись можно [vba]Код
let f=(x)=>{x[s]{0}}&x[Столбец1], from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], unpiv = Table.UnpivotOtherColumns(from, {"Столбец1"}, "s", "v"), group = Table.Group(unpiv, "s", {"tmp", f}), tbl = Table.FromColumns(group[tmp]), to = Table.PromoteHeaders(tbl) in to
[/vba] [offtop]предположить, что версия PRO
ТС не ограничивал свою хотелку конкретной версией, чем плохи решения в 365? Автор - прохожий2019 Дата добавления - 25.12.2021 в 14:59
bmv98rus
Дата: Суббота, 25.12.2021, 15:07 |
Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4107
Репутация:
768
±
Замечаний:
0% ±
Excel 2013/2016
ну хорошо уточним, что или 2019 и новее, или Office 2013-2016 PRO, или Просто Excel 2013-2016.
ну хорошо уточним, что или 2019 и новее, или Office 2013-2016 PRO, или Просто Excel 2013-2016. bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Сообщение отредактировал bmv98rus - Суббота, 25.12.2021, 15:09
Ответить
Сообщение ну хорошо уточним, что или 2019 и новее, или Office 2013-2016 PRO, или Просто Excel 2013-2016. Автор - bmv98rus Дата добавления - 25.12.2021 в 15:07
krosav4ig
Дата: Суббота, 25.12.2021, 18:28 |
Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация:
989
±
Замечаний:
0% ±
Excel 2007,2010,2013
bmv98rus , а как же 2010? https://www.microsoft.com/en-us/download/details.aspx?id=43348 и до кучи еще вариант в PQ[vba]Код
let Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], Columns = List.Skip(Table.ColumnNames(Source),1), Replace = Table.ReplaceValue(Source,1,each [Столбец1],Replacer.ReplaceValue,Columns), ToColumns = Table.ToColumns(Table.SelectColumns(Replace,Columns)), DropNulls = List.Transform(ToColumns,List.RemoveNulls), ToTable = Table.FromColumns(DropNulls,Columns) in ToTable
[/vba]
bmv98rus , а как же 2010? https://www.microsoft.com/en-us/download/details.aspx?id=43348 и до кучи еще вариант в PQ[vba]Код
let Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], Columns = List.Skip(Table.ColumnNames(Source),1), Replace = Table.ReplaceValue(Source,1,each [Столбец1],Replacer.ReplaceValue,Columns), ToColumns = Table.ToColumns(Table.SelectColumns(Replace,Columns)), DropNulls = List.Transform(ToColumns,List.RemoveNulls), ToTable = Table.FromColumns(DropNulls,Columns) in ToTable
[/vba]krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Сообщение отредактировал krosav4ig - Суббота, 25.12.2021, 18:28
Ответить
Сообщение bmv98rus , а как же 2010? https://www.microsoft.com/en-us/download/details.aspx?id=43348 и до кучи еще вариант в PQ[vba]Код
let Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], Columns = List.Skip(Table.ColumnNames(Source),1), Replace = Table.ReplaceValue(Source,1,each [Столбец1],Replacer.ReplaceValue,Columns), ToColumns = Table.ToColumns(Table.SelectColumns(Replace,Columns)), DropNulls = List.Transform(ToColumns,List.RemoveNulls), ToTable = Table.FromColumns(DropNulls,Columns) in ToTable
[/vba]Автор - krosav4ig Дата добавления - 25.12.2021 в 18:28
bmv98rus
Дата: Суббота, 25.12.2021, 18:32 |
Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4107
Репутация:
768
±
Замечаний:
0% ±
Excel 2013/2016
Поддержка закончилась
Замечательный Временно просто медведь , процентов на 20 .
Ответить
Сообщение Поддержка закончилась Автор - bmv98rus Дата добавления - 25.12.2021 в 18:32
прохожий2019
Дата: Суббота, 25.12.2021, 22:46 |
Сообщение № 11
Группа: Проверенные
Ранг: Старожил
Сообщений: 1244
Репутация:
317
±
Замечаний:
0% ±
365 Beta Channel
ReplaceValue всё же медленная штука - списочные преобразования шустрее [vba]Код
let from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], nms=List.Skip(Table.ColumnNames(from)), lst=List.Buffer(from[Столбец1]), acc=List.Accumulate(nms,{},(s,c)=>s&{List.Transform(List.PositionOf(Table.Column(from,c),1,2),(x)=>lst{x})}), to = Table.FromColumns(acc,nms) in to
[/vba] хотя unpivot ещё быстрее (пока оперативы хватает )
ReplaceValue всё же медленная штука - списочные преобразования шустрее [vba]Код
let from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], nms=List.Skip(Table.ColumnNames(from)), lst=List.Buffer(from[Столбец1]), acc=List.Accumulate(nms,{},(s,c)=>s&{List.Transform(List.PositionOf(Table.Column(from,c),1,2),(x)=>lst{x})}), to = Table.FromColumns(acc,nms) in to
[/vba] хотя unpivot ещё быстрее (пока оперативы хватает ) прохожий2019
Сообщение отредактировал прохожий2019 - Суббота, 25.12.2021, 22:47
Ответить
Сообщение ReplaceValue всё же медленная штука - списочные преобразования шустрее [vba]Код
let from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], nms=List.Skip(Table.ColumnNames(from)), lst=List.Buffer(from[Столбец1]), acc=List.Accumulate(nms,{},(s,c)=>s&{List.Transform(List.PositionOf(Table.Column(from,c),1,2),(x)=>lst{x})}), to = Table.FromColumns(acc,nms) in to
[/vba] хотя unpivot ещё быстрее (пока оперативы хватает ) Автор - прохожий2019 Дата добавления - 25.12.2021 в 22:46
jakim
Дата: Воскресенье, 26.12.2021, 21:03 |
Сообщение № 12
Группа: Друзья
Ранг: Старожил
Сообщений: 1199
Репутация:
313
±
Замечаний:
0% ±
Excel 2010
И мой примитивный вариант
[vba]Код
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"1С", Int64.Type}, {"excel", Int64.Type}, {"python", Int64.Type}, {"sql", Int64.Type}, {"PowerBI", Int64.Type}}), #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Column1"}, "Attribute", "Value"), #"Sorted Rows" = Table.Sort(#"Unpivoted Other Columns",{{"Attribute", Order.Ascending}}), #"Removed Columns" = Table.RemoveColumns(#"Sorted Rows",{"Value"}), #"Filtered Rows" = Table.SelectRows(#"Removed Columns", each ([Attribute] = "1С")), #"Removed Columns1" = Table.RemoveColumns(#"Filtered Rows",{"Attribute"}), #"Renamed Columns" = Table.RenameColumns(#"Removed Columns1",{{"Column1", "1C"}}) in #"Renamed Columns"
[/vba]
И мой примитивный вариант
[vba]Код
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"1С", Int64.Type}, {"excel", Int64.Type}, {"python", Int64.Type}, {"sql", Int64.Type}, {"PowerBI", Int64.Type}}), #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Column1"}, "Attribute", "Value"), #"Sorted Rows" = Table.Sort(#"Unpivoted Other Columns",{{"Attribute", Order.Ascending}}), #"Removed Columns" = Table.RemoveColumns(#"Sorted Rows",{"Value"}), #"Filtered Rows" = Table.SelectRows(#"Removed Columns", each ([Attribute] = "1С")), #"Removed Columns1" = Table.RemoveColumns(#"Filtered Rows",{"Attribute"}), #"Renamed Columns" = Table.RenameColumns(#"Removed Columns1",{{"Column1", "1C"}}) in #"Renamed Columns"
[/vba]jakim
Ответить
Сообщение И мой примитивный вариант
[vba]Код
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"1С", Int64.Type}, {"excel", Int64.Type}, {"python", Int64.Type}, {"sql", Int64.Type}, {"PowerBI", Int64.Type}}), #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Column1"}, "Attribute", "Value"), #"Sorted Rows" = Table.Sort(#"Unpivoted Other Columns",{{"Attribute", Order.Ascending}}), #"Removed Columns" = Table.RemoveColumns(#"Sorted Rows",{"Value"}), #"Filtered Rows" = Table.SelectRows(#"Removed Columns", each ([Attribute] = "1С")), #"Removed Columns1" = Table.RemoveColumns(#"Filtered Rows",{"Attribute"}), #"Renamed Columns" = Table.RenameColumns(#"Removed Columns1",{{"Column1", "1C"}}) in #"Renamed Columns"
[/vba]Автор - jakim Дата добавления - 26.12.2021 в 21:03