Как брать следующее значение, если уже ранее брали подобное?
Формула для гугл таблицы:
=ДВССЫЛ("ITOG!D" & (ПОИСКПОЗ(НАИБОЛЬШИЙ(ARRAYFORMULA(ЗНАЧЕН(ПОДСТАВИТЬ(ITOG!E$2:E$335; "%"; ""))); СТРОКА(G8)); ARRAYFORMULA(ЗНАЧЕН(ПОДСТАВИТЬ(ITOG!E$2:E$335; "%"; ""))); 0) + 1)) Формула отлично работает, получая номер строки где стоит самое большое число диапазона ITOG!E2:E335 , причём в формуле я учел чтоб она убирала символы "%" что стоят после чисел в ITOG!E2:E335 . В текущей ячейке (см скрин ниже) где стоит формула (яч A9) функция СТРОКА(G8) используется как фиксированное число для функции НАИБОЛЬШИЙ, чтобы получить k-е по величине значение из массива, где k равно 8. Это означает, что формула для места где она стоит (яч A9) будет искать восьмое по величине значение в диапазоне ITOG!E2:E335 С этим в формуле всё окей! Формула берет номер первой найденной строки в диапазоне ITOG!E2:E335 , где находится наибольшее число, допустим это строка с номером "x". Затем она возвращает соответствующее значение из ячейки ITOG!Dx и помещает его в ячейку Ay где собственно эта формула и стоит. Пример проблемы: Но! если у нас в диапазоне ITOG!E2:E335 есть одинаковые значения, то формула возьмёт номер первой найденной строки с 8-ой по величине цифрой из диапазона ITOG!E2:E335 . И т.к. в нашем примере в диапазоне ITOG!E2:E335 8-ое по величине наибольшее значение стоит в ячейках ITOG!E2 и в ITOG!E10 и оно одинаково , то формула выведет в A9 и A10 значение из ячейки ITOG!D2 То из двух одинаковых номеров строк - она возьмет первую найденную строку и по этому в нашем примере она возьмет строку с номером 2. ![]() |
Чем не устраивает стандартная функция =SORT() ?
https://docs.google.com/spreadsheets...it?usp=sharing |
Проблема решена! Просто использовал дополнительный столбец F.
А также добавил, что если есть отрицательные значения в E столбце, то формула норм их обрабатывает , выставляя значения в правильном математическом порядке вот так (как пример): - 4 -3 -2 -1 0 1 2 3 4 5 и тд. Готовое решение в гугл таблице , может кому-то будет полезно: https://docs.google.com/spreadsheets...gid=1284821245 |
Часовой пояс GMT +3, время: 02:11. |