Расширение строк в Excel - PullRequest
       9

Расширение строк в Excel

0 голосов
/ 12 октября 2018

Вероятно, есть простое решение, но я бился головой о стену.У меня есть около двухсот строк, где первые пять столбцов совпадают, а последний столбец имеет номер.Я хочу расширить таблицу, чтобы иметь количество дублирующихся строк х.Х - число в последнем столбце.Я думал, что смогу разворачиваться, но это, похоже, не работает.Какие решения я не знаю?Например:

Row 1.  a   b   c   5 <br>
Row 2  aa   bb  cc  3

Становится:

a   b   c
a   b   c
a   b   c
a   b   c
a   b   c

aa  bb  cc
aa  bb  cc
aa  bb  cc

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Вы можете использовать Power Query (Get & Transform Data).

  • Убедитесь, что ваши исходные данные отформатированы в виде таблицы.
  • Измените имена «Table1» и «Column6» в соответствии с вашими данными.

    let
        Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column6", Int64.Type}}),
        #"List Numbers" = Table.TransformColumns(#"Changed Type", {"Column6", each List.Numbers(1,_,1), type list}),
        #"Expanded Rows" = Table.ExpandListColumn(#"List Numbers", "Column6")
    in
        #"Expanded Rows"
    

Обратите внимание, что это M (язык Power Query), а неDAX.

0 голосов
/ 12 октября 2018

Вы можете написать простой макрос.Вы можете увидеть пример макроса VB кода ниже.

Sub Create()

Dim count As Integer
Dim col1 As String       
Dim col2 As String
Dim col3 As String

Dim row_counter As Integer

row_counter = 1

For x = 1 To 2

    count = Sheet1.Cells(x, "D")
    col1 = Sheet1.Cells(x, "A")
    col2 = Sheet1.Cells(x, "B")
    col3 = Sheet1.Cells(x, "C")

    For y = 1 To count

        Sheet2.Cells(row_counter, "A") = col1
        Sheet2.Cells(row_counter, "B") = col2
        Sheet2.Cells(row_counter, "C") = col3
        row_counter = row_counter + 1

    Next y
Next x
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...