Ссылка на вопрос и ответ ниже, как сгенерировать все возможные 3-значные комбинации цифр 0-6

У меня похожий случай (нужно сгенерировать все возможные комбинации), но для набора значений, как в таблице ниже, суммарные возможности составят 16807 комбинаций.

A   B   C   D   E
54  23  43  1   1
21  45  433 5   51
25  65  456 3   3
65  66  5678    100 5
12  77  980 5   6
13  90  878 6   66
111 909 662 50  55

Комбинации будут выглядеть как

A   B   C   D   E
54  23  43  1   1
54  23  43  1   51
54  23  43  1   3
54  23  43  1   5
54  23  43  1   6
54  23  43  1   66
54  23  43  1   55
54  23  43  5   1
54  23  43  5   51
54  23  43  5   3
54  23  43  5   5
54  23  43  5   6
54  23  43  5   66
54  23  43  5   55

…               
…               
111 909 662 50  55

Вручную это займет вечность и, честно говоря, я не эксперт в Excel. Пожалуйста, помогите мне.

1 ответ1

0

Запуск этого короткого макроса:

Sub Combin()
    Dim i As Long, j As Long, k As Long, l As Long
    Dim nRow As Long
    nRow = 1
    With Sheets("Sheet1")
    For i = 1 To 7
      ii = .Cells(i, "A").Value
      For j = 1 To 7
        jj = .Cells(j, "B").Value
        For k = 1 To 7
          kk = .Cells(k, "C").Value
          For l = 1 To 7
            ll = .Cells(l, "D").Value
            Sheets("Sheet2").Cells(nRow, "A").Value = ii
            Sheets("Sheet2").Cells(nRow, "B").Value = jj
            Sheets("Sheet2").Cells(nRow, "C").Value = kk
            Sheets("Sheet2").Cells(nRow, "D").Value = ll
            nRow = nRow + 1
          Next l
        Next k
      Next j
    Next i
    End With
End Sub

будет принимать данные на Sheet1 как:

и производить такие данные, как:

на листе 2 для всех 2401 комбинаций.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .