Всегда получайте первое значение выше результата XLOOKUP (независимо от того, сколько строк находится между ними)

  | A  |        B        | C |    D    |
--|----|-----------------|---|---------|---
1 |    |Brand A          |   | Criteria|
2 |    |Production Line1 |   |   P2    |
3 | P1 |      500        |   |         |
4 | P1 |      100        |   | Result  |
5 | P1 |      800        |   | Brand B |
6 |    |                 |   |         |
7 |    |Brand B          |   |         | 
8 |    |Production Line1 |   |         |
9 | P2 |      700        |   |         |
10| P2 |      300        |   |         |
11|    |                 |   |         |
12|    |Brand C          |   |         |
13|    |Production Line2 |   |         |
14| P3 |      200        |   |         |
15| P3 |      500        |   |         |
16| P3 |      800        |   |         |
17| P3 |      300        |   |         |
18|    |                 |   |         |

В Cell D5 я использую эту формулу для извлечения brand на основе критериев в Cell D2:

D5 = OFFSET(XLOOKUP(D2;A1:A18;B1:B18;NA();0);-2;0)

Все это работает отлично


Теперь может случиться так, что пользователь вставит строки между

ряд 1 и 2 или
ряд 7 и 8 или
ряд 12 и 13.

Если это произойдет, приведенная выше формула больше не будет работать, поскольку она привязана к -2.

Есть ли у вас идеи, есть ли способ сделать его динамическим, чтобы он всегда работал независимо от того, сколько строк пользователь вставляет между ними?

Видите ли вы, что существует энергонезависимая альтернатива вашему предыдущему вопросу?

JvdV 17.06.2024 13:44

Да, но даже с этим решением у меня проблема: при вставке строк оно не работает.

Michi 17.06.2024 13:50

Да, это справедливо, но суть моего комментария не в этом;)

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

Ответы 1

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

Вы описали, как пользователи могут вводить строки между строками, описывающими бренд и производственную линию. Поэтому можно с уверенностью сказать, что название бренда будет на две позиции ниже предыдущего критерия:

Формула в D2:

=IFERROR(INDEX(B:B,XMATCH("?*",A1:INDEX(A:A,XMATCH(D2,A:A)-1),2,-1)+2),B1)

Другой вариант заключается в том, что все строки в B:B, начиная с бренда, заполняются:

Формула в D5:

=INDEX(B:B,XMATCH("",B1:INDEX(B:B,XMATCH(D2,A:A)-1)&"",,-1)+1)

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