Страницы: 1
RSS
Как данные из одной ячейки (столбца) разнести на несколько?
 
Добрый день!  
 
Я сильно на "Вы" с Excel, но нет больше сил перебивать вручную:(  
Потому прошу помощи. Нужно данные, расположенные в одной ячейке разбить на три. Объясняю коряво, поэтому прикладываю файлы: как из таблицы файла 1 получить таблицу вида как в файле 2????  
 
Заранее благодарна.  
Ксения
 
файл 2 тут
 
В следующий раз не нужно два файла: можно разные таблицы на разных листах или на одном листе две таблицы рядышком.
 
В ячейку левее (например, в Е1)    
="Автошина " & A1 & " " & C1 & " " & B1  
и протануть вниз, потом как значения скопировать куда хотите.  
Но вот откуда брать данные типа  "с камерй, без флапа" или "/A101020001/" я не понял.
 
Что-то я похоже в файлах запутался... извините.
 
Да, а назад операцию трудно сделать. Частично по группам можно, но полностью боюсь что не получится автоматизировать.
 
{quote}{login=Юрий М}{date=08.02.2011 09:44}{thema=}{post}В следующий раз не нужно два файла: можно разные таблицы на разных листах или на одном листе две таблицы рядышком.{/post}{/quote}  
 
Извините, учту.
 
{quote}{login=Hugo}{date=08.02.2011 10:02}{thema=}{post}Что-то я похоже в файлах запутался... извините.{/post}{/quote}  
 
Вот так:  
Автошина  Amtel  11.00  R20  150/146  K  К179  с камерй, без флапа  
или так:  
Автошина  Amtel  165/65  R14  79  T  Planet T-301 K-317  
выглядит строка, разбить нужно:  
для первого примера:  
1 столбец - Автошина  Amtel  
2 столбец - 11.00  R20  150/146    
3 столбец - К179  с камерй, без флапа  
 
Для второго:  
1 столбец - Автошина  Amtel  
2 столбец - 165/65  R14  79  T  
3 столбец - Planet T-301 K-317  
 
Подозреваю невозможность из-за разного колличества символов в строках, но может быть хотя бы частичная автоматизация процесса возможна?
 
{quote}{login=Ksu_Sanders}{date=08.02.2011 11:56}{thema=Re: }{post}{quote}{login=Hugo}{date=08.02.2011 10:02}{thema=}{post}{/post}{/quote}может быть хотя бы частичная автоматизация процесса возможна?{/post}{/quote}  
Начните с Данные - Текст по столбцам.
 
Наличие скоростного индекса в наименовании обязательно
 
Подправлено.  
К Amtel либо добавлять индекс, либо делить вручную
 
Текст по столбцам не удобно, когда в одном списке такие разные данные.  
Мне кажется, удобнее использовать UDF формулу  
 
Function Substring(Текст As String, Символ_разделитель As String, _  
   Начальный_Номер_фрагмента As Long, Конечный_Номер_фрагмента As Long) As String  
'---------------------------------------------------------------------------------------  
' URL : http://www.planetaexcel.ru/tip.php?aid=54  
' Purpose : Выделяет из текста субстринг/и, ориентируясь по символам-разделителям  
' Notes : Substring(текст; символ_разделитель; Начальный_Номер_фрагмента, Конечный_Номер_фрагмента), где  
' текст - текст, который делим  
' символ_разделитель - символ, который надо считать разделителем фрагментов  
' Начальный_Номер_фрагмента - порядковый номер фрагмента, с которого нужна выборка  
' Конечный_Номер_фрагмента - порядковый номер фрагмента, по который нужна выборка  
'---------------------------------------------------------------------------------------  
   On Error Resume Next  
   Dim sArr() As String, li As Long  
   sArr = Split(Application.Trim(Текст), Символ_разделитель)  
   If Конечный_Номер_фрагмента > 0 Then  
       Начальный_Номер_фрагмента = Начальный_Номер_фрагмента - 1  
       Конечный_Номер_фрагмента = Конечный_Номер_фрагмента - 1  
       For li = Начальный_Номер_фрагмента To Конечный_Номер_фрагмента  
           Substring = IIf(li = Начальный_Номер_фрагмента, sArr(li), Substring & _  
               Символ_разделитель & sArr(li))  
       Next li  
   Else  
       Substring = Split(Application.Trim(Текст), _  
           Символ_разделитель)(Начальный_Номер_фрагмента - 1)  
   End If  
End Function  
 
Её можно оперативно корректировать для каждой группы или для каждой ячейки, где алгоритм деления меняется.  
Я в примере до половины списка подкорректировал формулу, нижнюю часть оставил, как протянулась.
 
Да, если не нужно слово "Автошина", тогда в первую ячейку писать    
=Substring(A1;" ";2;2)  
а где BF Goodrich, там  
=Substring(A30;" ";2;3)
 
Фуф, вроде заработало!!!!!!!  
Спасибо огромное:)
Страницы: 1
Читают тему
Наверх