Страницы: 1
RSS
Как сформировать столбец из массива по столбцам
 
Здраствуйте, у меня есть вопрос как сформировать столбец из массива по столбцам. Файл прикреплен.
 
Макросом устроит?
 
.
Код
=ИНДЕКС($A$1:$C$5;ЦЕЛОЕ(СТРОКА(A3)/3);ОСТАТ(СТРОКА(A1)-1;3)+1)
 
Эта формула тоже формирует по строкам

Юрий нужно формулой
 
оказывается уже есть формула и этот столбец не желаемый результат)
Код
=ИНДЕКС($A$1:$C$5;ЦЕЛОЕ(СТОЛБЕЦ(C1)/3);ОСТАТ(СТОЛБЕЦ(A1)-1;3)+1)
 
Все равно не работает
Изменено: Schmied - 16.11.2019 17:35:52
 
в файле бы показали желаемый результат, заполненный вручную
 
вот файл
 
.
Код
=ИНДЕКС($A$1:$C$3;ОКРВВЕРХ(ОСТАТ(СТРОКА();ЧИСЛСТОЛБ($A$1:$C$3)+0.0001);1);ОКРВВЕРХ(СТРОКА()/ЧИСЛСТОЛБ($A$1:$C$3);1))
=ИНДЕКС($A$1:$C$5;ОСТАТ(СТРОКА(A1)-1;3)+1;ЦЕЛОЕ(СТРОКА(A3)/3))
 
Спасибо большое!!! Все заработало и по первой формуле и по второй))))
 
Цитата
Добавляю еще строки и уже не работает
Изменено: Schmied - 16.11.2019 16:16:53
 
Schmied, а зачем Вы цитируете формулы? Полагаете, что artyrH  их забыл?
 
Юрий М, Нет я так не думаю
 
Тогда вернитесь в свои сообщения и удалите эти горе-цитаты.
 
На всякий случай. Может кому и пригодится.
Код
Sub Macro1()
Dim LastRow As Long, LastColumn As Long, Arr(), ArrOut, i As Long, о As Long, x As Long
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row
    LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column
    Arr = Range(Cells(1, 1), Cells(LastRow, LastColumn)).Value
    x = 1
    ReDim ArrOut(1 To UBound(Arr) * UBound(Arr, 2), 1 To 1)
    For j = 1 To UBound(Arr, 2)
        For i = 1 To UBound(Arr)
            ArrOut(x, 1) = Arr(i, j)
            x = x + 1
        Next
    Next
    Range("N2").Resize(x - 1, 1).Value = ArrOut
End Sub

 
в i1
Код
=ИНДЕКС($A$1:$H$14;ОСТАТ(СТРОКА(A1)-1;МАКС(ПРОСМОТР(2;1/($A$1:$H$1<>"");СТОЛБЕЦ($A$1:$H$1));ПРОСМОТР(2;1/($A$1:$A$14<>"");СТРОКА($A$1:$A$14))))+1;ОКРВВЕРХ((СТРОКА(A1))/МАКС(ПРОСМОТР(2;1/($A$1:$H$1<>"");СТОЛБЕЦ($A$1:$H$1));ПРОСМОТР(2;1/($A$1:$A$14<>"");СТРОКА($A$1:$A$14)));1))
Страницы: 1
Наверх