Подскажите, как вывести значение, если числа равны?
Т8=ИНДЕКС(B4:Q59;ПОИСКПОЗ(T10;Q4:Q59;0);1)
U8=ИНДЕКС(B4:Q59;ПОИСКПОЗ(U10;Q4:Q59;0);1)
V8=ИНДЕКС(B4:Q59;ПОИСКПОЗ(V10;Q4:Q59;0);1)
----------------------------------------------------------
T10=НАИБОЛЬШИЙ($Q$4:Q$59;СТРОКА(B1))
U10=НАИБОЛЬШИЙ($Q$4:Q$59;СТРОКА(B2))
V10=НАИБОЛЬШИЙ($Q$4:Q$59;СТРОКА(B3))
---------------------------------------------------------
Как видно на картинке, ячейки Q7 и Q8 равны. Как при одинаковых числах вывести мне значение ячейки B8?
почему именно q8? чем она особенная?
Цитата: iron priest от 23.05.2017, 20:37
почему именно q8? чем она особенная?
Эта таблица лидеров турнира по теннису.
в ячейках Q7 и Q8 - сейчас одинаковое кол-во очков, 28.
Т.е получается что у обоих игроков сейчас равное кол-во очков.
А мне надо вывести имя второго игрока в таблицу на второе место, а у меня дублируется имя первого игрока, потому что берется первое наибольшее значение.
ЦитироватьКак видно на картинке...
Видно, но формулу в картинке писать не получится.
Цитата: Виталий Поликарпов от 23.05.2017, 20:43вывести имя второго игрока в таблицу на второе место, а у меня дублируется имя первого игрока, потому что берется первое наибольшее значение.
если будет 3 или 5 таких позиций, то какую строку выводить?
Не жмите бездумно на кнопку цитирования [МОДЕРАТОР]
Цитироватьесли будет 3 или 5 таких позиций, то какую строку выводить?
По порядку первые три начиная с верхней.
Вот полная таблица.
1 место
=НАИБОЛЬШИЙ(Q7:Q10;1)
2 место
=ЕСЛИ(СЧЁТЕСЛИ(Q7:Q10;НАИБОЛЬШИЙ(Q7:Q10;1))>1;НАИБОЛЬШИЙ(СМЕЩ(Q7;ПОИСКПОЗ(НАИБОЛЬШИЙ(Q7:Q10;1);Q7:Q10;0);):Q10;1))
3 место
=ЕСЛИ(СЧЁТЕСЛИ(Q7:Q10;НАИБОЛЬШИЙ(Q7:Q10;1))>2;НАИБОЛЬШИЙ(СМЕЩ(Q7;ПОИСКПОЗ(НАИБОЛЬШИЙ(Q7:Q10;1);Q7:Q10;0)+ПОИСКПОЗ(НАИБОЛЬШИЙ(Q7:Q10;1);СМЕЩ(Q7;ПОИСКПОЗ(НАИБОЛЬШИЙ(Q7:Q10;1);Q7:Q10;0);):Q10;0);):Q10;1))
Не нужно цитировать без необходимости и копировать целыми сообщениями [МОДЕРАТОР]
Ваша формула ищет число, а мне нужно вывести текст из колонки B. напротив этого числа.
И кстати в формуле 3место - выдает ЛОЖЬ.
Цитата: Виталий Поликарпов от 24.05.2017, 10:14
И кстати в формуле 3место - выдает ЛОЖЬ.
Значит только 2 одинаковых значения.
1 место
=ИНДЕКС(B7:B10;ПОИСКПОЗ(НАИБОЛЬШИЙ(Q7:Q10;1);Q7:Q10;0);1)
2 место
=ИНДЕКС(СМЕЩ(Q7;ПОИСКПОЗ(НАИБОЛЬШИЙ(Q7:Q10;1);Q7:Q10;0)-1;0):B10;ПОИСКПОЗ(НАИБОЛЬШИЙ(Q7:Q10;1);Q7:Q10;0);1)
3 место
=ИНДЕКС(СМЕЩ(Q7;ПОИСКПОЗ(НАИБОЛЬШИЙ(Q7:Q10;1);Q7:Q10;0)+ПОИСКПОЗ(НАИБОЛЬШИЙ(Q7:Q10;1);СМЕЩ(Q7;ПОИСКПОЗ(НАИБОЛЬШИЙ(Q7:Q10;1);Q7:Q10;0);):Q10;0)-1;0):B10;ПОИСКПОЗ(НАИБОЛЬШИЙ(Q7:Q10;1);Q7:Q10;0);1)
когда 3 одинаковых значения
Виталий Поликарпов, Вы на замечания будете обращать внимание?
Ряд наибольших:
=НАИБОЛЬШИЙ($Q$4:Q$59;СТОЛБЕЦ(A1))
Фамилии (
формула массива, вводится тремя клавишами):
=ИНДЕКС($B$4:$B$59;НАИБОЛЬШИЙ(ЕСЛИ($Q$4:$Q$59=28;СТРОКА($Q$4:$Q$59)-3);СЧЁТЕСЛИ($T$10:T10;T10)))
Перед вводом второй формулы нужно разъединить ячейки. ФМ в объединенные не вводится.
Цитироватьв формуле 3место - выдает ЛОЖЬ.
ЦитироватьЗначит только 2 одинаковых значения.
Вы неправильно поняли. Показывать нужно три лучших результата, не обязательно одинаковые
Цитата: vikttur от 24.05.2017, 10:59
Виталий Поликарпов, Вы на замечания будете обращать внимание?
I'm sorry.
-----------------
Три лучших результата, я вывожу с помощью:
=НАИБОЛЬШИЙ($Q$4:Q$59;СТРОКА(B1))
=НАИБОЛЬШИЙ($Q$4:Q$59;СТРОКА(B2))
=НАИБОЛЬШИЙ($Q$4:Q$59;СТРОКА(B3))
Ваша формула =ИНДЕКС($B$4:$B$59;НАИБОЛЬШИЙ(ЕСЛИ($Q$4:$Q$59=28;СТРОКА($Q$4:$Q$59)-3);СЧЁТЕСЛИ($T$10:T10;T10)))
Выводит ИСТИНА, и еще момент ЕСЛИ($Q$4:$Q$59=28... - там не всегда будет значение 28. оно меняется...
Может я не так обьясняю??? Если открыть таблицу. то на 2 месте, сейчас должно быть имя "Кирилл Эл-ль"
Цитировать
Вы неправильно поняли. Показывать нужно три лучших результата, не обязательно одинаковые
Предлагались условия:
=ЕСЛИ(СЧЁТЕСЛИ(Q7:Q10;НАИБОЛЬШИЙ(Q7:Q10;1))>1
=ЕСЛИ(СЧЁТЕСЛИ(Q7:Q10;НАИБОЛЬШИЙ(Q7:Q10;1))>2
2 zs5
См. полную таблицу. Твои решения не работают.
ЦитироватьВаша формула... Выводит ИСТИНА
Читайте внимательно:
Цитироватьформула массива, вводится тремя клавишами
Ctrl+Shift+EnterЦитироватьТри лучших результата, я вывожу с помощью...
А я Вам показал, как сделать протягиваемую формулу. В Вашем же варианте вместо
СТРОКА() достаточно написать номер (1, 2 или 3)
Ну где же работает, когда нет. Ну может вы имеете ввиду при текущих значениях??? тогда. да, Но если игроки получили еще по 5 очков, то формула не работает. у меня выводит #ЧИСЛО!
Либо я что-то не так делаю.., делал все по инструкции, разьеденил ячейки и в ставил как массив.
Где же не работает? Работает. Давайте еще сообщений по 5 напишем... Покажите, ведь так легче понять, в чем ошибка, и не нужно гадать.
Вот так сейчас у меня.
Вот, теперь ошибка видна. Появилась при копировании/вставке в сообщение, в моем файле рабочая.
Вместо константы (28) нужно указать ссылку на ячейку ниже, на T10.
=ЕСЛИ(СЧЁТЕСЛИ(Q4:Q59;НАИБОЛЬШИЙ(Q4:Q59;1))>1;СМЕЩ(B4;ПОИСКПОЗ(НАИБОЛЬШИЙ(Q4:Q59;1);Q4:Q59;0);0);ИНДЕКС(B4:B59;ПОИСКПОЗ(НАИБОЛЬШИЙ(Q4:Q59;2);Q4:Q59;0);1))
Цитата: vikttur от 25.05.2017, 09:41
Вот, теперь ошибка видна. Появилась при копировании/вставке в сообщение, в моем файле рабочая.
Вместо константы (28) нужно указать ссылку на ячейку ниже, на T10.
Спасибо огромное!!! Все работает!!
Если еще актуально:
Обычно для того, чтобы отсортировать формулами таблицу такого вида, я предпочитаю добавлять к целевой переменной (обычно числовой) уникальный индекс (обычно на базе номера строки)
=> ЦелеваяПеременная + СТРОКА()/1000
=> ЦелеваяПеременная + (1000-СТРОКА())/1000
здесь 1000 - это число гарантированно большее числа сортируемых строк.
Во избежание путаницы вспомогательный уникальный индекс можно скрывать при помощи форматирования ячеек.
Цитата: IKor от 25.05.2017, 18:36
Обычно для того, чтобы отсортировать формулами таблицу такого вида, я предпочитаю добавлять к целевой переменной
актуально: что считать "ЦелеваяПеременная" в актуальной задаче
Цитата: zs5 от 26.05.2017, 08:01
актуально: что считать "ЦелеваяПеременная" в актуальной задаче
Если добавить "уникальный индекс на базе номера строки" к данным из столбца Q (см. первое сообщение в теме), то значения ячеек Q7 и Q8 станут отличаться друг от друга, что позволит не только функциям НАИБОЛЬШИЙ(;k)/НАИМЕНЬШИЙ(;k) выбирать оба результата, но и с помощью функции ПОИСКПОЗ(;;0) точно определять номера соответствующих строк.
Из личного опыта могу сказать, что для поиска номера строки вместо ПОИСКПОЗ() можно использовать комбинацию функций вида:
номер_строки = ОТБР(1000*(НАИБОЛЬШИЙ(;k)-ОТБР(НАИБОЛЬШИЙ(;k);0));0)
однако, зачастую результат вычисления оказывается некорректно округленным.
Поэтому я предпочитаю преобразовывать результаты функции НАИБОЛЬШИЙ() в текстовый формат; вырезать из него нужные номера строк; а затем преобразовывать их обратно в числовой формат...
Цитата: IKor от 30.05.2017, 16:46
Поэтому я предпочитаю преобразовывать результаты функции НАИБОЛЬШИЙ() в текстовый формат; вырезать из него нужные номера строк; а затем преобразовывать их обратно в числовой формат...
Perche... Сложить значение с номером строки
Цитата: zs5 от 31.05.2017, 09:14Perche... Сложить значение с номером строки
Не вполне Вас понял.
Я предлагаю складывать целевое_значение (важно, чтобы оно было целым) с некоторым дробным числом, сгенерированным на основании уникального значения - например, номера строки. В результате мы получим вектор (столбец) числовых значений, в котором точно не будут встречаться одинаковые - т.е. его легко можно будет отсортировать по возрастанию / убыванию.
Цитата: IKor от 31.05.2017, 13:29
в котором точно не будут встречаться одинаковые
=СТРОКА()+Q7
2 zs5
Идея заключается в том, чтобы при помощи формул по возможности корректно сортировать оригинальную таблицу данных, в которой присутствует столбец целых чисел с возможными повторяющимися значениями.
Если просто использовать функцию НАИМЕНЬШИЙ() / НАИБОЛЬШИЙ(), то одинаковые значения "отсортируются рядом", но окажется достаточно сложно различить их между собой для подтягивания данных других столбцов из оригинальной таблицы.
Именно поэтому я и предлагаю добавить дробную часть к целевому столбцу целых чисел, позволяющую гарантированно различить числа между собой, не нарушая оригинальный порядок сортировки (!)
Цитата: zs5 от 31.05.2017, 16:57
=СТРОКА()+Q7
Ваше же предложение, помимо того, что нарушает порядок сортировки столбца, так еще и не гарантирует уникальности данных в новом целевом столбце: сумма значения из ячеек столбца Q и номера его строки может оказаться одинаковой для разных ячеек...
Цитата: IKor от 02.06.2017, 09:58
сумма значения из ячеек столбца Q и номера его строки может оказаться одинаковой для разных ячеек...
это исключает ранг:
=РАНГ.РВ(Q4;$Q$4:$Q$59)
ZS5
Я проверил Ваш способ сортировки, он так и не смог понять его логику...
Посмотрите прилагаемый файл. В нем я реализовал оба варианта - возможно, Вы имели в виду что-то другое...
Цитата: IKor от 02.06.2017, 09:58
сумма значения из ячеек столбца Q и номера его строки может оказаться одинаковой для разных ячеек...
файл прилагается
Спасибо за разъяснения.
Признаю, что Ваш способ генерации уникальных индексов позволяет отсортировать столбец даже нецелых числовых значений.
Однако, как мне кажется, он некорректно обрабатывает нецелые числа в целевой переменной (разумеется, используемой мной способ также не справляется с ними, но он и не претендует :)):
=> почему Олег (целевая переменная = 1,97) получил индекс 2,2425, что больше индекса Пети, у которого значение целевой переменной было больше (2) => другими словами Ваш способ сортирует Олега после Пети, хотя Вы искусственно (уменьшив величину целевой переменной) "хотели поместить Олега перед Петей"
=> более того, изменение целевой переменной Олега в другую сторону (2 => 2,1) изменяет не только Олегов индекс, но и индекс Пети, что перемещает его в отсортированном списке выше Миши, хотя ни Мишину, ни Петину целевые переменные мы не меняли...
В любом случае, Ваш способ не кажется мне более простым и наглядным, по сравнению с используемый мной.
Сравните:
IKor: УникальныйИндекс = ЦелеваяПеременная + СТРОКА/Константу
ZS5: УникальныйИндекс = (ЦелеваяПеременная + СТРОКА)/Ранг(ЦелевыхПеременных)
Цитата: IKor от 02.06.2017, 16:16
способ генерации уникальных индексов позволяет отсортировать столбец даже нецелых числовых значений.
=РАНГ(Q3;$Q$3:$Q$8;1)+СЧЁТЕСЛИ($Q$3:Q3;Q3)-1
2 zs5
Спасибо, я разобрался в представленной Вами логике.
Цитата: IKor от 06.06.2017, 10:34
2 zs5
Спасибо
а 2-ку за что поставили