Не работает замена в excel. Поиск и замена данных в Excel — команда Найти и заменить

Прочие модели 21.08.2019
Прочие модели

Работа с VB проектом (12)
Условное форматирование (5)
Списки и диапазоны (5)
Макросы(VBA процедуры) (63)
Разное (39)
Баги и глюки Excel (3)

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

Наверное кто-то уже сталкивался с подобной ситуацией - на листе в ячейках записаны слова/предложения, в которых имеется знак - * - звездочка. Иногда его нужно либо найти, либо заменить на другой символ, либо просто удалить. Например, строку вида "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)

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

{"Bottom bar":{"textstyle":"static","textpositionstatic":"bottom","textautohide":true,"textpositionmarginstatic":0,"textpositiondynamic":"bottomleft","textpositionmarginleft":24,"textpositionmarginright":24,"textpositionmargintop":24,"textpositionmarginbottom":24,"texteffect":"slide","texteffecteasing":"easeOutCubic","texteffectduration":600,"texteffectslidedirection":"left","texteffectslidedistance":30,"texteffectdelay":500,"texteffectseparate":false,"texteffect1":"slide","texteffectslidedirection1":"right","texteffectslidedistance1":120,"texteffecteasing1":"easeOutCubic","texteffectduration1":600,"texteffectdelay1":1000,"texteffect2":"slide","texteffectslidedirection2":"right","texteffectslidedistance2":120,"texteffecteasing2":"easeOutCubic","texteffectduration2":600,"texteffectdelay2":1500,"textcss":"display:block; padding:12px; text-align:left;","textbgcss":"display:block; position:absolute; top:0px; left:0px; width:100%; height:100%; background-color:#333333; opacity:0.6; filter:alpha(opacity=60);","titlecss":"display:block; position:relative; font:bold 14px \"Lucida Sans Unicode\",\"Lucida Grande\",sans-serif,Arial; color:#fff;","descriptioncss":"display:block; position:relative; font:12px \"Lucida Sans Unicode\",\"Lucida Grande\",sans-serif,Arial; color:#fff; margin-top:8px;","buttoncss":"display:block; position:relative; margin-top:8px;","texteffectresponsive":true,"texteffectresponsivesize":640,"titlecssresponsive":"font-size:12px;","descriptioncssresponsive":"display:none !important;","buttoncssresponsive":"","addgooglefonts":false,"googlefonts":"","textleftrightpercentforstatic":40}}

Мы уже разбирали как быстро данные в Excel по группе ячеек — в столбце или массиве данных. Но как это сделать в одной ячейке и желательно формулой? К примеру у вас есть список машин, и каждый день вам присылают файл с новым списком машин, нужно проверить есть ли такие номера в вашем основном списке. Но как обычно в номера машин добавляют пробелы или слеши, а самый худший вариант букву О вместо нуля Если вы регулярно выполняете одну и ту же операцию, то вручную нажимать Ctrl + H каждый раз неудобно, плюс придется запоминать какие именно символы нужно заменять. Функции ПОДСТАВИТЬ и ЗАМЕНИТЬ в Excel это отличный выход из ситуации.

Эти функции немного обделены вниманием, не знаю почему, но уверен они супер полезны для обработки и сведения больших массивов данных, ведь ими можно легко настроить автозамену. Ниже расскажу поподробнее о каждый и чем все же они различаются. Разбирать будем на примере.

Есть номер А 777 АА 01 из него надо формулой сделать А777АА01 формулой.

Как работает формула показано на первой картинке. Состав разберем ниже:

ПОДСТАВИТЬ(текст;стар_текст;нов_текст;[номер_вхождения])

  • Текст — адрес ячейки или сам текст в котором надо сделать замену символов, в примере А 777 АА 01
  • Стар_текст — что нам нужно заменить? Пробел.
  • Нов_текст — на что нужно заменить? Меняем на ничего, т.е. на пусто в формуле, это будет «»
  • Номер_вхождения — заполнять необязательно, но при этом реквизит очень полезный, в официальной справке говорится о «вхождении символа», но объясню простым языком. Здесь вы можете указать номер символа в строке (пробела в нашем случае). Т.е. если нужно заменить только пробел между 777 и АА (это второй по счету пробел в номере), формула будет выглядеть как
=ПОДСТАВИТЬ(A:A;" ";"";2 )

И в итоге вы получите А 777АА 01

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

ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A:A;" ";"");".";"");"/";"")

В данном случае мы убираем пробел, точку, и слэш в номере «А 777 АА/01.»

Функция ЗАМЕНИТЬ и ЗАМЕНИТЬБ в Excel

Функция ЗАМЕНИТЬ делает почти все тоже самое, что и подставить, но делает это с определенного символа. Аргументы такие:

ЗАМЕНИТЬ(стар_текст;начальная_позиция;число_знаков;нов_текст)

Пример. Необходимо первую букву номера машины заменить на другую. Из А777АА01 сделать Б777АА01

Сначала описание аргументов:

  • Стар_текст — как и в ПОДСТАВИТЬ, текст в котором нужно заменить т.е. А777АА01
  • Начальная_позиция — с какого символа производить замену, с первого.
  • Число_знаков сколько знаков меняем — один
  • Нов_текст — и на что меняем? На букву Б

