Друзья, помогите пожалуйста решить вот такую задачку: Есть таблица в который имеются фамилии и коды торговых точек. По каждой торговой точке проставлено количество отработанных дней сотрудником. Нужно понять по какой именно торговой точке сотрудник отработал больше дней. Важно чтобы в итоговом результате было: ФИО сотрудника, код торговой тт и количество отработанных дней. Возможно кто-то уже сталкивался с подобным, буду признателен за помощь. Файл прилагаю.
memo, и снова те же ошибки. MATCH(LARGE($D$2:$D$19;ROW(A3));$D$2:$D$19;0) что будет если будут равные значения у разных ? Ну и в целом, задача состоит из двух - уникальный список сотрудников , и нахождение по какой точке он отработал больше всего дней. Последнее можно так =RIGHT(MAX(IF($B$2:$B$19=F2;$D$2:$D$19*10^4+$C$2:$C$19));4)
jakim, можно сразу а группировке отобрать строки с максимальным значением (только его вынести в отдельный шаг, чтобы не пересчитывалось для каждой строки). Такой способ будет значительно эффективнее на больших объемах:
Код
let
src = Excel.CurrentWorkbook(){[ Name = "data" ]}[Content],
group = Table.Group (
src,
{ "Фамилия" },
{
{
"tbl",
( t ) =>
[
max = List.Max ( t[Количество отработанных дней] ),
filter = Table.SelectRows ( t, each [Количество отработанных дней] = max )
][filter]
}
}
),
combine = Table.Combine ( group[tbl] )
in
combine