MS Excel: MIN и НАЙТИ / ПОИСК

280
Nukesub

Я пытаюсь понять, что именно Excel делает с этими двумя функциями.

У меня есть много строк строк в одном столбце. Я хочу вытащить первое число в этих строках. Первое число может быть 0,1,2,3 ..., 9, а общая длина строки варьируется. Я хочу найти первый номер и вернуть его и все после него. Я нашел следующий код в Google, когда искал, как найти первое число в строке, но я не понимаю, как это работает. Единственные изменения, которые я сделал, - это то, что я добавил неудачное действие в оператор IF.

=MIN(IF(ISNUMBER(FIND(,A1))=TRUE,FIND(,A1),"N/A")) 

Когда я читаю это, он говорит следующее: Найдены ли какие-либо числа в массиве в моей строке? Если есть, то ISNUMBER() = TRUEпройдет, и код будет выполнять вторую FIND()функцию. Затем он передает результаты второй FIND()функции (то есть позиции всех числовых значений в строке) в MIN()функцию, которая принимает минимум (то есть первую позицию).

Это действительно работает правильно, но то, что я не понимаю, если я делаю это без IF-заявление, то он дает мне #VALUEошибку. Другими словами, если я сделаю это

=MIN(FIND(,A1)) 

Я попадаю #VALUEв выходную ячейку. Зачем? Я только что вынул IF-заявление, насколько я вижу.

Может кто-нибудь объяснить, что мне здесь не хватает. Это способ, которым Excel передает информацию из IF()функции?

0

1 ответ на вопрос

0
techraf

Minдает вам минимум цифр в вашей строке A1, так что, если A1содержит буквы и цифры (например 123text0) Findбез Ifи isnumeric()будет ставить #valueвместо символов и цифр вместо цифр.

MIN(IF(ISNUMBER(FIND(,A1))=TRUE,FIND(,A1),"N/A"))ставит N/Aвместо #valueи Minбудет игнорировать текст, N/Aно не может игнорировать ошибку #value.

If()тестирует Find()за то, что цифры, так что если isnumericэто trueон записывает цифры, если не будет писать N/A Min(1,2,3,"N/A","N/A"..)=1, но при удалении .IfMin(1,2,3,#value,#value..)=#value

Похожие вопросы