Игнорировать, если массив в диапазоне не существует формулы Excel

#excel #excel-formula

#excel #excel-формула

Вопрос:

Предполагается, что у меня есть такие данные:

 Range:
  |  A  |  B  |    C   | D |
1 | 50  | 100 | Range1 |   |
2 | 150 | 200 | Range2 |   |
3 | 250 | 300 | Range3 |   |
4 | 350 | 400 | Range4 |   |
Input:
5 |  36 | 324 |  271   |   |
 

Использование следующей формулы даст правильный результат: Range3 (который я хочу), потому что диапазон уже есть.

 =INDEX(C1:C4;SUMPRODUCT(--(C5<=B1:B4);--(C5>=A1:A4);ROW(D1:D4)))
 

Но при использовании той же формулы с разными входными данными это даст результат ошибки: #VALUE! потому что диапазона не существует.

 =INDEX(C1:C4;SUMPRODUCT(--(A5<=B1:B4);--(A5>=A1:A4);ROW(D1:D4)))
 

или

 =INDEX(C1:C4;SUMPRODUCT(--(B5<=B1:B4);--(B5>=A1:A4);ROW(D1:D4)))
 

Итак, как обработать ошибку, если диапазон не существует, используя формулу?

Ответ №1:

Вы можете добавить IFERROR подобную функцию для обработки ошибок —

=IFERROR(INDEX(C1:C4;SUMPRODUCT(--(C5<=B1:B4);--(C5>=A1:A4);ROW(D1:D4))); "Range doesn't exist")