Очень похоже на , честно говоря:)

ЗАМЕНИТЬБ — это маленькая загадка Excel, даже в иностранных интернетах мало информации о ней. Если вкратце, то просто ЗАМЕНИТЬ меняет любой символ (даже если он размером 2 байта), ЗАМЕНИТЬБ меняет только однобайтные символы (аргумент число_знаков меняется на). Практического применения я для себя не нашел:) Если кто-нибудь подскажет, буду благодарен!

UPD. Как мне подсказали, к двухбайтовым символам относятся большинство языков с ироглифами!

ПОДСТАВИТЬ и ЗАМЕНИТЬ в Excel. Что еще?

Обе функции учитывают регистр! Т.е. если вы указали большую букву А, маленькая буква заменяться не будет!

Функция ПОДСТАВИТЬ доступна только в версиях 2007 и выше, будьте аккуратны если конечный пользователь будет использовать более ранние версии!

Поделитесь нашей статьей в ваших соцсетях:

Точка вместо запятой дробных чисел может привести к существенным последствиям при расчетах в программе Excel. Чаще всего такие ошибки случаются, когда импортируются данные в таблицу из других источников.

Если в дробных числах вместо запятой стоит точка, то программа автоматически воспринимает их как текстовый тип данных. Поэтому перед тем как выполнять математические расчеты и вычисления следует отформатировать и подготовить импортированные данные.

Как в Excel заменить точку, на запятую?

Выделите и скопируйте данные из ниже приведенной таблицы:

Теперь перейдите на рабочий лист и щелкните правой кнопкой мышки по ячейке A1. Из появившегося контекстного меню выберите опцию «Специальная вставка». В диалоговом окне выберите «Текст в кодировке Unicode» и нажмите ОК.


Как видно Excel распознает числа только в колонке C. Значения в этой колонке выровнены по правой стороне. В других колонках по левому краю. Во всех ячейках формат по умолчанию «Общий», а в ячейках D3, D5, E3, E5 вообще отображается формат «Дата». Мы копировали данные через специальную вставку и все форматы исходной таблицы устранены. Причина только одна – вместо запятой стоит точка. Такой тип данных не подготовлен и его нельзя использовать для вычислений.

Примечание. Если копировать данные из других источников без специальной вставки, то вместе с данными копируется и формат. В таком случаи формат ячеек «Общий» (по умолчанию) может быть изменен. Тогда нельзя визуально отличить, где распознано число, а где текст.

Все последующие действия необходимо выполнять с чистого листа. Удалите все, что есть на листе или откройте новый для дальнейшей работы.

Чтобы заменить точку, на запятую в импортированных данных можно использовать 4 способа:



Способ 1 замена точки на запятую в Excel через Блокнот

Программа Блокнот Windows не требует использования сложных настроек и функций, а лишь выступает посредником в копировании и предварительной подготовки данных.


Программа Блокнот заменила все точки, на запятые. Теперь данные готовы для копирования и вставки на лист.


Это весьма простой, но очень эффективный способ.

Способ 2 временно меняем настройки Excel

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

Для этого нужно открыть «Файл»-«Параметры»-«Дополнительно». В разделе «Параметры правки» следует временно убрать галочку «Использовать системные разделители». А в поле «Разделитель целой и дробной части» следует удалить запятую и ввести точку.


После выполнения вычислений настоятельно рекомендуется вернуть настройки по умолчанию.

Внимание! Данный способ сработает, если сделать все изменения до импорта данных, а не после.

Способ 3 временно меняем системные настройки Windows

Принцип этого способа похож на предыдущий. Только здесь мы меняем похожие настройки в Windows. В настройках региональных стандартов операционной системы нужно заменить запятую, на точку. Теперь подробнее о том, как это сделать.

Открываем «Пуск»-«Панель управления»-«Языки и региональные стандарты». Нажимаем на кнопку «Дополнительно». В появившимся окне изменяем в первом поле «Разделитель целой и дробной части» - вводим нужное нам значение. Дальше ОК и ОК.


Внимание! Если вы откроете этот файл на другом компьютере, где установлены другие системные параметры региональных стандартов, то могут возникнуть проблемы с вычислениями.

Способ 4 используем функцию найти и заменить в Excel.

Данный способ похож на первый. Только здесь мы используем ту же функцию из Блокнота, но уже в самом Excel.

В этом способе, в отличие от выше приведенных, мы сначала вставляем скопированную табличку на чистый лист, а потом подготавливаем ее к выполнению вычислений и расчетов.

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


Все точки сменились на запятые. А текст автоматически преобразился в число.

Вместо 4-го и 5-го пункта можно использовать в отдельной колонке формулу с функциями:

Например, выделите диапазон ячеек G2:I5, введите эту формулу и нажмите CTRL+Enter. А потом переместите значения ячеек диапазона G2:I5 в диапазон D2:F5.

