Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
разнесение данных одной ячейки на три
 
Доброго всем времени! Помогите пожалуйста )
Есть таблица с данными в ячейках (три цифровых значения через / )
Нужно разнести данные по трём ячейкам с копированием информации из соседних ячеек
Пример во вложении.
Спасибо всем заранее!  
 
Две формулы.
Для неразделяемых ячеек просто:
=ИНДЕКС(A$3:A$7;ЦЕЛОЕ(СТРОКА(B3)/3))
С последним столбцом сложнее:
=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ("/"&ИНДЕКС(E$3:E$7;ЦЕЛОЕ(СТРОКА(F3)/3));"/";ПОВТОР(" ";50));(ОСТАТ(СТРОКА(B3);3)+1)*40;50))
 
спасибо за ответ!
к сожалению, как я не пытался в свою таблицу вставить (образец был для примера) ничего не получилось..
я так же пытался записать макрос что бы операция делалась по образцу, но макрос выполняется только над той ячейкой, в которой был записан.. ((
 
И как помочь без результата "пытался в свою таблицу вставить"?
 
есть один способ )
если Вы находитесь в Москве - я готов завтра встретиться, где Вам удобно и предоставить данные для обработки и, заодно, попытаться, с Вашей помощью, научиться это делать. Оплата - по договоренности. Время - тоже. Если сможете помочь - буду очень благодарен. если предложение заинтересовало - пожалуйста пишите [Здесь была почта, а должна быть в профиле]
Заранее спасибо за ответ!  
 
Цитата
Donis51 написал: если Вы находитесь в Москве
Не - в другой стране ))
 
Не - в другой стране ))Юрий, это Вы про vikttur написали?  
 
Конечно)  
 
Попробуйте макрос
Код
Option Explicit

Sub Raznesti()
Dim MyArr
Dim Arr
Dim i As Long
Dim j As Integer
Dim iLastRow As Long
    iLastRow = Cells(Rows.Count, 5).End(xlUp).Row
    MyArr = Range("A3:E" & iLastRow)
    ReDim Arr(1 To (iLastRow - 2) * 3, 1 To 5)
    For i = 1 To iLastRow - 2
        For j = 0 To 2
            Arr(i * 3 - 2 + j, 1) = MyArr(i, 1)
            Arr(i * 3 - 2 + j, 2) = MyArr(i, 2)
            Arr(i * 3 - 2 + j, 3) = MyArr(i, 3)
            Arr(i * 3 - 2 + j, 4) = MyArr(i, 4)
            Arr(i * 3 - 2 + j, 5) = Split(MyArr(i, 5), "/")(j)
        Next
    Next
    Range("A2:E2").Copy Range("G2")
    Range("G3").Resize((iLastRow - 2) * 3, 5) = Arr
End Sub
 
 Спасибо! Но я совсем чайник (
Куда нужно вставить этот макрос, подскажите пож-та?  
 
Alt-F11, в строке меню выбираете Insert, в нем - Module. Чтобы вызвать макрос сочетание клавиш Alt-F8.
 
Цитата
Куда нужно вставить этот макрос
Правой кнопкой мышки на ярлычке листа - исходный текст - туда и вставляете
Страницы: 1
Читают тему (гостей: 1)