Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Сделать ТОП 10 из данных в строке - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Сделать ТОП 10 из данных в строке (Формулы/Formulas)
Сделать ТОП 10 из данных в строке
Ocharovashka666 Дата: Суббота, 24.07.2021, 22:04 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 167
Репутация: 4 ±
Замечаний: 0% ±

Excel 2016
Добрый вечер! Когда то Вы мне помогли сделать ТОП10 из данных в столбике... Сейчас мне надо сделать ТОП10 из данных в строке... Помогите пожалуйста, очень прошу
К сообщению приложен файл: 1906748.xlsx (12.1 Kb)


Рада нашему знакомству
 
Ответить
СообщениеДобрый вечер! Когда то Вы мне помогли сделать ТОП10 из данных в столбике... Сейчас мне надо сделать ТОП10 из данных в строке... Помогите пожалуйста, очень прошу

Автор - Ocharovashka666
Дата добавления - 24.07.2021 в 22:04
Egyptian Дата: Суббота, 24.07.2021, 23:29 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 514
Репутация: 185 ±
Замечаний: 0% ±

Excel 2013/2016
Как-то так (массивно):
Код
=SUM(IF(($B$2:$M$2=D24)*($B$3:$M$3=C24),$B$4:$M$18))

или не массивно:
Код
=SUMPRODUCT(($B$2:$M$2=D24)*($B$3:$M$3=C24)*$B$4:$M$18)
К сообщению приложен файл: 5207768.xlsx (12.6 Kb)
 
Ответить
СообщениеКак-то так (массивно):
Код
=SUM(IF(($B$2:$M$2=D24)*($B$3:$M$3=C24),$B$4:$M$18))

или не массивно:
Код
=SUMPRODUCT(($B$2:$M$2=D24)*($B$3:$M$3=C24)*$B$4:$M$18)

Автор - Egyptian
Дата добавления - 24.07.2021 в 23:29
Светлый Дата: Суббота, 24.07.2021, 23:37 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1829
Репутация: 510 ±
Замечаний: 0% ±

Excel 2013, 2016
Три формулы в файле.
К сообщению приложен файл: 1906748-1.xlsx (12.4 Kb)


Программировать проще, чем писать стихи.
 
Ответить
СообщениеТри формулы в файле.

Автор - Светлый
Дата добавления - 24.07.2021 в 23:37
Egyptian Дата: Воскресенье, 25.07.2021, 00:59 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 514
Репутация: 185 ±
Замечаний: 0% ±

Excel 2013/2016
Эх, а я то наивно думал отделаться простейшей формулой :D
Ну да ладно:
(все массивно)
1. Извлекаем суммы:
Код
=LARGE(MMULT(TRANSPOSE(ROW($A$4:$A$18)^0),($B$4:$M$18)*($B$4:$M$18>0)),COUNTIF($I$23:I23,">="&I23)+1)

2. Извлекаем коды:
Код
=INDEX($3:$3,-MOD(AGGREGATE(14,6,MMULT(TRANSPOSE(ROW($A$4:$A$18)^0),($B$4:$M$18)*($B$4:$M$18>0))*1000-COLUMN($B$3:$M$3),ROWS($J$24:J24)),-1000))

3. Извлекаем имена:
Код
=INDEX($2:$2,-MOD(AGGREGATE(14,6,MMULT(TRANSPOSE(ROW($A$4:$A$18)^0),($B$4:$M$18)*($B$4:$M$18>0))*1000-COLUMN($B$2:$M$2),ROWS($K$24:K24)),-1000))


Ну и в отдельной таблице в качестве бонуса, вангуя, что такая хотелка может появиться, добавил критерии по датам.
К сообщению приложен файл: 5331614.xlsx (13.9 Kb)


Сообщение отредактировал Egyptian - Воскресенье, 25.07.2021, 04:00
 
Ответить
СообщениеЭх, а я то наивно думал отделаться простейшей формулой :D
Ну да ладно:
(все массивно)
1. Извлекаем суммы:
Код
=LARGE(MMULT(TRANSPOSE(ROW($A$4:$A$18)^0),($B$4:$M$18)*($B$4:$M$18>0)),COUNTIF($I$23:I23,">="&I23)+1)

