Complete cada combinación de tres rangos en orden ascendente con Excel

Complete cada combinación de tres rangos en orden ascendente con Excel

Tengo tres rangos y me gustaría completar cada combinación en orden ascendente con Excel. Los rangos son:

  1. Potencia: 2-30 (incremento en 1)
  2. Tiempo de encendido: 100-10000 (incremento en 100)
  3. Tiempo APAGADO: 100-10000 (incremento en 100)

Esto debería darme 29 × 100 × 100 = 290.000 filas con 3 columnas.

El resultado debería verse como el siguiente:

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

¿Cómo puedo conseguir esto?

Respuesta1

Podrías configurar la primera fila de la siguiente manera:

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

y arrastre/rellene el número deseado de filas. Si tiene una fila de encabezado real, cambie todas las apariciones de ROW()-1a ROW()-2.

Respuesta2

Aquí hay una solución VBA. Probado y funcionando en 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

Si no sabes cómo usar VBA:

  1. Abra Excel y presioneALT+F11para abrir el editor VBA
  2. Pegue la macro de arriba y ejecútela conF5

Completará todas las combinaciones posibles en las columnas A, B y C de su hoja activa.
Por cierto. son 290.000 filas comenzando en la fila 1 :)

información relacionada