backtotop
Подставить

Categories: Формулы

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

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

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

Функция ПОДСТАВИТЬ в Excel

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

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

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

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

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

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

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

ПОДСТАВИТЬ и ЗАМЕНИТЬ в Excel

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

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

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

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

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

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

Подставить3

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

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

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

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

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

 

Скачать пример

 

  .

Comments

Там нет комментариев

Leave a Comment:

Ваш e-mail не будет опубликован. Обязательные поля помечены *

шестнадцать − 6 =