2. Извлекаем коды:
Код
=INDEX($3:$3,-MOD(AGGREGATE(14,6,MMULT(TRANSPOSE(ROW($A$4:$A$18)^0),($B$4:$M$18)*($B$4:$M$18>0))*1000-COLUMN($B$3:$M$3),ROWS($J$24:J24)),-1000))

3. Извлекаем имена:
Код
=INDEX($2:$2,-MOD(AGGREGATE(14,6,MMULT(TRANSPOSE(ROW($A$4:$A$18)^0),($B$4:$M$18)*($B$4:$M$18>0))*1000-COLUMN($B$2:$M$2),ROWS($K$24:K24)),-1000))


Ну и в отдельной таблице в качестве бонуса, вангуя, что такая хотелка может появиться, добавил критерии по датам.

Автор - Egyptian
Дата добавления - 25.07.2021 в 00:59
jakim Дата: Воскресенье, 25.07.2021, 09:14 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1199
Репутация: 313 ±
Замечаний: 0% ±

Excel 2010
Если будет итоговая строка, то формула для суммы по убыванию

Код
=IFERROR(AGGREGATE(14;6;$B$19:$M$19;A24);"")

а для фамилий

Код
=IFERROR(INDEX($B$2:$M$2;;AGGREGATE(15;6;COLUMN($A:$M)/($B$19:$M$19=B24);COUNTIF(B$24:B24;B$24:B$33)));"")
К сообщению приложен файл: 1906748_1.xlsx (12.5 Kb)
 
Ответить
Сообщение
Если будет итоговая строка, то формула для суммы по убыванию

Код
=IFERROR(AGGREGATE(14;6;$B$19:$M$19;A24);"")

а для фамилий

Код
=IFERROR(INDEX($B$2:$M$2;;AGGREGATE(15;6;COLUMN($A:$M)/($B$19:$M$19=B24);COUNTIF(B$24:B24;B$24:B$33)));"")

Автор - jakim
Дата добавления - 25.07.2021 в 09:14
Ocharovashka666 Дата: Воскресенье, 25.07.2021, 09:40 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 167
Репутация: 4 ±
Замечаний: 0% ±

Excel 2016
hands Супер!!! спасибо Вам всем огромное, о такой роскоши даже и не мечтала...


Рада нашему знакомству
 
Ответить
Сообщениеhands Супер!!! спасибо Вам всем огромное, о такой роскоши даже и не мечтала...

Автор - Ocharovashka666
Дата добавления - 25.07.2021 в 09:40
Ocharovashka666 Дата: Воскресенье, 25.07.2021, 13:34 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 167
Репутация: 4 ±
Замечаний: 0% ±

Excel 2016
А если ТОП по времени делать... не могу ФИО и КОДА извлечь... помогите пожалуйста добить отчет
К сообщению приложен файл: 8288907.xlsx (15.2 Kb)


Рада нашему знакомству
 
Ответить
СообщениеА если ТОП по времени делать... не могу ФИО и КОДА извлечь... помогите пожалуйста добить отчет

Автор - Ocharovashka666
Дата добавления - 25.07.2021 в 13:34
Ocharovashka666 Дата: Воскресенье, 25.07.2021, 17:57 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 167
Репутация: 4 ±
Замечаний: 0% ±

Excel 2016
Помогите, пожалуйста. а то завтра на собрании выступать с данными и вносить (утверждать) этот файл в работу...


Рада нашему знакомству
 
Ответить
СообщениеПомогите, пожалуйста. а то завтра на собрании выступать с данными и вносить (утверждать) этот файл в работу...

Автор - Ocharovashka666
Дата добавления - 25.07.2021 в 17:57
Ocharovashka666 Дата: Воскресенье, 25.07.2021, 18:08 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 167
Репутация: 4 ±
Замечаний: 0% ±

Excel 2016
Только здесь по критерию даты не надо, данные уже будут браться из таблицы отсортированной по критерию с датами


Рада нашему знакомству
 
Ответить
СообщениеТолько здесь по критерию даты не надо, данные уже будут браться из таблицы отсортированной по критерию с датами

