
我有三個範圍,我想用 Excel 按升序填滿每個組合。範圍是:
- 功率:2-30(加1)
- ON時間:100-10000(以100遞增)
- 關閉時間: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()-1
為ROW()-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:
- 開啟 Excel 並按ALT+F11開啟 VBA 編輯器
- 貼上上面的巨集並運行它F5
它將填寫活動工作表中 A、B 和 C 列中的所有可能組合。
順便提一句。它們是 290.000 行,從第 1 行開始:)