У меня есть столбец данных, и я хотел бы просто добавить пробел в начале каждой ячейки. Как я могу это сделать?
Должно быть так:
Оригинал:
1
2
3
4
После:
1
2
3
4
Выберите ячейки, которые вы хотите обработать, и запустите этот небольшой макрос:
Sub dural()
For Each r In Selection
With r
.Value = "' " & .Text
End With
Next r
End Sub
ответ дан Gary’s Student14k
- Щелкните правой кнопкой мыши по соответствующим ячейкам и выберите «
Format Cells
- На вкладке номера выберите
Custom
под списком категорий. - Под типом добавьте столько пробелов, сколько хотите, перед выбранным форматированием.
- Нажмите кнопку ОК, чтобы закрыть диалоговое окно
- Выровнять ячейки слева, чтобы увидеть добавленные пробелы в ячейке
Это имеет дополнительную функциональность сохранения ячейки в формате числа и математические формулы будут работать.
Предполагая, что данные находятся в столбце А. В пустом столбце введите эту формулу в первой строке:
=" "&A1
- Скопируйте до данных в столбце А.
- Скопируйте результат формул
- Используйте вставить специальные> Значения, чтобы вставить данные в столбец A
- удалите вспомогательные формулы.
I have a column of data, and I would like to simply add a space to the beginning of each cell. How can I do this?
It should be like this:
Original:
1
2
3
4
After:
1
2
3
4
asked Jul 1, 2015 at 23:50
1
Assuming the data is in column A. In an empty column enter this formula in the first row:
=" "&A1
- Copy down as far as the data in column A.
- Copy the result of the formulas
- Use paste special > Values to paste the data into column A
- delete the helper formulas.
answered Jul 2, 2015 at 7:29
teylynteylyn
22.4k2 gold badges38 silver badges54 bronze badges
1
- Right click the cells in question and select
Format Cells
- On the number tab select
Custom
under the category list - Under type add as many spaces as you like before the selected formatting
- Click OK to close the dialog box
- Left justify cells to see the added spaces in the cell
This has the added functionality of keeping the cell formatted as number and mathematical formulas will still work.
answered Jul 2, 2015 at 1:52
wbeard52wbeard52
3,4073 gold badges27 silver badges40 bronze badges
1
Select the cells you wish to process and run this small macro:
Sub dural()
For Each r In Selection
With r
.Value = "' " & .Text
End With
Next r
End Sub
answered Jul 2, 2015 at 1:38
Gary’s StudentGary’s Student
19.2k6 gold badges25 silver badges38 bronze badges
bijela Пользователь Сообщений: 9 |
Вставка пробелов в начале строки при помощи VBA. |
Сергей Пользователь Сообщений: 11251 |
#2 08.12.2017 10:08:47 не ВБА
а если включить макрорекодер то может быть и ВБА Лень двигатель прогресса, доказано!!! |
||
skais675 Пользователь Сообщений: 2177 |
#3 08.12.2017 10:11:20
Прикрепленные файлы
Изменено: skais675 — 08.12.2017 10:11:35 Мой канал |
||
Karataev Пользователь Сообщений: 2306 |
#4 08.12.2017 10:13:00
|
||
Nordheim Пользователь Сообщений: 3154 |
#5 08.12.2017 10:13:41
«Все гениальное просто, а все простое гениально!!!» |
||
bijela Пользователь Сообщений: 9 |
#6 08.12.2017 11:32:44 Великолепно. |
Добавление пробела в текстовую ячейку |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
- Символ перед каждым словом в ячейке – Excel формула
- Символ после каждого слова в ячейке – формула
- Вставить символы до и после каждого слова в 2 клика
- Заключение
Я уже рассматривал решения похожей задачи – как добавить символ, слово или текст во все ячейки столбца, но он предполагает единичную вставку в начале или в конце самой ячейки. Здесь задача звучит иначе — нужно быстро вставить какой-то символ перед каждым словом, т.е. символ вставится не единожды, а столько раз, сколько слов в ячейке. В случаях, когда в ячейке одно слово, задачи равнозначны.
Один из ярких примеров задачи – простановка в ключевых словах для рекламы в Яндекс Директ операторов “!” перед каждым словом. Это одна из полезных практик, позволяющая отключить показы по синонимам. Популярны также запросы о том, как проставить запятые после каждого слова или заключить каждое слово в ячейке в кавычки. Последнее по сути означает две последовательные операции – добавление символа кавычек перед каждым словом, и затем после (или наоборот).
Для начала определимся с понятиями и будем считать словом любой набор символов в ячейке, границей которого является или начало строки, или пробел, или конец строки. Т.е. если перед буквами уже есть какие-то символы, нашей задачей будет не вставить символы после них, но перед буквами, а перед. В такой конфигурации задача решаема довольно просто. Нам нужно будет учесть 4 момента:
- Если в ячейке слов нет вообще – в ячейку нельзя ничего добавлять;
- Если в ячейке одно слово, достаточно просто вставить перед ним символ, обращаясь к нему как к ячейке;
- Если слов 2 и более – пробел между ними можно заменять на пробел и необходимый символ, это формально и будет добавлением символа перед каждым словом, кроме первого;
- На всякий случай лучше избавиться от лишних пробелов между словами, иначе предыдущий этап создаст и лишние символы в ячейке.
Теперь, когда все нюансы ясны, рассмотрим соответствующие необходимые функции:
- ЕСЛИ поможет нам составить условие проверки и дать Excel дальнейшие инструкции в зависимости от ее результата;
- СЦЕПИТЬ (или просто “&”) добавит символ перед значением ячейки;
- ПОДСТАВИТЬ поможет заменить пробелы на пробел и необходимый для вставки перед словами символ;
- СЖПРОБЕЛЫ поможет перед этим избавиться от лишних пробелов.
Смотрите пример создания составной формулы из этих функций:
Итак, итоговая универсальная формула:
=ЕСЛИ(A1="";"";D1&ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A1);" ";" "&D1))
Здесь D1 — ячейка, содержащая необходимый символ. Можно не обращаться к ячейке, а “захардкодить” его внутрь формулы вручную. Например, вставка восклицательного знака перед каждым словом будет выглядеть так:
=ЕСЛИ(A1="";"";"!"&ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A1);" ";" !"))
Символ после каждого слова в ячейке – формула
Чтобы вставить символ после каждого слова в ячейке (например, запятую или точку с запятой как общепринятые символы-разделители), можно использовать аналогичную формулу в легкой модификации.
=ЕСЛИ(A1="";"";ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A1);" ";D1&" ")&D1)
Здесь в ячейке D1 указанный символ. Вот как формула работает на примере. Обратите внимание, поскольку в нем адресация на ячейку D1 не абсолютная, символ протянут вниз вместе с формулой, которая на него ссылается.
Вставить символы до и после каждого слова в 2 клика
Для тех, кто любит экономить время и не мучить себя запоминанием, вводом или даже копированием длинных формул, было разработано решение в надстройке !SEMTools. Запустить вставку символа до или после всех слов выделенных ячеек можно в 1 клик из меню «Изменить слова» в группе «ИЗМЕНИТЬ».
В примере ниже мы решаем импровизированную задачу — закавычиваем каждое слово в ячейках столбца:
Заключение
Надеюсь, материал был для вас полезен, вы научились вставлять символы перед и после каждого слова с помощью стандартных формул Excel и обратили внимание на простое решение задачи с помощью моей надстройки. Наверняка вас могут заинтересовать другие способы изменить слова в Excel:
- Каждое слово с заглавной буквы в Excel;
- Склонение по падежам в Excel.
Если в ходе добавления символов вы добавили что-то лишнее, почитайте про способы быстро удалить все символы, кроме букв и цифр. А для PPC-специалистов, о которых зашла речь в самом начале, есть еще более интересные и быстрые решения. Примеры здесь: операторы ключевых слов Яндекс.Директа.
Часто сталкиваетесь с этой или похожими задачами при работе в Excel?
С !SEMTools нет необходимости прописывать сложные формулы. Решайте рутинные рабочие задачи за пару кликов!