Excel массовое изменение ячеек

Возможно, вас интересует: функция ЗАМЕНИТЬ в Excel.

  • «Найти и заменить» в Excel
    • Горячие клавиши
    • Процедура «Найти и заменить» не работает
    • Подстановочные знаки, или как найти “звёздочку”
  • Замена нескольких значений на несколько
    • Массовая замена с помощью функции “ПОДСТАВИТЬ”
    • Файл-шаблон с формулой множественной замены
  • Заменить несколько значений на одно
    • С помощью функции «ПОДСТАВИТЬ»
    • С помощью регулярных выражений
  • Массовая замена в !SEMTools
    • Пример: замена символов по вхождению
    • Пример: замена списка слов на другой список слов

Процедура поиска и замены данных — одна из самых востребованных в Excel. Базовая процедура позволяет заменить за один заход только одно значение, но зато множеством способов. Рассмотрим, как эффективно работать с ней.

Горячие клавиши

Сочетания клавиш ниже заметно ускорят работу с инструментом:

  • Для запуска диалогового окна поиска — Ctrl + F.
  • Для запуска окна поиска и замены — Ctrl + H.
  • Для выделения всех найденных ячеек (после нажатия кнопки «найти всё») — Ctrl + A.
  • Для очистки всех найденных ячеек — Ctrl + Delete.
  • Для ввода одних и тех же данных во все найденные ячейки — Ввод текста, Ctrl + Enter.

Смотрите gif-пример: здесь я произвожу поиск ячеек с дальнейшим их редактированием. В отличие от замены, редактирование найденных ячеек позволяет быстро менять их содержимое целиком.

Находим все пустые ячейки в диапазоне и заполняем их нулями или одним значением с помощью горячих клавиш

Процедура «Найти и заменить» не работает

Я сам когда-то неоднократно впадал в ступор в этой ситуации. Уверен и видишь своими глазами, что искомый паттерн в данных есть, но Excel при выполнении процедуры поиска сообщает:

Не удалось ничего найти по вашему запросу

или при замене:

Мы не нашли ничего, что нужно было заменить

Так вот, совет нажать кнопку “Параметры” в обоих этих сообщениях действительно полезен — там наверняка активен чекбокс “Учитывать регистр” или “Ячейка целиком”, которые мешают Excel найти искомое. Excel, в свою очередь, сохраняет конфигурацию последнего поиска.

Статус опций “Учитывать регистр” и “Ячейка целиком” виден после нажатия кнопки “Параметры”.

Подстановочные знаки, или как найти “звёздочку”

Сухая официальная справка по Excel сообщает:

— что можно использовать подстановочные символы “*” и “?”;
— что “*” и “?” означают несколько символов, включая их отсутствие, и один любой символ;
— что их можно использовать для соответствующих процедур поиска.

Чего не говорит справка, так это того, что в комбинации с опцией “ячейка целиком” эти символы позволяют, не прибегая к помощи расширенного фильтра и процедуры поиска группы ячеек:

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

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

В примере ниже мы находим все двузначные числа, затем числа, заканчивающиеся и начинающиеся на 7, и, наконец, все непустые ячейки. Напомню, выделить все результаты поиска помогает горячее сочетание клавиш Ctrl + A.

Так а как найти звёздочку?

Действительно, забыл. Чтобы найти «звёздочку», нужно в окошке поиска ставить перед ней знак ~ (тильда), он находится обычно под клавишей Esc. Это позволяет экранировать “звездочку”, как и вопросительный знак, и не воспринимать их как служебные символы.

Замена нескольких значений на несколько

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

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

Эта задача более сложная, чем замена на одно значение. Как ни странно, функция «ЗАМЕНИТЬ» здесь не подходит — она требует явного указания позиции заменяемого текста. Зато может помочь функция «ПОДСТАВИТЬ».

Массовая замена с помощью функции “ПОДСТАВИТЬ”

Используя несколько условий в сложной формуле, можно производить одновременную замену нескольких значений. Excel позволяет использовать до 64 уровней вложенности — свобода действий высока. Например, вот так можно перевести кириллицу в латиницу:

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

Но у решения есть и свои недостатки:

  • Функция ПОДСТАВИТЬ регистрозависимая, что заставляет при замене одного символа использовать два его варианта — в верхнем и нижнем регистрах. Хотя в некоторых случаях, как, например, на картинке выше, это и преимущество.
  • Максимум 64 замены — хоть и много, но все же ограничение.
  • Формально процедура замены таким способом будет происходить массово и моментально, однако длительность написания таких формул сводит на нет это преимущество. За исключением случаев, когда они будут использоваться многократно.

