решение1
Проверьте, подходит ли это вам.
В этом примере данные образца находятся в ячейках A3:C15, решение в E3, а G3 и H3 содержат числа для сравнения.
Теперь в E3 введите следующую формулу и нажмите CTRL+ SHIFT+ ENTERв строке формул, чтобы создать формулу массива. Теперь формула будет автоматически заключена в фигурные скобки, чтобы указать, что это формула массива.
=IF(MIN(IF(A3:A15-$G$3>=0,ROW(A3:A15)-ROW($B$2),9^99))<=MIN(IF(C3:C15-$H$3<=0,ROW(C3:C15)-ROW($B$2),9^99)),INDEX(A3:A15,MIN(IF(A3:A15-$G$3>=0,ROW(A3:A15)-ROW($B$2),9^99))),INDEX(C3:C15,MIN(IF(C3:C15-$H$3<=0,ROW(C3:C15)-ROW($B$2),9^99))))
Чтобы это сработало в примере выше, по крайней мере одна строка должна быть свободной над таблицей. В этом случае строка 2 доступна, так как наши данные начинаются в строке 3. Однако если ваши данные начинаются в самой строке 1, то эта -ROW($B$2)
часть в формуле не требуется.
По сути, он сравнивает столбцы A, C и G3, H3 соответственно и возвращает номер строки, если условие выполнено, в противном случае — большое число в массиве. Сравните MIN из двух и используйте INDEX для выборки соответствующим образом либо из A, либо из C, в зависимости от того, какой из них меньше.
Обратите внимание, что если у вас объемные данные, то формула массива может работать медленнее из-за обработки.
Если в региональных настройках в качестве разделителя списков указана точка с запятой (;), а не запятая (,), то в тексте формулы вам придется заменить запятые на точки с запятой.