Lost your password?


Хитрости »
Основные понятия (26)
Сводные таблицы и анализ данных (10)
Графики и диаграммы (5)
Работа с VB проектом (12)
Power BI и Power Query (22)
Условное форматирование (5)
Списки и диапазоны (5)
Макросы(VBA процедуры) (68)
Разное (43)
Баги и глюки Excel (4)

Как заменить/удалить/найти звездочку?


Наверное кто-то уже сталкивался с подобной ситуацией - на листе в ячейках записаны слова/предложения, в которых имеется знак - * - звездочка. Иногда его нужно либо найти, либо заменить на другой символ, либо просто удалить. Например, строку вида "496*120*45" надо преобразовать в такой: "496x120x45". И вот тут как раз возникает проблема: символ звездочки(как и знак вопроса) является служебным символом - он заменяет собой группу любых символов(а знак вопроса - один любой символ). И при попытке заменить только звездочку Excel заменят ВСЕ данные в ячейке. Сейчас пока разговор про стандартную замену - (Excel 2003: Правка -Заменить; Excel 2007-2010: вкладка Главная -Найти и выделить -Заменить) - Ctrl+H. Неужели ничего нельзя сделать? Можно. Разработчики предусмотрели такой вариант. Просто перед служебным символом необходимо поставить другой служебный знак, который сообщает Excel, что следующий за ним символ не выполняет свои служебные функции, а выступает в роли обычного символа. Знак этот называется Тильда. Вот такой - ~. На обычной клавиатуре этот знак обычно расположен на кнопке вместе с буквой Ё.

Таким образом в поле Найти поискового окошка должен получиться такой текст - "~*"(в поле Заменить на указывается символ/ы, которым требуется заменить звездочку. Если звездочку надо удалить - поле оставляем пустым). И не стоит забывать про дополнительные параметры замены(они раскрываются при нажатии кнопки "Параметры" поискового окна). А именно - необходимо поставить/снять галочку у параметра Ячейка целиком. В рассматриваемом случае эту галочку необходимо снять.

Если же надо найти саму Тильду, то тут все также - просто указываете две тильды: ~~

По тому же принципу этот символ используется и в формулах, которые работают с служебными символами (ВПР, СЧЁТЕСЛИ, СУММЕЛИ и т.п.)

Но. Всегда есть но. Некоторые формулы любые символы воспринимают как текст сразу и для них нет такого понятия, как служебный символ. К ним относится функция НАЙТИ. В данной функции для поиска данного символа не надо ставить перед ним еще один, потому как она не воспринимает символы подстановки как таковые. Она абсолютно любой символ принимает как текст и ищет строго то, что указано:
=НАЙТИ("~"; A1)
=НАЙТИ("*"; A1)
=НАЙТИ("?"; A1)
=FIND("~", A1)
=FIND("*", A1)
=FIND("?", A1)

Есть аналогичная ей функция - ПОИСК. В этой функции обязательно применять тот же принцип, что и во всех вышеперечисленных - т.е. явно указывать Excel, что мы ищем спец.символ:
=ПОИСК("~~"; A1)
=ПОИСК("~*"; A1)
=ПОИСК("~?"; A1)
=SEARCH("~~", A1)
=SEARCH("~*", A1)
=SEARCH("~?", A1)

И к слову сказать, символы звездочки и вопр.знака так же используются формулами ВПР(VLOOKUP), ГПР(HLOOKUP) и ПОИСКПОЗ(MATCH). При этом самый неприятный момент здесь заключается в том, что звездочка, вопросительный знак или сама тильда могут быть внутри текста в искомом массиве данных:
Таблица со служебными символами и ВПР
и как видно в этом случае данные с тильдой не могут быть найдены. Чтобы найти их через ВПР(и прочие схожие функции) необходимо заменить тильду на две. Я бы советовал делать это так(на примере формул из таблицы выше):
=ВПР(ПОДСТАВИТЬ(F2;"~";"~~");$A$2:$C$7;3;0)
=VLOOKUP(SUBSTITUTE(F2,"~","~~"),$A$2:$C$7,3,0)