Файл-шаблон с формулой множественной замены

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

Файл доступен по ссылке, но можно и не скачивать его, а просто скопировать текст формулы ниже и вставить ее в любую ячейку, кроме диапазона A1:B64. Формула заменяет в ячейке C1 значения в столбце A стоящими напротив в столбце B.

функция для замены нескольких букв
Формула в файле-шаблоне для множественной замены на примере транслитерации

А вот и она сама (тройной клик по любой части текста = выделить всю формулу): обращается к ячейке D1, делая 64 замены по правилам, указанным в ячейках A1-B64. При этом в столбцах можно удалять значения — это не нарушит её работу.

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(D1;$A$1;$B$1);$A$2;$B$2);$A$3;$B$3);$A$4;$B$4);$A$5;$B$5);$A$6;$B$6);$A$7;$B$7);$A$8;$B$8);$A$9;$B$9);$A$10;$B$10);$A$11;$B$11);$A$12;$B$12);$A$13;$B$13);$A$14;$B$14);$A$15;$B$15);$A$16;$B$16);$A$17;$B$17);$A$18;$B$18);$A$19;$B$19);$A$20;$B$20);$A$21;$B$21);$A$22;$B$22);$A$23;$B$23);$A$24;$B$24);$A$25;$B$25);$A$26;$B$26);$A$27;$B$27);$A$28;$B$28);$A$29;$B$29);$A$30;$B$30);$A$31;$B$31);$A$32;$B$32);$A$33;$B$33);$A$34;$B$34);$A$35;$B$35);$A$36;$B$36);$A$37;$B$37);$A$38;$B$38);$A$39;$B$39);$A$40;$B$40);$A$41;$B$41);$A$42;$B$42);$A$43;$B$43);$A$44;$B$44);$A$45;$B$45);$A$46;$B$46);$A$47;$B$47);$A$48;$B$48);$A$49;$B$49);$A$50;$B$50);$A$51;$B$51);$A$52;$B$52);$A$53;$B$53);$A$54;$B$54);$A$55;$B$55);$A$56;$B$56);$A$57;$B$57);$A$58;$B$58);$A$59;$B$59);$A$60;$B$60);$A$61;$B$61);$A$62;$B$62);$A$63;$B$63);$A$64;$B$64)

Заменить несколько значений на одно

С помощью функции «ПОДСТАВИТЬ»

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

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"1";"");"2";"");"3";"");"4";"");"5";"");"6";"");"7";"");"8";"");"9";"");"0";"")

С помощью регулярных выражений

Важно: регулярные выражения не поставляются в Excel “из коробки”, но формулы ниже доступны бесплатно, если установить надстройку !SEMTools.

Регулярные выражения (RegEx, регулярки) — наиболее удобное решение, когда нужно заменить несколько символов на один. Все эти несколько символов обычным способом безо всяких разделителей нужно перечислить внутри квадратных скобок. Примеры формул:

=regexreplace(A1;"d";"#")
=regexreplace(A1;"w";"#")
=regexreplace(A1;"а-яА-Я";"#")
=regexreplace(A1;"s";"_")

Первая заменяет на символ “#” все цифры, вторая — все английские буквы, а третья — все кириллические символы в верхнем и нижнем регистре. Четвёртая заменяет любые пробелы, в том числе табуляцию и переносы строк, на нижнее подчеркивание.

замена регулярными выражениями
Массовая замена символов регулярными выражениями при установленной надстройке !SEMTools

Если же нужно заменять не символы, а несколько значений, состоящих в свою очередь из нескольких букв, цифр или знаков, синтаксис предполагает уже использование круглых скобок и вертикальной черты “|” в качестве разделителя.

Массовая замена в !SEMTools

Надстройка для Excel !SEMTools позволяет в пару кликов производить замены на всех уровнях:

  • символов и их сочетаний,
  • паттернов регулярных выражений,
  • слов,
  • целых ячеек (в некоторой степени аналог ВПР).
Массовая замена в Excel с !SEMTools
Меню инструментов массовой замены в !SEMTools

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

Пример: замена символов по вхождению

Аналог обычной процедуры замены без учета регистра заменяемых символов, по вхождению. С одним отличием: здесь замена массовая и можно выбрать сколько угодно строк с парами «заменяемое-заменяющее» значение.

