If ваши данные сортируются так, как у вас есть в этом примере, т.е. по первому столбцу по возрастанию, затем по второму столбцу. Затем вы можете использовать комбинацию OFFSET()
, INDEX()
и MATCH()
.
=OFFSET(INDEX(second_column,MATCH(lookup_a,first_column,0)),entry_row-1,0)
Это первый получает адрес ячейки с INDEX(..., MATCH())
первой ячейки, соответствующей ваше значение поиска, то функция OFFSET()
стучит, что вниз, сколько строк вы хотите в этой группе. Конечно, это полностью зависит от того, как отсортировано, как описано.
Если вы хотели ей -smallest записи в несортированном втором столбце (но по-прежнему сгруппировано на первый столбце), то вы можете использовать:
=SMALL(OFFSET(second_column,MATCH(lookup_a,first_column,0)-1,0,MATCH(lookup_a,first_column,1)-MATCH(lookup_a,first_column,0)+1,1),entry_row)
Это имеет то преимущество, возврата #N/A
, если вы выйдете за пределы вашего выбора. Окружающий его IFERROR(...., "")
.
В качестве альтернативы, используя первый способ неупорядоченных данных второго столбца и просто проверить смещение, чтобы увидеть, если она сохраняет значение поиска, вы можете использовать:
=IF(OFFSET(OFFSET(INDEX(second_column,MATCH(lookup_a,first_column,0)),entry_row-1,0),0,-1)=lookup_a,OFFSET(INDEX(second_column,MATCH(lookup_a,first_column,0)),entry_row-1,0),"")
ли что второй столбец сортируется? – Orbling
Первый столбец отсортирован по возрастанию, второй столбец - фактически текст, однако функция OFFSET, INDEX, MATCH работает. – user2984343
Рад это услышать. Второй столбец не нужно сортировать по отражению, поскольку вы вытаскиваете только номер строки. Существует модификация, если вам понадобилась * kth * -маленькая запись, если первая группа все еще была отсортирована. Если на вопрос полностью ответят на ваше удовлетворение, тогда лучше всего отметить его как такового, чтобы препятствовать тому, чтобы кто-то тратил на него время. – Orbling