|
flettcher Пользователь Сообщений: 12 |
Перелопатил поиск. Нашел только разбиение текста по словам. У меня же задача более заковыристая. Нужно текст разбить по буквам. Пробелы и знаки препинания можно не учитывать. И каждая буква чтобы была в своей заданной ячейке. |
|
gling Пользователь Сообщений: 4024 |
#2 19.05.2015 18:54:12 А такая формула не устроит?
|
||
|
Catboyun Пользователь Сообщений: 1631 |
#3 19.05.2015 19:10:48
PS/ Почему в формулы, где «» Прикрепленные файлы
Изменено: Catboyun — 19.05.2015 19:19:22 |
||
|
gling Пользователь Сообщений: 4024 |
#4 19.05.2015 19:14:07
не категорично. |
||
|
Юрий М Модератор Сообщений: 60585 Контакты см. в профиле |
#5 19.05.2015 20:45:59
Да ну?! ) Первая же ссылка в поиске |
||
|
flettcher Пользователь Сообщений: 12 |
Вот написать «буквенный ряд…» чего то у меня не хватило соображалки))) «Не забивайте камнями…» ) Я заранее извиняюсь, не большой специалист в Excel. В чем могу разобраться — делаю сам. Но тут затык. Изменено: flettcher — 21.05.2015 14:05:04 |
|
vikttur Пользователь Сообщений: 47199 |
flettcher, кнопка цитирования не для ответа. |
|
gling Пользователь Сообщений: 4024 |
#8 21.05.2015 12:42:58 Можно на 15 знаков, Тянуть вправо и вниз.
|
||
|
Юрий М Модератор Сообщений: 60585 Контакты см. в профиле |
#9 21.05.2015 14:13:33
А я тоже такой запрос не писал)) Посмотрите в строке запроса — что у меня написано? |
||
|
flettcher Пользователь Сообщений: 12 |
gling, Спасибо огромное!!! Все отлично. Все работает. Подправил кое-что. Благодарен. |
|
TImmy Пользователь Сообщений: 49 |
#11 21.05.2015 17:48:43
переменной param присваиваете количество столбцов для использования Изменено: TImmy — 22.05.2015 02:46:51 |
||
|
Юрий М Модератор Сообщений: 60585 Контакты см. в профиле |
TImmy, код следует оформлять соответствующим тегом. |
|
А можно сделать чтобы буквы были автоматически заменены на заглавные |
|
|
БМВ Модератор Сообщений: 21383 Excel 2013, 2016 |
#14 30.08.2022 11:54:45 Марина Русалева, какие буквы именно? Раз уж подняли тему 15го года то уж более подробно пишите что нужно, если конечно это связано с решением этой темы. По вопросам из тем форума, личку не читаю. |
Если у вас есть список чисел или слов на листе, и теперь вам нужно разбить содержимое ячейки на буквы в разных ячейках, как показано на следующем снимке экрана, как вы можете справиться с этим заданием в Excel?
Разделить слово или число на отдельные ячейки с помощью формулы
С помощью следующей простой формулы вы можете быстро и удобно разделить содержимое ячейки на разные ячейки.
1. В пустой ячейке рядом с вашими данными, например C1, введите эту формулу = MID ($ A1; COLUMNS ($ A $ 1: A $ 1); 1), см. снимок экрана:
2. Затем перетащите маркер заполнения в правые ячейки, пока не отобразятся пустые ячейки, а содержимое ячейки A1 не будет разделено на отдельные ячейки.
3. Затем, продолжая перетаскивать дескриптор заполнения вниз, в диапазон, в котором вы хотите применить эту формулу, и все данные в столбце A будут разделены по разным ячейкам по вашему желанию. Смотрите скриншот:
Разделить слово или число на отдельные ячейки с кодом VBA
Если вас интересует код VBA, следующий код также может оказать вам услугу.
1. Удерживайте ALT + F11 ключи в Excel, чтобы открыть Окно Microsoft Visual Basic для приложений.
2. Нажмите Вставить > Модулии вставьте следующий код в Окно модуля.
Код VBA: разделить слово на отдельные ячейки
Sub SplitStuff()
'Updateby Extendoffice
Dim Rng As Range
Dim InputRng As Range, OutRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Application.ScreenUpdating = False
For Each Rng In InputRng
xValue = Rng.Value
xRow = Rng.Row
For i = 1 To VBA.Len(xValue)
OutRng.Cells(xRow, i).Value = VBA.Mid(xValue, i, 1)
Next
Next
Application.ScreenUpdating = True
End Sub
3, Затем нажмите F5 ключ для запуска этого кода, и окно подсказки напомнит вам выбрать диапазон данных, который вы хотите использовать, см. снимок экрана:
4. Нажмите OK, и появится другое окно с подсказкой, в котором вам будет предложено выбрать ячейку для поиска результата.
5. Затем нажмите OK, а слова или числа в выбранных ячейках были разделены на отдельные символы. Смотрите скриншот:
Разбить слово или число на отдельные ячейки с помощью Kutools for Excel
Kutools for ExcelАвтора Разделить клетки feature — мощный инструмент, который может помочь вам разделить содержимое ячейки на отдельные столбцы или строки с определенными разделителями, в то же время он также может разделить текст и число на два столбца.
После установки kutools for Excel, пожалуйста, сделайте следующее:
1. Выделите ячейки, которые хотите разделить.
2. Затем нажмите Кутулс > Слияние и разделение > Разделить клетки, см. снимок экрана:
3. В Разделить клетки диалоговое окно, выберите Разделить на столбцы под Тип, затем проверьте Укажите ширину под Разделить на раздел и введите номер 1 в текстовое поле, что означает разделение слова на отдельные ячейки по каждому символу. Смотрите скриншот:
4. Затем нажмите Ok При нажатии кнопки появляется другое окно подсказки, напоминающее о выборе ячейки для вывода результата, см. снимок экрана:
5, Затем нажмите OK, содержимое выделенной ячейки разделено на отдельные символы. Смотрите скриншот:
Скачать и бесплатную пробную версию Kutools for Excel от Yhao сейчас!
Разбить слово или число на отдельные ячейки с помощью Kutools for Excel
Объединяйте отдельные буквы или цифры в одно слово или цифру
Объединяйте отдельные буквы или цифры в одно слово или цифру
Если вы хотите объединить эти отдельные буквы ячеек в одно слово в отличие от вышеуказанных методов, Kutools for Excel‘s Сочетать утилита может помочь вам объединить их в одну ячейку так быстро, как вы можете.
Статьи по теме:
Как извлечь первое / последнее / n-е слово из текстовой строки в Excel?
Как извлечь первую букву каждого слова из ячейки?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Часто требуется получить из строки только буквы, исключив цифры и различные знаки, символы.
В настоящее время такой встроенной функции нет, поэтому придется писать пользовательскую функцию на VBA
Вот небольшой код для пользовательской функции Excel, которая может вытаскивать из строки состоящей из цифр, букв и символов только буквы.
Public Function GetText(txt As String) As String
Dim m As String, s As String
For i = 1 To Len(txt)
m = Mid(txt, i, 1)
If m Like "[A-Za-zА-Яа-яЁё]" Then s = s & m
Next i
GetText = s
End Function
Как пользоваться?
Открываем редактор VBA в Excel (Alt+F11), или правой кнопкой по листу и выбираем пункт «Исходный текст».
Создаем новый модуль → Insert → Module
Переключаемся на российскую раскладку клавиатуры, копируем код, указанный выше и вставляем в модуль
Далее в нужной ячейке, где необходимо вывести только буквы, прописываем формулу:
=GetText(A1)
и протягиваем ее вниз
|
10 / 10 / 3 Регистрация: 01.09.2011 Сообщений: 92 |
|
|
1 |
|
Разложение слова в ячейки по буквам автоматически26.11.2015, 11:30. Показов 3568. Ответов 7
Возможно ли сделать так, чтобы при заполнении Ф.И.О. на Лист1 (Иванов Пётр Сергеевич) автоматом заполнялись ячейки на Лист2 по буквам, как в примере (вложение)?
0 |
|
15136 / 6410 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
|
|
26.11.2015, 11:56 |
2 |
|
Решениеboomrest, Код =ПРОПИСН(ПСТР(Лист1!$A$3;(СТОЛБЕЦ()-19)/4;1)) =ПРОПИСН(ПСТР(Лист1!$B$3&" "&Лист1!$C$3;(СТОЛБЕЦ()-19)/4;1))
1 |
|
snipe 4038 / 1423 / 394 Регистрация: 07.08.2013 Сообщений: 3,541 |
||||
|
26.11.2015, 12:09 |
3 |
|||
|
в модуль листа1
1 |
|
10 / 10 / 3 Регистрация: 01.09.2011 Сообщений: 92 |
|
|
26.11.2015, 13:07 [ТС] |
4 |
|
Ой, спасибо! не совсем понятно, это мы из номера столбца вычитаем 19 и делим на 4?
0 |
|
4038 / 1423 / 394 Регистрация: 07.08.2013 Сообщений: 3,541 |
|
|
26.11.2015, 13:13 |
5 |
|
4 — потому что у вас заполняется каждая 4 ячейка
0 |
|
10 / 10 / 3 Регистрация: 01.09.2011 Сообщений: 92 |
|
|
26.11.2015, 13:17 [ТС] |
6 |
|
snipe,
0 |
|
3827 / 2254 / 751 Регистрация: 02.11.2012 Сообщений: 5,930 |
|
|
26.11.2015, 13:20 |
7 |
|
4 это шаг между ячейками с формулами (буквами) у вас 1 буква в 23 столбце, 2 в 27 и т.д. 27-23=4
1 |
|
10 / 10 / 3 Регистрация: 01.09.2011 Сообщений: 92 |
|
|
26.11.2015, 13:57 [ТС] |
8 |
|
Ок, теперь всё понятно
0 |
Содержание
- Способ 1: Использование автоматического инструмента
- Способ 2: Создание формулы разделения текста
- Шаг 1: Разделение первого слова
- Шаг 2: Разделение второго слова
- Шаг 3: Разделение третьего слова
- Вопросы и ответы
Способ 1: Использование автоматического инструмента
В Excel есть автоматический инструмент, предназначенный для разделения текста по столбцам. Он не работает в автоматическом режиме, поэтому все действия придется выполнять вручную, предварительно выбирая диапазон обрабатываемых данных. Однако настройка является максимально простой и быстрой в реализации.
- С зажатой левой кнопкой мыши выделите все ячейки, текст которых хотите разделить на столбцы.
- После этого перейдите на вкладку «Данные» и нажмите кнопку «Текст по столбцам».
- Появится окно «Мастера разделения текста по столбцам», в котором нужно выбрать формат данных «с разделителями». Разделителем чаще всего выступает пробел, но если это другой знак препинания, понадобится указать его в следующем шаге.
- Отметьте галочкой символ разделения или вручную впишите его, а затем ознакомьтесь с предварительным результатом разделения в окне ниже.
- В завершающем шаге можно указать новый формат столбцов и место, куда их необходимо поместить. Как только настройка будет завершена, нажмите «Готово» для применения всех изменения.
- Вернитесь к таблице и убедитесь в том, что разделение прошло успешно.