Ниже пример с единичными символами, но паттерны могут быть какими угодно в зависимости от вашей задачи.

Массовая замена символов по вхождению на примере Leet Language (некоторые английские буквы заменяются на похожие цифры)

Пример: замена списка слов на другой список слов

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

замена списка слов на одно и то же слово
Замена списка слов на другой список в !SEMTools

С версии !SEMTools 9.18.18 появилась опция: при замене списка слов не учитывать пунктуацию в исходных предложениях, а регистр слов теперь сохраняется.

замена списка слов на другой список в Excel

Инструменты находятся в группе макросов «ИЗМЕНИТЬ» в отдельном меню и для удобства продублированы в меню «Изменить символы», «Изменить слова» и «Изменить ячейки».

Скачивайте надстройку !SEMTools и делайте массовую замену символов, слов или целых списков в Excel!


Смотрите также по теме поиска и замены данных в Excel:

  • Найти заглавные/строчные буквы в ячейке;
  • Найти латиницу или кириллицу в тексте;
  • Найти числа в текстовых ячейках;
  • Обнаружить текстовые символы;
  • Функция НАЙТИ в Excel;
  • Функция ПОИСК в Excel;
  • Функция ЗАМЕНИТЬ в Excel;
  • Найти определенные символы в ячейках Excel.

Допустим у нас есть некий список, например, список товаров выгруженный из учетной системы. Нам этот список не нравится тем что в некоторых названиях товаров единица измерения, например, (кг.) написаны как попало, где-то «кг.», где-то «килограммы», где-то «КГ», а где-то и с ошибкой «килограмы». В общем некая солянка. Для редактирования «руками» список слишком велик, например, 1 000 позиций. Что же делать?

Все очень просто. Выделяем этот список, нажимаем сочетание клавиш «Ctrl+H«. Должно будет открыться диалоговое окно замены:

Как изменить текст во множестве ячеек?

В поле «Найти:» вводим «(*)«, в поле «Заменить на:» вводим, например, «(кг.)« и нажимаем кнопку «Заменить Все«:

kak-izmenit-tekst-vo-mnozhestve-yacheek_2.png

Получаем отредактированный список:

kak-izmenit-tekst-vo-mnozhestve-yacheek_3.png

Добавить комментарий

Массовое редактирование содержимого ячеек

olegge

Дата: Пятница, 03.04.2015, 13:56 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 12


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Как есть:
массовое редактирование ячейки ексель
редактирование ячейки ексель
ячейки ексель
Как надо 1:
+массовое +редактирование +ячейки +ексель
+редактирование +ячейки +ексель
+ячейки +ексель
Как надо 2:
[массовое редактирование ячейки ексель]
[редактирование ячейки ексель]
[ячейки ексель]
Количество слов в ячейке может быть как 1 так 10. Количество ячеек много — от 1000.
Подскажите как сделать.
Наперед спасибо!

К сообщению приложен файл:

___.xlsx
(9.8 Kb)

 

Ответить

Pelena

Дата: Пятница, 03.04.2015, 14:02 |
Сообщение № 2

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

1:

Код

=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(» «&A2;» «;» +»))

2:


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

TimSha

Дата: Пятница, 03.04.2015, 14:04 |
Сообщение № 3

Группа: Проверенные

Ранг: Ветеран

Сообщений: 627


Репутация:

94

±

Замечаний:
0% ±


Excel 2013 Pro +


Формулами, через Ctrl+H, макросами… А как надо — как задали, как сами пытались?!. ;)


«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

Ответить

ShAM

Дата: Пятница, 03.04.2015, 14:13 |
Сообщение № 4

Группа: Друзья

Ранг: Старожил

Сообщений: 1347


Репутация:

249

±

Замечаний:
0% ±


Excel 2010

=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(» «&A2;» «;» +»))

Наверное, все же

Код

=ПОДСТАВИТЬ(» «&СЖПРОБЕЛЫ(A2);» «;» +»)

А то после ПОДСТАВИТЬ сжимать нечего будет. :)

 

Ответить

Pelena

Дата: Пятница, 03.04.2015, 14:22 |
Сообщение № 5

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel


А первый пробел останется
Тогда уж

Код

=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(» «&СЖПРОБЕЛЫ(A2);» «;» +»))


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

olegge

Дата: Пятница, 03.04.2015, 14:28 |
Сообщение № 6

Группа: Пользователи

Ранг: Новичок

Сообщений: 12


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Pelena, спасибо еще раз то, что надо

 