Автор - Ocharovashka666
Дата добавления - 25.07.2021 в 18:08
Светлый Дата: Воскресенье, 25.07.2021, 18:41 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 1829
Репутация: 510 ±
Замечаний: 0% ±

Excel 2013, 2016
Одинакового времени быть не должно, но даже если показывает одно и то же, оно немного отличается:
Код
=ИНДЕКС(B$3:M$3;ПОИСКПОЗ(K24;B$19:M$19;))
*Или более универсальная. Массивная:
Код
=ИНДЕКС($3:$3;ПРАВБ(НАИБОЛЬШИЙ(ОКРУГЛ(B$19:M$19*10^8;-2)+СТОЛБЕЦ(B$19:M$19);СТРОКА(L1));2))


Программировать проще, чем писать стихи.

Сообщение отредактировал Светлый - Воскресенье, 25.07.2021, 18:49
 
Ответить
СообщениеОдинакового времени быть не должно, но даже если показывает одно и то же, оно немного отличается:
Код
=ИНДЕКС(B$3:M$3;ПОИСКПОЗ(K24;B$19:M$19;))
*Или более универсальная. Массивная:
Код
=ИНДЕКС($3:$3;ПРАВБ(НАИБОЛЬШИЙ(ОКРУГЛ(B$19:M$19*10^8;-2)+СТОЛБЕЦ(B$19:M$19);СТРОКА(L1));2))

Автор - Светлый
Дата добавления - 25.07.2021 в 18:41
Ocharovashka666 Дата: Воскресенье, 25.07.2021, 19:38 | Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 167
Репутация: 4 ±
Замечаний: 0% ±

Excel 2016
Спасибо))) спасли))) hands


Рада нашему знакомству
 
Ответить
СообщениеСпасибо))) спасли))) hands

Автор - Ocharovashka666
Дата добавления - 25.07.2021 в 19:38
Egyptian Дата: Воскресенье, 25.07.2021, 21:31 | Сообщение № 12
Группа: Проверенные
Ранг: Ветеран
Сообщений: 514
Репутация: 185 ±
Замечаний: 0% ±

Excel 2013/2016
А я все думал, в чем же подвох, уж слишком все гладко было)) Хотя признаю, мой косяк, надо было проверить, будет ли работать с дробными.
Для кодов:
Код
=INDEX($3:$3;-MOD(LARGE(MMULT(TRANSPOSE(ROW($A$4:$A$18)^0);ROUND(B$4:M$18*10^6;-2)*($B$4:$M$18>0))*1000-COLUMN($B$3:$M$3);ROWS($H$24:H24));-1000))

Для имен:
Код
=INDEX($2:$2;-MOD(LARGE(MMULT(TRANSPOSE(ROW($A$4:$A$18)^0);ROUND(B$4:M$18*10^6;-2)*($B$4:$M$18>0))*1000-COLUMN($B$2:$M$2);ROWS($I$24:I24));-1000))

Светлому отдельное спасибо, за эту часть
Код
=ROUND(B$4:M$18*10^6;-2)
(сам че-то не сообразил).
К сообщению приложен файл: 6669030.xlsx (15.1 Kb)
 
Ответить
СообщениеА я все думал, в чем же подвох, уж слишком все гладко было)) Хотя признаю, мой косяк, надо было проверить, будет ли работать с дробными.
Для кодов:
Код
=INDEX($3:$3;-MOD(LARGE(MMULT(TRANSPOSE(ROW($A$4:$A$18)^0);ROUND(B$4:M$18*10^6;-2)*($B$4:$M$18>0))*1000-COLUMN($B$3:$M$3);ROWS($H$24:H24));-1000))

Для имен:
Код
=INDEX($2:$2;-MOD(LARGE(MMULT(TRANSPOSE(ROW($A$4:$A$18)^0);ROUND(B$4:M$18*10^6;-2)*($B$4:$M$18>0))*1000-COLUMN($B$2:$M$2);ROWS($I$24:I24));-1000))

Светлому отдельное спасибо, за эту часть
Код
=ROUND(B$4:M$18*10^6;-2)
(сам че-то не сообразил).

Автор - Egyptian
Дата добавления - 25.07.2021 в 21:31
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Сделать ТОП 10 из данных в строке (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!