Разделение символов в длинной строке (Microsoft Excel)
У Джона есть рабочий лист, который в столбце A содержит большое количество очень длинных текстовых строк. Ему нужно индивидуально извлечь первые 249 символов из каждой строки, поместив по одному символу в каждую ячейку справа от строки.
Есть несколько способов выполнить эту задачу. Это довольно легко сделать с помощью простой формулы. Например, если ваша первая текстовая строка находится в ячейке A1, поместите следующую формулу справа в ячейку B1:
=MID($A1,COLUMN()-1,1)
Эта формула использует функции листа Excel для разделения текстовой строки. В этом случае функция COLUMN возвращает значение 2, поскольку формула находится в столбце B, а это второй столбец на листе.
Это значение уменьшается на 1, а затем используется как указатель на строку в ячейке A1, отмечая, откуда должен происходить извлеченный символ. Когда вы копируете эту формулу правильно для любого количества желаемых ячеек, вы получаете отдельные символы из строки в последовательном порядке.
Конечно, если у вас довольно много строк на листе (как у Джона), то копирование этой формулы на 249 столбцов и ниже, скажем, нескольких сотен строк может сделать рабочий лист очень медленным. В таких ситуациях может быть желательно использовать макрос для разделения строк вместо формулы. Следующий макрос, SplitUp, представляет собой один из подходов к фактическому разрыву.
Sub SplitUp() Dim c As Range Dim r As Range Dim sTemp As String Dim z As Integer Set r = Range("A1", Range("A1048576").End(xlUp)) For Each c In r sTemp = Left(c, 249) For z = 1 To Len(sTemp) c.Offset(0, z) = Mid(sTemp, z, 1) Next z Next End Sub
Макрос начинается с определения диапазона (r), который состоит из всех ячеек в столбце A, содержащих значения. Затем переменная c используется для представления каждой ячейки в диапазоне, и первые 249 символов извлекаются из каждой ячейки. Затем используется цикл For … Next для извлечения каждого символа из строки и помещения его в ячейку справа от строки.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (12059) применим к Microsoft Excel 2007, 2010, 2013 и 2016.
Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:
link: / excel-Pulling_Apart_Characters_in_a_Long_String [выделение символов в длинной строке]
.