Из этой инструкции можно сделать вывод, что использование такого инструмента оптимально в тех ситуациях, когда разделение необходимо выполнить всего один раз, обозначив для каждого слова новый столбец. Однако если в таблицу постоянно вносятся новые данные, все время разделять их таким образом будет не совсем удобно, поэтому в таких случаях предлагаем ознакомиться со следующим способом.
Способ 2: Создание формулы разделения текста
В Excel можно самостоятельно создать относительно сложную формулу, которая позволит рассчитать позиции слов в ячейке, найти пробелы и разделить каждое на отдельные столбцы. В качестве примера мы возьмем ячейку, состоящую из трех слов, разделенных пробелами. Для каждого из них понадобится своя формула, поэтому разделим способ на три этапа.
Шаг 1: Разделение первого слова
Формула для первого слова самая простая, поскольку придется отталкиваться только от одного пробела для определения правильной позиции. Рассмотрим каждый шаг ее создания, чтобы сформировалась полная картина того, зачем нужны определенные вычисления.
- Для удобства создадим три новые столбца с подписями, куда будем добавлять разделенный текст. Вы можете сделать так же или пропустить этот момент.
- Выберите ячейку, где хотите расположить первое слово, и запишите формулу
=ЛЕВСИМВ(. - После этого нажмите кнопку «Аргументы функции», перейдя тем самым в графическое окно редактирования формулы.
- В качестве текста аргумента указывайте ячейку с надписью, кликнув по ней левой кнопкой мыши на таблице.
- Количество знаков до пробела или другого разделителя придется посчитать, но вручную мы это делать не будем, а воспользуемся еще одной формулой —
ПОИСК(). - Как только вы запишете ее в таком формате, она отобразится в тексте ячейки сверху и будет выделена жирным. Нажмите по ней для быстрого перехода к аргументам этой функции.
- В поле «Искомый_текст» просто поставьте пробел или используемый разделитель, поскольку он поможет понять, где заканчивается слово. В «Текст_для_поиска» укажите ту же обрабатываемую ячейку.
- Нажмите по первой функции, чтобы вернуться к ней, и добавьте в конце второго аргумента
-1. Это необходимо для того, чтобы формуле «ПОИСК» учитывать не искомый пробел, а символ до него. Как видно на следующем скриншоте, в результате выводится фамилия без каких-либо пробелов, а это значит, что составление формул выполнено правильно. - Закройте редактор функции и убедитесь в том, что слово корректно отображается в новой ячейке.
- Зажмите ячейку в правом нижнем углу и перетащите вниз на необходимое количество рядов, чтобы растянуть ее. Так подставляются значения других выражений, которые необходимо разделить, а выполнение формулы происходит автоматически.


Полностью созданная формула имеет вид =ЛЕВСИМВ(A1;ПОИСК(" ";A1)-1), вы же можете создать ее по приведенной выше инструкции или вставить эту, если условия и разделитель подходят. Не забывайте заменить обрабатываемую ячейку.
Шаг 2: Разделение второго слова
Самое трудное — разделить второе слово, которым в нашем случае является имя. Связано это с тем, что оно с двух сторон окружено пробелами, поэтому придется учитывать их оба, создавая массивную формулу для правильного расчета позиции.
- В этом случае основной формулой станет
=ПСТР(— запишите ее в таком виде, а затем переходите к окну настройки аргументов. - Данная формула будет искать нужную строку в тексте, в качестве которого и выбираем ячейку с надписью для разделения.
- Начальную позицию строки придется определять при помощи уже знакомой вспомогательной формулы
ПОИСК(). - Создав и перейдя к ней, заполните точно так же, как это было показано в предыдущем шаге. В качестве искомого текста используйте разделитель, а ячейку указывайте как текст для поиска.
- Вернитесь к предыдущей формуле, где добавьте к функции «ПОИСК»
+1в конце, чтобы начинать счет со следующего символа после найденного пробела. - Сейчас формула уже может начать поиск строки с первого символа имени, но она пока еще не знает, где его закончить, поэтому в поле «Количество_знаков» снова впишите формулу
ПОИСК(). - Перейдите к ее аргументам и заполните их в уже привычном виде.
- Ранее мы не рассматривали начальную позицию этой функции, но теперь там нужно вписать тоже
ПОИСК(), поскольку эта формула должна находить не первый пробел, а второй. - Перейдите к созданной функции и заполните ее таким же образом.
- Возвращайтесь к первому
"ПОИСКУ"и допишите в «Нач_позиция»+1в конце, ведь для поиска строки нужен не пробел, а следующий символ. - Кликните по корню
=ПСТРи поставьте курсор в конце строки «Количество_знаков». - Допишите там выражение
-ПОИСК(" ";A1)-1)для завершения расчетов пробелов. - Вернитесь к таблице, растяните формулу и удостоверьтесь в том, что слова отображаются правильно.


Формула получилась большая, и не все пользователи понимают, как именно она работает. Дело в том, что для поиска строки пришлось использовать сразу несколько функций, определяющих начальные и конечные позиции пробелов, а затем от них отнимался один символ, чтобы в результате эти самые пробелы не отображались. В итоге формула такая: =ПСТР(A1;ПОИСК(" ";A1)+1;ПОИСК(" ";A1;ПОИСК(" ";A1)+1)-ПОИСК(" ";A1)-1). Используйте ее в качестве примера, заменяя номер ячейки с текстом.
Шаг 3: Разделение третьего слова
Последний шаг нашей инструкции подразумевает разделение третьего слова, что выглядит примерно так же, как это происходило с первым, но общая формула немного меняется.
- В пустой ячейке для расположения будущего текста напишите
=ПРАВСИМВ(и перейдите к аргументам этой функции. - В качестве текста указывайте ячейку с надписью для разделения.
- В этот раз вспомогательная функция для поиска слова называется
ДЛСТР(A1), где A1 — та же самая ячейка с текстом. Эта функция определяет количество знаков в тексте, а нам останется выделить только подходящие. - Для этого добавьте
-ПОИСК()и перейдите к редактированию этой формулы. - Введите уже привычную структуру для поиска первого разделителя в строке.
- Добавьте для начальной позиции еще один
ПОИСК(). - Ему укажите ту же самую структуру.
- Вернитесь к предыдущей формуле «ПОИСК».
- Прибавьте для его начальной позиции
+1. - Перейдите к корню формулы
ПРАВСИМВи убедитесь в том, что результат отображается правильно, а уже потом подтверждайте внесение изменений. Полная формула в этом случае выглядит как=ПРАВСИМВ(A1;ДЛСТР(A1)-ПОИСК(" ";A1;ПОИСК(" ";A1)+1)). - В итоге на следующем скриншоте вы видите, что все три слова разделены правильно и находятся в своих столбцах. Для этого пришлось использовать самые разные формулы и вспомогательные функции, но это позволяет динамически расширять таблицу и не беспокоиться о том, что каждый раз придется разделять текст заново. По необходимости просто расширяйте формулу путем ее перемещения вниз, чтобы следующие ячейки затрагивались автоматически.


Еще статьи по данной теме:

















Сообщение было отмечено boomrest как решение



































