Формула НАХОДКА Excel с оператором «ИЛИ» не работает, когда вводится [start_num] - PullRequest
0 голосов
/ 27 января 2020

У меня необычная ситуация, когда я пытаюсь вернуть позицию «r» или «s» в ячейке (значение, которое я нахожу, на самом деле не имеет значения, но поведение формулы таково).

Мои формулы:

  • = FIND ({"r", "s"}, B2,70)
  • = FIND ({" r "," s "}, B3,70)

Мои строки (в ячейке B2, B3):

  • C: \ Files \ 2020-01-20_First_Files_For_Processing \ 11223-000-3AA-CCC1-00001r000.pdf
  • C: \ Files \ 2020-01-20_First_Files_For_Processing \ 11223-000-3AA-CCC1-00001s001r000.pdf

Позиция, возвращаемая для первой строки (B2), равна 72 - 'r', что является правильным. Позиция, возвращаемая для второй строки (B3), равна 76 - 'r', что не то, что я хочу. Я хочу, чтобы он нашел первый символ 'r' или 's', в зависимости от того, что появляется первым в строке, что в данном случае должно быть 's' для второй строки в ячейке B3.

Если я поменяйте местами r и s в формуле:

  • = FIND ({"s", "r"}, B2,70)
  • = FIND ({"s "," r "}, B3,70)

Первая строковая формула (B2) возвращает #VALUE (очевидный сбой), а вторая строковая (B3) возвращает позицию 72, что и является хотеть. Очевидно, что эти два конфликтуют друг с другом.

Буду признателен, если кто-нибудь подскажет, есть ли способ заставить эту работу работать?

1 Ответ

2 голосов
/ 27 января 2020

Вы можете использовать следующие формулы для существования:

=SUMPRODUCT(--ISNUMBER(FIND({"r","s"},A1,12)))>0

для позиции первого символа:

=SUMPRODUCT(MIN(--IFERROR(FIND({"r","s"},A1,12),10^10)))

Пример (в B col - ваша формула): enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...