Мне нужно добавить пробел между текстом и цифрами. Например, я хочу изменить MS1-27
на MS 1-27
, сохраняя данные в одной ячейке. Как я могу сделать это в Excel?
2 ответа
Я не уверен, что вы имеете в виду под « хранением данных в одной ячейке ».
Формула требует помещения формулы в другую ячейку. Например:
=TRIM(REPLACE(A1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A1&"1234567890")),0," "))
поместит space
перед первой цифрой. Оболочка TRIM на случай, если там уже есть space
.
Если вам нужно, чтобы это произошло внутри ячейки, вам понадобится макрос VBA, поскольку формула не может изменить содержимое другой ячейки.
Это может быть работа для регулярных выражений. MS Excel позволяет использовать VBA для поиска и замены с использованием регулярных выражений, поэтому вы можете указать «заменить первое вхождение в ячейке символа от 0 до 9 пробелом и этим символом». Чтобы включить регулярное выражение, см. Http://www.pither.com/simon/blog/2010/01/31/regex-search-and-replace-in-excel.
regex - довольно сложный предмет, и для MS Word есть помощь по адресу https://support.office.com/en-ca/article/Find-and-replace-text-by-using-regular-expressions-Advanced-eeaa03b0 -e9f3-4921-b1e8-85b0ad1c427f. Вам нужно будет уточнить детали поиска (как спрашивает fixer1234, это просто добавление пробела после второго символа в каждой ячейке или текст переменной длины?). См. Также https://stackoverflow.com/questions/22542834/how-to-use-regular-expressions-regex-in-microsoft-excel-both-in-cell-and-loops и https://www.udemy. com/blog/vba-regex/.