Эта формула находит в тексте точку с помощью функции НАЙТИ. Потом вторая функция меняет ее на запятую. А функция ЗНАЧЕН преобразует полученный результат в число.

Функция ЗАМЕНИТЬ() , английский вариант REPLACE(), замещает указанную часть знаков текстовой строки другой строкой текста. "Указанную часть знаков" означает, что нужно указать начальную позицию и длину заменяемой части строки. Функция используется редко, но имеет плюс: позволяет легко вставить в указанную позицию строки новый текст.

Синтаксис функции

ЗАМЕНИТЬ (исходный_текст ;нач_поз ;число_знаков ;новый_текст )

Исходный_текст - текст, в котором требуется заменить некоторые знаки.
Нач_поз - позиция знака в Исходном_тексте , начиная с которой знаки заменяются текстом новый_текст .
Число_знаков - число знаков в Исходном_тексте , которые заменяются текстом новый_текст .
Новый_текст - текст, который заменяет знаки в Исходном_тексте .

Функция ЗАМЕНИТЬ() vs ПОДСТАВИТЬ()

Функция ПОДСТАВИТЬ() используется, когда нужно заменить определенный текст в текстовой строке; функция ЗАМЕНИТЬ() используется, когда нужно заменить любой текст начиная с определенной позиции.

При замене определенного текста функцию ЗАМЕНИТЬ() использовать неудобно. Гораздо удобнее воспользоваться функцией ПОДСТАВИТЬ() .

Пусть в ячейке А2 введена строка Продажи (январь) . Чтобы заменить слово январь , на февраль , запишем формулы:

т.е. для функции ЗАМЕНИТЬ() потребовалось вычислить начальную позицию слова январь (10) и его длину (6). Это не удобно, функция ПОДСТАВИТЬ() справляется с задачей гораздо проще.

Кроме того, функция ЗАМЕНИТЬ() заменяет по понятным причинам только одно вхождение строки, функция ПОДСТАВИТЬ() может заменить все вхождения или только первое, только второе и т.д.
Поясним на примере. Пусть в ячейке А2 введена строка . Запишем формулы:
=ЗАМЕНИТЬ(A2;10;6;"февраль")
=ПОДСТАВИТЬ(A2; "январь";"февраль")

получим в первом случае строку Продажи (февраль), прибыль (январь) , во втором - Продажи (февраль), прибыль (февраль) .
Записав формулу =ПОДСТАВИТЬ(A2; "январь";"февраль";2) получим строку Продажи (январь), прибыль (февраль) .

Кроме того, функция ПОДСТАВИТЬ() чувствительна к РЕгиСТру. Записав =ПОДСТАВИТЬ(A2; "ЯНВАРЬ";"февраль") получим строку без изменений Продажи (январь), прибыль (январь) , т.к. для функции ПОДСТАВИТЬ() "ЯНВАРЬ" не тоже самое, что "январь".

Использование функции для вставки нового текста в строку

Функцию ЗАМЕНИТЬ() удобно использовать для вставки в строку нового текста. Например, имеется перечень артикулов товаров вида "ID-567(ASD) ", необходимо перед текстом ASD вставить новый текст Micro , чтобы получилось "ID-567(MicroASD) ". Для этого напишем простую формулу:
=ЗАМЕНИТЬ(A2;8;0;"Micro").

Сегодня мы поговорим о том, как поменять в Excel цифры на буквы. В некоторых случаях это необходимо. Однако многие пользователи редактора Excel привыкли, что номера строк обозначаются числами, в свою очередь, колонки можно идентифицировать по буквам.

Инструкция

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

Параметры Excel

Переходим к следующему этапу решения вопроса, как в Excel поменять цифры на буквы, и раскрываем главное меню редактора, нажав на большую круглую кнопку в верхнем левом углу окна. Далее внизу мы увидим две функции. Одна из них называется «Параметры Excel». Нажимаем на нее. Описанные действия можно произвести и без применения мышки - главное меню раскрывается при нажатии сначала клавиши ALT, а затем «Ф». В свою очередь, открыть доступ к необходимым нам параметрам Excel позволит буква «M».

Стиль ссылок

Для того чтобы решить вопрос, как поменять в Excel цифры на буквы, выбираем пункт «Формулы». Он находится слева в открывшемся окне настроек. Отыскиваем параметр, который отвечает за работу с формулами. Именно первый пункт в указанной секции, отмеченный как «Стиль ссылок», определяет, как будут обозначаться колонки на всех страницах редактора. Для того чтобы заменить числа на буквы, убираем соответствующую отметку из описанного поля. Манипуляцию такого типа можно произвести при помощи и мыши, и клавиатуры. В последнем случае используем сочетания клавиш ALT + 1. После всех проделанных действий нажимаем кнопку «OK». Таким образом будут зафиксированы внесенные в настройки изменения. В более ранних версиях данного программного обеспечения кнопка доступа в главное меню имеет другой внешний вид. Если используется издание редактора «2003», используем в меню раздел «Параметры». Далее переходим к вкладке «Общие» и изменяем настройку «R1C1». Вот мы и разобрались, как поменять в Excel цифры на буквы.



Рекомендуем почитать

Наверх