Para obtener información, hice la pregunta enwww.clever-excel-forum.deywww.ms-office-forum.net/. Me gustaría lograr lo siguiente:
A1 A2 A3 A4 -> row 1
1 1 1 45
2 30
3 30
1 1 4 45
5 30
...
1 1 254 45
1 30
2 30
1 2 3 45
...
1 254 254 45
1 30
2 30
2 1 3 45
...
3 189 12 45 -> up to approx row 250540
A2 debe establecer un 1 desde la línea 2 en adelante en cada tres líneas hasta llegar a 254 por primera vez en A3. Luego, con la siguiente configuración (después de 254 en A3), se debe incrementar el 1 y saltar a 2 (A2). Si se alcanza el 254 en A2, tiene que volver a 1 y el 1 en A1 salta a 2.
hasta ahora todo bien (del usuario: lupo1 del foro de ms-office):
A1: =LET(n;250000;WAHL(SEQUENZ(;4);
WENN(REST(SEQUENZ(n);3)=1;KÜRZEN(SEQUENZ(n;;0;1/254^2)+1);"");
WENN(REST(SEQUENZ(n);3)=1;KÜRZEN(SEQUENZ(n;;0;1/254^1)+1);"");
REST(SEQUENZ(n;;0);254)+1;
INDEX({45.30.30};REST(SEQUENZ(n)-1;3)+1)))
WENN = IF,
REST = MOD,
SEQUENZ = SEQUENCE,
KÜRZEN = TRUNC,
Una cosa no funciona todavía: la columna A2 cuenta más allá de 254, pero siempre debería volver a 1 después de 254.
Problema:
Respuesta1
La solución:https://www.excelforum.com/excel-programming-vba-macros/1334728-selective-counting-up-in-excel.html
=LET(n,800000,CHOOSE(SEQUENCE(,4),
IF(MOD(SEQUENCE(n),3)=1,1+TRUNC(SEQUENCE(n,,0,1/254^2)),""),
IF(MOD(SEQUENCE(n),3)=1,1+MOD(INT(SEQUENCE(n,,0,)/254),254),""),
1+MOD(SEQUENCE(n,,0),254),
INDEX({45,30,30},1+MOD(SEQUENCE(n)-1,3))))
o en mi caso para alemán:
=LET(n;260000;WAHL(SEQUENZ(;4);
WENN(REST(SEQUENZ(n);3)=1;1+KÜRZEN(SEQUENZ(n;;0;1/254^2));"");
WENN(REST(SEQUENZ(n);3)=1;1+REST(GANZZAHL(SEQUENZ(n;;0;)/254);254);"");
1+REST(SEQUENZ(n;;0);254);
INDEX({45.30.30};1+REST(SEQUENZ(n)-1;3))))
atentamente
Respuesta2
Usando el número de fila() como índice, la columna C es solo el resto después de la división (módulo) por 254, compensado por 1 (es decir, 0..253 a 1..254):
=MOD(ROW()-1,254)+1
La columna B es el cociente después de la división de enteros por 254 y la columna A el cociente después de la división de enteros por 254^2, ambas escaladas a 1..254 con el módulo y compensadas en 1:
=IF(MOD(ROW()-1,3)=0,MOD(INT((ROW()-1)/254),254)+1,"")
y
=IF(MOD(ROW()-1,3)=0,MOD(INT((ROW()-1)/(254^2)),254)+1,"")
La declaración if solo garantiza que los números se muestren en cada tercera fila.