Страницы: 1
RSS
Преобразовать двумерную таблицу в один столбец., Как из массива данных сделать список из одного стрлбца
 
Здравствуйте, не могу никак разобраться с преобразование массива данных в excel. Нам дан массива A1:D100. Как сделать так чтобы этот массива преобразовался в список на одном столбце. Чтобы весь массив был в E1:E400.  
 
Файл-пример приложите(Excel!). Как есть - Как надо.
Согласие есть продукт при полном непротивлении сторон
 
Atajan,
для более детального составления кода нужен файл, а пока могу предложить:
Код
Sub aaa()
Rng = Range("A1:D" & 10)
For r = 1 To UBound(Rng)
For c = 1 To 4
    lLastRow = Cells(Rows.Count, 6).End(xlUp).Row
    Cells(lLastRow + 1, 6) = Rng(r, c)
Next c
Next r
End Sub
Изменено: evgeniygeo - 28.03.2024 06:40:18
 
прикрепляю файл как есть и как надо
 
Формулами
для первого столбца
Код
=ИНДЕКС(C$3:C$7;СТРОКА(A4)/4)
Для второго столбца
Код
=ИНДЕКС(D$3:G$7;СТРОКА(A4)/4;ОСТАТ(СТРОКА(A1)-1;4)+1)
Алексей М.
 
Atajan,
во вложении
 
Ещё вариант формулами.
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Код
Option Explicit

Sub k_odnomu()
    Dim a, b, c, i&, j&, r&
    
    Set a = Range("B2").CurrentRegion
        Set b = a.Columns(1): j = a.Columns.Count - 1
            Set c = a.Offset(0, 1).Resize(a.Rows.Count, j).Rows
                Range("G1").Value = Join(Application.Index(c(1).Value, 1, 0), vbNullString)
                For i = 2 To c.Count
                    r = Range("G" & Rows.Count).End(xlUp).Row + 1
                    Range("G" & r).Resize(j, 1).Value = b(1).Cells(i).Value
                    Range("H" & r).Resize(j, 1).Value = Application.Transpose(c(i).Value)
                Next
    c = Empty: b = Empty: a = Empty
End Sub
 
Power Query
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Source, {"Column1"}, "Attribute", "Value"),
    #"Filtered Rows" = Table.SelectRows(#"Unpivoted Other Columns", each ([Column1] <> null)),
    #"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Attribute"})
in
    #"Removed Columns"
 
365
Пришелец-прораб.
Страницы: 1
Наверх