IF и ISNUMBER не являются функциями массива, но их можно использовать в формулах массива.
Вне формулы массива они принимают только одиночные входные значения и возвращают одиночные выходные значения.
В формуле массива они могут принимать массив входных значений и будут возвращать массив выходных данных. значения.
Без нажатия клавиши CTRL-SHIFT-ENTER указанная вами формула не является функцией массива.
То, что вы видите, - это поведение, когда функция ожидает одного значение имеет диапазон и вводится без нажатия клавиши CTRL-SHIFT-ENTER, но диапазон ввода перекрывается со строкой, в которой находится формула.
Ввод диапазона, когда ожидается одно значение, вернет значение из диапазона в той же строке, в которую вводится формула, если она перекрывается, в противном случае она выдаст ошибку.
Вы получаете выходные данные только потому, что размещаете формулу рядом со ссылками на строки; и он дает тот же результат, как если бы вы ввели формулу в обычном режиме, а затем заполнили ее: то есть, поместив =IF(ISNUMBER(A1),A1,"")
в ячейку B1 и заполнив ее.
Обратите внимание, что если вы ввели =IF(ISNUMBER(A1:A100),A1:A100,"")
в ячейку B2 вместо ячейки B1 и затем заполнены, тогда значения все еще появляются в той же строке и не сдвигаются вниз на строку, как вы могли ожидать. Опять же, это потому, что он смотрит на значение в той же строке только потому, что диапазон перекрывается с текущей строкой.
Сравните с помещением =IF(ISNUMBER(A1),A1,"")
в ячейку B2 и заполнением вниз, где вы затем получите смещенные значения вниз на строку, как и ожидалось.
Если вы снова ввели исходную формулу в ячейку B101 (ниже диапазона ввода) и заполнили ее, вы вообще не получите значений (даже если рядом с ячейкой есть данные) потому что диапазон ввода больше не перекрывает текущую ячейку. Фактически, если вы использовали инструмент «Оценить формулу» на вкладке «Формулы», вы увидите, что диапазон A1: A100 немедленно возвращает ошибку #VALUE.
Такое поведение сбивает с толку и его следует избегать любой ценой. Вводите диапазоны только тогда, когда функция ожидает диапазон или когда преднамеренно создается формула массива с помощью CTRL-SHIFT-ENTER.