使用 Excel 依升序填滿三個範圍的每個組合

使用 Excel 依升序填滿三個範圍的每個組合

我有三個範圍,我想用 Excel 按升序填滿每個組合。範圍是:

  1. 功率:2-30(加1)
  2. ON時間:100-10000(以100遞增)
  3. 關閉時間:100-10000(以100遞增)

這應該給我 29 × 100 × 100 = 290,000 行 3 列。

輸出應如下所示:

--------------------------------------------
| Power (W) | On Time (ms) | Off Time (ms) |
--------------------------------------------
| 2         | 100          | 100           |
--------------------------------------------
| 2         | 100          | 200           |
--------------------------------------------
| 2         | 100          | 300           |
--------------------------------------------
| 2         | 100          | 400           |
--------------------------------------------
etc..

我怎樣才能實現這個目標?

答案1

您可以如下設定第一行:

  • A1=INT((ROW()-2)/10000)+2
  • B1=(MOD(INT((ROW()-2)/100),100)+1)*100
  • C1=(MOD((ROW()-2),100)+1)*100

並向下拖曳/填滿所需的行數。如果您有實際的標題行,請將所有出現的 變更ROW()-1ROW()-2

答案2

這是一個VBA解決方案。已在 Office 2013 中測試並運作

Sub FillCombinations()
For intPower = 2 To 30
    For intOn = 100 To 10000 Step 100
        For intOff = 100 To 10000 Step 100
            intRow = intRow + 1
            Cells(intRow, 1) = intPower
            Cells(intRow, 2) = intOn
            Cells(intRow, 3) = intOff
        Next intOff
    Next intOn
Next intPower
End Sub

如果您不知道如何使用 VBA:

  1. 開啟 Excel 並按ALT+F11開啟 VBA 編輯器
  2. 貼上上面的巨集並運行它F5

它將填寫活動工作表中 A、B 和 C 列中的所有可能組合。
順便提一句。它們是 290.000 行,從第 1 行開始:)

相關內容