Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.09.2010, 15:27   #1
Viper_FMX
Новичок
Джуниор
 
Регистрация: 21.09.2010
Сообщений: 1
По умолчанию разделение данных в ячейках

Здравствуйте.

Может где-то и есть такая тема - не успел все просмотреть...
Но вопрос в следующем:
В одной ячейке в 2007 екселе есть такое наполнение :
of anodic coatings 492, 992, 994 или Acidified salt spray test 1037.
Подобные значения в столбце A. Необходимо разделить цифры и слова так, чтобы в столбце А остались только слова, а в столбце B - только цифры. Т.е. осуществить разделение.

Подскажите - как это сделать, т.к. значений таких чрезвычайно много.
Viper_FMX вне форума Ответить с цитированием
Старый 21.09.2010, 16:06   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Не знаю, как стандартными функциями, но с помощью UDF можно.
Вторую функцию можно немного поменять под себя, например убрать запятые.

Код:
Public Function ExtractNumber(S As String)
Dim i As Integer, str As String
For i = 1 To Len(S)
If InStr(1, "1234567890,", Mid(S, i, 1)) <> 0 Then str = str & Mid(S, i, 1)
Next
ExtractNumber = str
End Function

Public Function ExtractString(S As String)
Dim i As Integer, str As String
For i = 1 To Len(S)
If InStr(1, "QWERTYUIOPASDFGHJKLZXCVBNM,.-<>=*/ ", UCase(Mid(S, i, 1))) <> 0 Then str = str & Mid(S, i, 1)
Next
ExtractString = Application.Trim(str)
End Function
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 21.09.2010 в 16:13.
Hugo121 вне форума Ответить с цитированием
Старый 27.09.2010, 02:43   #3
vikttur
Участник клуба
 
Регистрация: 16.05.2010
Сообщений: 1,249
По умолчанию

Для первой ячейки (текста) формула массива:
{=ЛЕВСИМВ(A1;МИН(ЕСЛИ(ЕЧИСЛО(--ПСТР(A1;СТРОКА($1:$100);1));СТРОКА( $1:$100)))-2)}
Для второй ячейки (чисел) попроще:
=ПСТР(A1;ДЛСТР(E1)+1;100)
где E1 - извлеченный текст.
С определением длины строки не заморачивался.
vikttur вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выравнивание данных в ячейках StringGrid Александр Маркелов Помощь студентам 8 24.06.2010 16:15
Excel - перенос данных в ячейках beerbitch Microsoft Office Excel 15 12.03.2010 17:33
выравнивание данных в ячейках - ? Evgenii БД в Delphi 13 10.08.2009 17:32
Сложение данных в разных ячейках viter.alex Microsoft Office Excel 20 14.01.2009 18:30
Суммирование данных в ячейках запроса Kikobuster Microsoft Office Access 5 28.11.2008 14:39