В Column B
хочу
Column A
по убыванию иДо сих пор мне удавалось решить первый шаг, используя эту формулу:
=TAKE(SORT(A1:A10;;-1);5)
Однако теперь я знаю, как реализовать второй шаг. Это должно быть что-то вроде этого
=TAKE(SORT(A1:A10;;-1);5-7)
Знаете ли вы, какая формула мне нужна, чтобы показывать только значения ранга 5,6,7?
ПРИМЕЧАНИЕ. 5,6,7 — это всего лишь пример этого вопроса.
Было бы здорово иметь формулу, в которой этот диапазон можно было бы гибко определять.
Что, если будет ничья?
Это может быть очень просто, в зависимости от ваших фактических данных и требований. Например, потенциально может быть достаточно следующего:
Формула в D1
:
=LARGE(A1:A10,{5;6;7})
Обожаю один лайнер!
Вы также можете попробовать использовать CHOOSEROWS()
:
=CHOOSEROWS(SORT(A1:A10,,-1),5,6,7)
Или можно использовать INDEX()
=INDEX(SORT(A1:A10,,-1),{5;6;7})
Приложение: Кроме того, если вы когда-нибудь захотите получить этот список из отфильтрованных данных, то один из возможных способов:
=LET(α, A2:A11, INDEX(SORT(FILTER(α,MAP(α,LAMBDA(δ,SUBTOTAL(103,δ)))),,-1),SEQUENCE(3,,5)))
Спасибо. Это уже работает. Знаете ли вы, есть ли решение, если у вас файл большего размера и вы хотите включить в него ранги, например, с 22 по 45. В функции ВЫБОР СТРОЕЙ вам нужно будет ввести каждое число от 22 до 45 отдельно. Есть ли решение, в котором вы можете применить диапазон, например, начальную точку 22 и конечную точку 45?
@Michi, тебе нужно будет использовать SEQUENCE()
--> SEQUENCE(24,,22)
, и оба моста внутри SEQUENCE()
можно сделать динамическими, используя ссылки на ячейки !! Как в контексте вашего ОП: =CHOOSEROWS(SORT(A1:A10,,-1),SEQUENCE(3,,5))
Уже есть пара ответов, но вы также можете использовать фильтр.
=FILTER(SORT(B1:B10,,-1),(ROW(B1:B10)>=5)*(ROW(B1:B10)<=7))
TAKE()
так не сработает, вы пробовали использоватьCHOOSEROWS()
?=CHOOSEROWS(SORT(A1:A10,,-1),5,6,7)