
Я хочу, чтобы Excel проверял интервалы во всех строках на другом листе, в конечном итоге возвращая значение true, если мое значение находится в любом из этих интервалов, и извлекая значение в этой заданной строке, если это так.
Давайте назовем проверяемое значение "X". Я хочу, чтобы Excel проверял, находится ли X между значениями в ячейках A# и B#, возвращая строку в ячейке C#, если значение true, или "", если значение false. Это достаточно просто визуализировать в виде функции IF. Моя проблема в том, что я также хочу, чтобы программа автоматически проверяла A#+1 и B#+1, возвращая C#+1, если первая проверка ложна, A#+2 и B#+2, возвращая C#+2, если вторая проверка ложна, и так далее. Я имею дело с листами, содержащими более тысячи строк, поэтому было бы непрактично просто встраивать несколько операторов IF в формулу.
Кажется, это каким-то образом возможно с помощью функций ARRAY или CSE, но у меня нет опыта работы с ними, и, честно говоря, я в любом случае не могу понять, как это сделать самостоятельно.
Можете ли вы придумать способ сделать это, используя только Excel?
решение1
Самый простой способ — просто использовать оператор IF и скопировать его в следующую строку.
Или, с помощью новых функций динамического массива Excel в Office 365, вы можете использовать одну формулу, которая будет автоматически распространяться на всю необходимую область.
Формула в ячейке E2 на снимке экрана:
=IF((x>=A2:A6)*(x<=B2:B6),C2:C6,"")
... и он автоматически скопировал себя вниз, чтобы вернуть «bb» в следующей строке и пробелы после нее.