Делим один столбец на несколько – единым махом

Рейтинг пользователей: / 5
ХудшийЛучший 
text_to_columns0Мы продолжаем изучать программу Excel и не устаем вникать во все тонкости, способные облегчить работу офисного клерка. И сегодня на очереди разделение одного столбика на несколько. Два способа – читаем дальше.

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

Но вам повезло. Есть сразу два способа разделить столбцы.

Первый вариант, без программирования.

Вначале мы выделяем все ячейки, которые придется делить. Потом идем в меню, ищем вкладку Данные, там – Текст по столбцам. Таким образом вызывается Мастер текстов.

text_to_columns0

Сначала, на первом шаге, нам нужно выбрать требуемый формат текста. То есть, либо это текст, где есть символ, отделяющий друг от друга разные будущие столбики (например, запятая или точка между разными категориями описания товара). Это текст с разделителями. Либо текст фиксированной ширины, где пробелы имитируют одинаковую ширину столбиков. После того, как выберете нужную опцию, переходим на второй шаг Мастера. Тут нам нужно узнать (если мы выбрали формат с разделителями), какой символ станет разделять единый столбик на множество: пробел, знак табуляции, точка с запятой или запятая. Или любой другой знак. После отметки, переходим на третий шаг. Тут мы их предварительно выделим в окне программы Мастера, и выберем формат столбика: общий, который все данные оставит примерно как есть, и именно этот формат будет наиболее подходящим в подавляющем большинстве случаев. Дата – подходит, если нужно выбрать столбики с датами. А формат даты будет уточняться в следующем, выпадающем, окне. И третий формат – текстовый. Для сугубо текстовых данных.

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

text_to_columns4

Есть и еще один способ разделения столбика, программный. Для этого нам нужно написать пользовательскую функцию, весьма простую, и в итоге она будет делить строку по любому разделителю. Если вы выбрали это способ, идем в Сервис, там находим Макрос и – Редактор Visual Basic. Перед вами предстанет окно редактора, и там вам нужно выбрать меню Вставки модуля (Insert – Module). И здесь выбираем пустой модуль, куда мы поместим нижеследующие строчки, все до единой

 

Function ExtractElement(Txt, n, Separator) As String

'   Функция выдает n-ый элемент текстовой строки Txt, где

'   символ Separator используется как разделитель

 

Dim Txt1 As String, TempElement As String

Dim ElementCount As Integer, i As Integer

 

Txt1 = Txt

'   Если в качестве разделителя используется пробел, то убираем лишние

'   и двойные пробелы

If Separator = Chr(32) Then Txt1 = Application.Trim(Txt1)

 

'   Добавляем разделитель в конец строки (если необходимо)

If Right(Txt1, 1) <> Separator Then Txt1 = Txt1 & Separator

 

'   Начальные значения

ElementCount = 0

TempElement = ""

 

'   Извлекаем элемент

For i = 1 To Len(Txt1)

If Mid(Txt1, i, 1) = Separator Then

ElementCount = ElementCount + 1

If ElementCount = n Then

'               Found it, so exit

ExtractElement = TempElement

Exit Function

Else

TempElement = ""

End If

Else

TempElement = TempElement & Mid(Txt1, i, 1)

End If

Next i

ExtractElement = ""

End Function

 

Ну все, теперь можно редактор закрывать, и возвращаться в программу с помощью команды Close and return to Microsoft Excel. И теперь можно использовать написанную функцию в любой ячейке вашего документа. Достать программ можно в меню Вставки, через Функцию, в категории Определенные пользователем. Да, в аргументах txt буде ячейка, нуждающаяся в разделении, N – соответственно, порядковый номер элемента, поддающегося извлечению, а символ, разделяющий столбец - Separator.

Читайте также: Из мира операционных систем



Newer news items:
Older news items:

 

Комментарии  

 
0 #1 Сергей Анатольевич Н 04.03.2020 07:16
как делить, если в таблице 4 столбца, а разделить нужно второй? интересует макрос, чтоб не стирались последующие столбцы
Цитировать
 
Войти



Голосование
Какую сумму денег вы готовы потратить на летний отдых?