Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Изменить строку в столбец - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Изменить строку в столбец (Формулы/Formulas)
Изменить строку в столбец
alexey_m Дата: Вторник, 06.11.2018, 05:33 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Доброго времени суток всем. Вопрос на картинке, желтым цветом данные, без обработки, можно ли их привести к виду, как на зеленом фоне?
К сообщению приложен файл: 7870577.jpg(28.0 Kb)
 
Ответить
СообщениеДоброго времени суток всем. Вопрос на картинке, желтым цветом данные, без обработки, можно ли их привести к виду, как на зеленом фоне?

Автор - alexey_m
Дата добавления - 06.11.2018 в 05:33
китин Дата: Вторник, 06.11.2018, 07:16 | Сообщение № 2
Группа: Модераторы
Ранг: Участник клуба
Сообщений: 5103
Репутация: 809 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
Читаем правила форума. Особенно п.3
по вопросу: можно. но самому рисовать за вас файл: лениво


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538
 
Ответить
СообщениеЧитаем правила форума. Особенно п.3
по вопросу: можно. но самому рисовать за вас файл: лениво

Автор - китин
Дата добавления - 06.11.2018 в 07:16
alexey_m Дата: Вторник, 06.11.2018, 07:47 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Подгрузил файл, буду рад помощи
К сообщению приложен файл: 6718671.xlsx(9.6 Kb)
 
Ответить
СообщениеПодгрузил файл, буду рад помощи

Автор - alexey_m
Дата добавления - 06.11.2018 в 07:47
ABC Дата: Вторник, 06.11.2018, 09:22 | Сообщение № 4
Группа: Друзья
Ранг: Обитатель
Сообщений: 392
Репутация: 110 ±
Замечаний: 0% ±

Excel 2007
[vba]
Код
Sub test()
    Dim i&, ii&, a(), yes
    a = Range("A1:B" & Cells(Rows.Count, 1).End(xlUp).Row).Value
    For i = 1 To UBound(a)
        For Each yes In Split(a(i, 2), ",")
            ii = ii + 1
            Cells(ii, 4).Value = a(i, 1)
            Cells(ii, 5).Value = yes
        Next
    Next
End Sub
[/vba]
К сообщению приложен файл: alexey_m.xls(36.5 Kb)


MS Excel 2007 and 2010...
-------------------------------
С Уважением, Даулет
 
Ответить
Сообщение[vba]
Код
Sub test()
    Dim i&, ii&, a(), yes
    a = Range("A1:B" & Cells(Rows.Count, 1).End(xlUp).Row).Value
    For i = 1 To UBound(a)
        For Each yes In Split(a(i, 2), ",")
            ii = ii + 1
            Cells(ii, 4).Value = a(i, 1)
            Cells(ii, 5).Value = yes
        Next
    Next
End Sub
[/vba]

Автор - ABC
Дата добавления - 06.11.2018 в 09:22
sboy Дата: Вторник, 06.11.2018, 09:31 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 2190
Репутация: 624 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
Вариант с помощью Power Query
К сообщению приложен файл: 1058623.xlsx(20.4 Kb)
 
Ответить
СообщениеДобрый день.
Вариант с помощью Power Query

Автор - sboy
Дата добавления - 06.11.2018 в 09:31
_Boroda_ Дата: Вторник, 06.11.2018, 09:34 | Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 13502
Репутация: 5526 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Снова у Вас
для примера я скинул самый минимум
?По Вашему примеру можно формулами сделать, но потом не окажется, что все не так, как в примере?
Поэтому макросом
[vba]
Код
Sub tt()
    c_ = 1
    c1_ = 4
    r0_ = 1
    n_ = Cells(Rows.Count, c_).End(3).Row - r0_ + 1
    ar0 = Cells(r0_, c_).Resize(n_, 2)
    For i = 1 To n_
        ar0(i, 2) = Split(ar0(i, 2), ",")
        k_ = k_ + UBound(ar0(i, 2)) + 1
    Next i
    Dim ar
    ReDim ar(1 To k_, 1 To 2)
    For i = 1 To n_
        For j = 0 To UBound(ar0(i, 2))
            z_ = z_ + 1
            ar(z_, 1) = ar0(i, 1)
            ar(z_, 2) = ar0(i, 2)(j)
        Next j
    Next i
    Cells(r0_, c1_).Resize(Cells(Rows.Count, c1_).End(3).Row, 2).ClearContents
    Cells(r0_, c1_).Resize(z_, 2) = ar
End Sub
[/vba]
реальные данные проще всего будет вставить в этот файл и нажать кнопку
К сообщению приложен файл: 6718671_1.xlsm(16.2 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеСнова у Вас
для примера я скинул самый минимум
?По Вашему примеру можно формулами сделать, но потом не окажется, что все не так, как в примере?
Поэтому макросом
[vba]
Код
Sub tt()
    c_ = 1
    c1_ = 4
    r0_ = 1
    n_ = Cells(Rows.Count, c_).End(3).Row - r0_ + 1
    ar0 = Cells(r0_, c_).Resize(n_, 2)
    For i = 1 To n_
        ar0(i, 2) = Split(ar0(i, 2), ",")
        k_ = k_ + UBound(ar0(i, 2)) + 1
    Next i
    Dim ar
    ReDim ar(1 To k_, 1 To 2)
    For i = 1 To n_
        For j = 0 To UBound(ar0(i, 2))
            z_ = z_ + 1
            ar(z_, 1) = ar0(i, 1)
            ar(z_, 2) = ar0(i, 2)(j)
        Next j
    Next i
    Cells(r0_, c1_).Resize(Cells(Rows.Count, c1_).End(3).Row, 2).ClearContents
    Cells(r0_, c1_).Resize(z_, 2) = ar
End Sub
[/vba]
реальные данные проще всего будет вставить в этот файл и нажать кнопку

Автор - _Boroda_
Дата добавления - 06.11.2018 в 09:34
Светлый Дата: Вторник, 06.11.2018, 10:34 | Сообщение № 7
Группа: Проверенные
Ранг: Ветеран
Сообщений: 706
Репутация: 186 ±
Замечаний: 0% ±

Excel 2010
Добрый день!
Можно массивными формулами:
Код
=ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИОШИБКА(--(СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(B$1:B$5;",";ПОВТОР(" ";99));СТОЛБЕЦ(A:I)*99-98;99)));0=1);СТРОКА(A1));"")
Код
=ЕСЛИ(B8="";"";МАКС(ЕЧИСЛО(ПОИСК(","&B8&",";","&B$1:B$5&","))*A$1:A$5))
К сообщению приложен файл: 6718671-1.xlsx(10.5 Kb)


Программировать проще, чем писать стихи.

Сообщение отредактировал Светлый - Вторник, 06.11.2018, 10:36
 
Ответить
СообщениеДобрый день!
Можно массивными формулами:
Код
=ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИОШИБКА(--(СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(B$1:B$5;",";ПОВТОР(" ";99));СТОЛБЕЦ(A:I)*99-98;99)));0=1);СТРОКА(A1));"")
Код
=ЕСЛИ(B8="";"";МАКС(ЕЧИСЛО(ПОИСК(","&B8&",";","&B$1:B$5&","))*A$1:A$5))

Автор - Светлый
Дата добавления - 06.11.2018 в 10:34
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Изменить строку в столбец (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2018 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!