Ответить

ShAM

Дата: Пятница, 03.04.2015, 14:42 |
Сообщение № 7

Группа: Друзья

Ранг: Старожил

Сообщений: 1347


Репутация:

249

±

Замечаний:
0% ±


Excel 2010

А первый пробел останется

Вы же вместо него плюсик поставили. :D
________________________
Да, виноват, понял. 3-й вариант правильный.

Сообщение отредактировал ShAMПятница, 03.04.2015, 14:43

 

Ответить

Pelena

Дата: Пятница, 03.04.2015, 14:44 |
Сообщение № 8

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Нет, я подставила пробел с плюсиком, иначе слова слипнутся


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

ГЛАВНАЯ

ТРЕНИНГИ

   Быстрый старт
   Расширенный Excel
   Мастер Формул
   Прогнозирование
   Визуализация
   Макросы на VBA

КНИГИ

   Готовые решения
   Мастер Формул
   Скульптор данных

ВИДЕОУРОКИ

ПРИЕМЫ

   Бизнес-анализ
   Выпадающие списки
   Даты и время
   Диаграммы
   Диапазоны
   Дубликаты
   Защита данных
   Интернет, email
   Книги, листы
   Макросы
   Сводные таблицы
   Текст
   Форматирование
   Функции
   Всякое
PLEX

   Коротко
   Подробно
   Версии
   Вопрос-Ответ
   Скачать
   Купить

ПРОЕКТЫ

ОНЛАЙН-КУРСЫ

ФОРУМ

   Excel
   Работа
   PLEX

© Николай Павлов, Planetaexcel, 2006-2022
info@planetaexcel.ru


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

Техническая поддержка сайта

ООО «Планета Эксел»

ИНН 7735603520


ОГРН 1147746834949
        ИП Павлов Николай Владимирович
        ИНН 633015842586
        ОГРНИП 310633031600071 

Быстро сложим / разделим/ умножим числовые значения из диапазона ячеек на заданное пользователем число. Этот подход позволяет уменьшить или увеличить разрядность чисел в выбранном диапазоне, быстро выделить НДС и пр.

В ряде случаев необходимо изменить уже содержащиеся в таблице числовые значения. Например, имеется таблица стоимости товаров, цены которых указаны в рублях (столбец B ):

Пусть нам необходимо указать цены в столбце B не в рублях, а тысячах, т.е. поделить все значения на тысячу. Конечно, можно в соседнем столбце написать соответствующую формулу, затем скопировать новые значения и потом вставить их как значения в столбец с ценами.

Красивой альтернативой является использование инструмента Специальная вставка ( Главная/ Буфер обмена/ Вставить/ Специальная вставка ). Покажем как быстро разделить на 1000 весь столбец с ценами, используя инструмент Специальная вставка .

  • в любой пустой ячейке вводим 1000 (например, в D2 ) и нажимаем ENTER ;
  • копируем в Буфер обмена значение ячейки D2 ;
  • выделяем диапазон с ценами ( В2:В10 );
  • идем в меню Главная/ Буфер обмена/ Вставить/ Специальная вставка ;
  • выбираем Разделить в разделе Операция ;
  • нажимаем ОК .

Получаем следующее:

Если нужно изменить не все цены из столбца B, то нужно выделить не весь диапазон цен, а только нужные ячейки ( несвязные диапазоны можно выделить , удерживая клавишу CTRL ).

Этот же подход позволяет, к примеру, убрать НДС (18%) из цен. Для этого нужно в ячейку D2 ввести =100/118 , скопировать это значение в Буфер обмена, выбрать Умножить в разделе Операция инструмента Специальная вставка . Другой пример: изменим валюту цены – переведем рубли в доллары по курсу 30 руб./долл. Для этого нужно в ячейку D 2 ввести курс (30), скопировать это значение в Буфер обмена , выбрать Разделить в разделе Операция инструмента Специальная вставка .

В приведенных выше примерах предполагалось, что ячейки с ценами не содержат формул. Если цены в столбце B являются результатом вычисления формул (например =C1*200 ), то после использования инструмента Специальная вставка , формулы будут модифицированы, например так =(C1*200)/1000 (если выбирали Разделить , а в Буфере обмена содержалось число 1000).

Понравилась статья? Поделить с друзьями:
  • Excel массив вставить если
  • Excel массовая замена по списку
  • Excel массовая замена значений
  • Excel массив весь лист
  • Excel массовая замена гиперссылок