И хоть данные со звездочкой и вопр.знаком в большинстве случаев мешать не будут, можно попасть на ситуацию, когда тексту со звездочкой будет сопоставлен неверный результат:
Таблица значений ВПР и звездочка
почему ВПР так поступает лучше прочитать здесь: Как найти значение в другой таблице или сила ВПР. А в этой статье я лишь приведу формулу, как избежать таких проблем. Так же как и с тильдой используем функцию ПОДСТАВИТЬ(SUBSTITUTE), но теперь подставляем тильду к звездочке:
=ВПР(ПОДСТАВИТЬ(D2;"*";"~*");$A$2:$A$4;1;0)
=VLOOKUP(SUBSTITUTE(D2,"*","~*"),$A$2:$A$4,1,0)


Статья помогла? Поделись ссылкой с друзьями!
  Плейлист   Видеоуроки

Поиск по меткам

Access apple watch Multex Power Query и Power BI VBA управление кодами Бесплатные надстройки Дата и время Записки ИП Надстройки Печать Политика Конфиденциальности Почта Программы Работа с приложениями Разработка приложений Росстат Тренинги и вебинары Финансовые Форматирование Функции Excel акции MulTEx ссылки статистика
Обсуждение: 17 комментариев
  1. saidus:

    Вы просто спасатели ребята, респект вам.

  2. Вячеслав:

    здравствуйте! подскажите плиз: есть значения -после перенесения из ворда в эксель-обрезало 0-т е нули в номерах тел получились типа 501112233 681112233, 661112233 и текст, цифры, др- между ними. нужно-3задачи: 1-я-добавить 0-т е нуль-это проще в опции найти и заменить или как?-но записываю в поле найти и заменить шаблон по количеству оставшихся в наличии цифр #########-пишет что "данные, удовлетворяющие поиску не обнаружены"; 2-я: проверить телефоны на повторяемость; 3-я задача-выбрать эти телефоны списком для экспорта в другой файл эксель или тхт формата-списком, другую с запятыми или без-написать только макрос можно? буду признателен Вам за совет

  3. Dmitriy:

    Судя по заголовку тут должно объясняться и как удалить символ, а не только найти и заменить. Так как можно просто удалить звездочку?

  4. Борис:

    Огромное спасибо! Ровно то, что надо было. SPSS значимые данные помечает звездочками, а в таблице 84*84 клетки выискивать все вручную, мягко говоря, утомительно, куда удобнее выделение цветом по условию.

  5. Алексей:

    А можно каким-либо образом через Найти и Заменить найти в выделенной группе ячеек текст (то что ищется и меняется запишу тут в кавычках), например: "(шт)" и заменить на служебный символ переноса строки и "(шт)"?
    Нужно что бы в ячейках где есть текст "(шт)" перед ним появился служебный символ переноса строки (как Alt+Enter).

    • Алексей, попробуйте сделать так. В окне замены в качестве искомого пишете(без кавычек): "(шт)". В качестве текста для замены: сочетание клавиш Ctrl+J и текст "(шт)"

Поделитесь своим мнением

Комментарии, не имеющие отношения к комментируемой статье, могут быть удалены без уведомления и объяснения причин. Если есть вопрос по личной проблеме - добро пожаловать на Форум


Для оформления сообщений Вы можете использовать следующие тэги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Тренинги

Заказать
Юридическая информация

Использование материалов сайта

Политика Конфиденциальности

ИП Щербаков Дмитрий Валентинович
ОГРНИП: 318502700083307
ИНН: 504013350772

Наши партнеры

Перейти
Перейти

Счетчики

Рейтинг@Mail.ru Яндекс.Метрика
© 2023 Excel для всех   Войти