![Сопоставить точный текст в ячейке с кратными значениями](https://rvso.com/image/1628629/%D0%A1%D0%BE%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%D1%82%D0%BE%D1%87%D0%BD%D1%8B%D0%B9%20%D1%82%D0%B5%D0%BA%D1%81%D1%82%20%D0%B2%20%D1%8F%D1%87%D0%B5%D0%B9%D0%BA%D0%B5%20%D1%81%20%D0%BA%D1%80%D0%B0%D1%82%D0%BD%D1%8B%D0%BC%D0%B8%20%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F%D0%BC%D0%B8.png)
У меня есть столбец со значениями, разделенными запятыми, и мне нужно найти, присутствует ли определенный текст. Проблема в том, что функция 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):
- Разделите столбец на 5 новых, каждый из которых будет содержать текст между двумя запятыми.
- Составьте числа из текста.
- Теперь вы можете сравнивать числа с числами. Предположим, что E — это исходный столбец, как в вашем примере:
Формула в первом вспомогательном столбце будет выглядеть так:
=LEFT(E5;FIND(",",E5)-1)
Формула во втором вспомогательном столбце будет иметь вид:
=MID(E5;FIND(",";E5)+1;FIND(",";E5;FIND(",";E5)+1)-FIND(",";E5)-1)
и так далее.