Сопоставить точный текст в ячейке с кратными значениями

Сопоставить точный текст в ячейке с кратными значениями

У меня есть столбец со значениями, разделенными запятыми, и мне нужно найти, присутствует ли определенный текст. Проблема в том, что функция FIND() и связанные с ней функции не имеют способа сопоставить точный текст, поэтому, если я ищу число 1, функции сопоставляются с 11. Любая идея будет оценена по достоинству.

Заранее спасибо.

введите описание изображения здесь

решение1

Поскольку значения разделены запятыми, просто найдите также запятые (и добавьте запятую в начало и конец искомой строки).

eg:   =FIND(","&F1&",",","&A1&",")  

решение2

Чтобы найти в ячейке 1, а не 11, можно использовать регулярное выражение.

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

  • 1,в начале текста ( ^якорь), или
  • ,1,в любом месте текста или
  • ,1в конце текста ( $якорь).

В нем содержится чрезвычайно полная информацияэтот ответ Stack Overflowобъясняя, как это сделать в Excel.

В общих чертах вам нужно будет добавить ссылку на библиотеку регулярных выражений и написать пользовательскую функцию для вашего регулярного выражения. Затем вы сможете использовать свою пользовательскую функцию в формулах рабочего листа так же, как вы используете встроенные функции Excel, такие как FIND().

решение3

Если ваш формат такой, как вы показали, вы можете попробовать эту формулу:

=IF(VALUE(LEFT(D4,FIND(",",D4,1)-1))=E4,"left",IF(VALUE(RIGHT(D4,LEN(D4)-FIND(",",D4,1))) = E4,"right",""))

решение4

Предположим, что вы можете обоснованно ожидать, что количество записей в этой ячейке будет ниже некоторого известного максимума (скажем, 5), и они состоят из чисел, как в вашем примере (11,13):

  1. Разделите столбец на 5 новых, каждый из которых будет содержать текст между двумя запятыми.
  2. Составьте числа из текста.
  3. Теперь вы можете сравнивать числа с числами. Предположим, что E — это исходный столбец, как в вашем примере:

Формула в первом вспомогательном столбце будет выглядеть так:

=LEFT(E5;FIND(",",E5)-1)

Формула во втором вспомогательном столбце будет иметь вид:

=MID(E5;FIND(",";E5)+1;FIND(",";E5;FIND(",";E5)+1)-FIND(",";E5)-1)

и так далее.

Связанный контент