XLOOKUP с гибким столбцом и критериями поиска, которые не являются уникальными

А Б С Д Э Ф г ЧАС я 1 2023 год 2024 год Столбец 2 2024 год 3 Велосипед А Магазин1 500 60 4 Велосипед Б Магазин4 100 150 Выбранные данные Результат 5 Велосипед С Магазин3 800 200 150 Велосипед Б 6 Велосипед Д Магазин2 90 150 150 Велосипед Д 7 Велосипед Е Магазин1 45 790 790 Велосипед Е 8 Велосипед Ф Магазин1 600 40 980 Велосипед G 9 Велосипед G Магазин4 900 980

В Range I5:I8 я хочу выбрать соответствующее значение из Column A на основе числа в Range H5:H8 и столбца в Cell H2.

В настоящее время я пытаюсь использовать эту функцию VLOOKUP:

=XLOOKUP(H6,$F$1:$F$9,$A$1:$A$9,NA(),0)

Однако, как видите

  1. Column F фиксирован, но он должен быть гибким в зависимости от ввода в Cell H2 и

  2. если число появляется несколько раз в Range H5:H8 (в этом примере 150), формула отображает только первый результат (в этом примере только велосипед B), но она должна отображать все результаты.

Как мне его изменить, чтобы он работал?

Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
1
0
53
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуйте использовать следующую формулу:


=FILTER(A3:A9,1-ISNA(XMATCH(CHOOSECOLS(E3:F9,XMATCH(H2,E1:F1)),H5:H8)))

Или,

=FILTER(A3:A9,1-ISNA(XMATCH(XLOOKUP(H2,E1:F1,E3:F9,""),H5:H8)))

Или,

=FILTER(A3:A9,COUNTIF(H5:H8,XLOOKUP(H2,E1:F1,E3:F9,"")))

Спасибо за ответ. Это работает в очень конкретном примере выше. Однако когда я меняю порядок значений в H5:H8, например, на 980,790,150,150, порядок результата остается таким, как на вашем снимке экрана. Можно ли также настроить порядок результатов в соответствии со значениями в H5:H8?

Michi 27.06.2024 12:25

@Мичи, извини, я не буду на это отвечать, потому что это не входило в вопрос. Поскольку вы оставили комментарий здесь, я тоже прокомментирую то же самое здесь, надеюсь, это поможет, вот что вы можете сделать: =IFERROR(SORTBY(FILTER(A3:A9,COUNTIF(H5:H8,XLOOKUP(H2,E1:F1,‌​E3:F9,"")),""),H5:H8‌​),"")

Mayukh Bhattacharya 27.06.2024 12:33

Кроме того, говоря, что это работает в очень конкретном примере, если все условия соблюдены, приведенные выше формулы определенно должны работать. Нигде в посте не упоминалось, что порядок будет причудливый или случайный! И это довольно распространенная ситуация: XLOOKUP() нельзя вернуть несколько записей для уникального искомого значения. Да, можно и не так, но и по-сложному, с хелперами, но для возврата по нескольким записям есть специальные функции. например FILTER() или INDEX()+AGGREGATE()/SMALL() для более старых версий

Mayukh Bhattacharya 27.06.2024 12:35

Я открыл для этого новый вопрос: stackoverflow.com/questions/78677150/…

Michi 27.06.2024 12:47

@Michi Вы открыли, и я опубликовал ответ !!

Mayukh Bhattacharya 27.06.2024 13:02

Другие вопросы по теме