2014-11-18 2 views
9

Рассмотрим следующие две формулы:Как проверить, если ячейка содержит подстановочные знаки (*) символ

=IF(SEARCH("*", A1), "true", "false") 

=IF(SEARCH(CHAR(42), A1), "true", "false") 

Я использую это, чтобы попытаться обнаружить, если ячейка содержит * персонажу, но это возвращает «true» для всех ячеек. Я могу только предположить, что Excel видит * как шаблон.

Как вы обнаруживаете существование * в Excel?

+4

Я думаю, что вы можете использовать символ тильды «~», чтобы избежать звезды в поиске. –

+1

Ответ Зака ​​верный – wahwahwah

+0

Был уже [ответ на это на SO] (http://superuser.com/questions/681890/how-to-remove-from-my-cells) - пока он не мигрировал. – pnuts

ответ

10

По этой ссылке на microsoft вы должны быть в состоянии использовать ~

Microsoft Excel использует тильду (~) в качестве маркеров, чтобы указать, что следующего символа является буквальным. Когда вы используете диалоговое окно «Найти и заменить» , чтобы найти или заменить символ, например тильду (~), звездочку (*) или знак вопроса (?), Вы должны добавить тильду (~) до в поле «Найти».

Так что измените =IF(SEARCH("*", A1), "true", "false") на =IF(SEARCH("~*", A1), "true", "false") и он должен работать.

+2

Не выбирать нит, но поскольку чувствительность к регистру не влияет на результат, 'FIND' может быть немного более эффективной функцией для использования. например '= ISNUMBER (FIND (" ~ * ", A1))'. '#VALUE!' Ни в коем случае не является 'FALSE'. – Jeeped

Смежные вопросы