Comment générer des répétitions dans Excel?

J'ai les données suivantes dans Excel:

start date end date number of repetition 0 515 423 0 484 982 0 456 5,012 0 425 1,063 0 395 2,148 

J'ai besoin de générer par exemple 423 répétitions de la date de début et de la date de fin correspondantes dans une colonne comme celle-ci:

 0 515 0 515 ... 

Et puis le reste des répétitions commencent après cela dans la même colonne …

2 Solutions collect form web for “Comment générer des répétitions dans Excel?”

J'ai pu adapter la réponse de Byron Wall à Comment créer une table dynamique dans Excel? (Sur le débordement de pile) pour alterner entre les deux colonnes:

  • E2=A2
  • E3=B2
  • E4=IF(
    INDEX(C$2:C$99, MATCH(E2,A$2:A$99), 1) > COUNTIF(E$2:E2, E2),
    E2,
    INDEX(A$2:A$99, MATCH(E2,A$2:A$99)+1, 1))
  • E5=IF(
    INDEX(C$2:$C99, MATCH(E2,A$2:A$99), 1) > COUNTIF(E$2:E2, E2),
    E3 ,
    INDEX( B$2:B$99 , MATCH(E2,A$2:A$99)+1, 1))

Ensuite, sélectionnez E4 et E5 ensemble et faites glisser vers le bas. Bien sûr, vous devez remplacer 99 par le dernier numéro de ligne de vos données source (ou quelque chose de plus élevé).

À des fins de test / démonstration, je

  • A changé les comptes de répétition à quelque chose de gérable, donc je n'aurais pas à faire glisser vers le bas vers la ligne 828 (2 × 413 + 2) juste pour voir 32 ( A3 ) pour la première fois,
  • A changé les dates de fin B3:B6 , il serait évident que B3 , B4 , B5 et B6 étaient affichés en face de A3 , A4 , A5 et A6 (et pas B2 encore et encore)
  • À des fins d'affichage uniquement, divise la colonne E en deux pièces, de sorte que l'image peut être 20 lignes supérieure à 38.

Cela permet aux chevauchements de dates de se chevaucher, comme ci-dessus,

Ou comme ceci: ou être non-chevauchant, comme ceci:

  Date de début date de fin date de début date de fin
      0 15 1 10
     10 25 11 20
     20 35 21 30
     30 45 31 40
     40 55 41 50 

Mais il ne permet pas que des valeurs A se soient produites sur les lignes précédentes en tant que valeurs B

Comme ceci: ou comme ceci:

  Date de début date de fin date de début date de fin
      1 8 1 15
      8 15 8 22
     15 22 15 29
     22 29 22 36
     29 36 29 43 

(C'est-à-dire que les plages ne doivent pas être contiguës). Si vous devez gérer des données comme celle-ci, modifiez E4 et E5 pour:

  • E4=IF(
    INDEX(C$2:C$99, MATCH(E2,A$2:A$99), 1) >
    SUMPRODUCT(--(E$2:E2 = E2), --(MOD(ROW(E$2:E2),2)=0)),
    E2,
    INDEX(A$2:A$99, MATCH(E2,A$2:A$99)+1, 1))
  • E5=IF(
    INDEX(C$2:C$99, MATCH(E2,A$2:A$99), 1) >
    SUMPRODUCT(--(E$2:E2 = E2), --(MOD(ROW(E$2:E2),2)=0)),
    E3,
    INDEX(B$2:B$99, MATCH(E2,A$2:A$99)+1, 1))

J'ai formé les dates de début pour être bleu et les dates de fin d'être jaune, pour plus de clarté:

Cela fonctionne, mais vous devez ajuster manuellement pour chaque ligne. Vous pouvez remplir automatiquement cette formule autant de fois que vous en avez besoin, et cela commencera à renvoyer en blanc quand il aura suffisamment de répétitions. Pour faire la première rangée (1,516), vous utilisez:

 =IF(ROW()<=C$2*2+1,IF(ISEVEN(ROW()),A$2,B$2),"") 

L'ajustement pour la prochaine ligne ressemble à:

 =IF(ROW()<=C$3*2+1,IF(ISEVEN(ROW()),A$3,B$3),"") 
  • Conditionnellement, formatez une cellule si elle contient une formule
  • Comment créer automatiquement tous les nombres saisis dans une ligne négative à l'aide d'Excel?
  • Comment faire pour que Excel retienne le contenu de son presse-papiers
  • Excel Concatenate Time
  • Référencement d'une seule ligne sur plusieurs lignes dans Excel
  • Countive in Excel avec plusieurs critères
  • Comment puis-je charger des images externes dans Excel?
  • Comment corriger une erreur d'arrondissement en virgule flottante dans Microsoft Excel pour Macintosh 2011?
  • Nested Ifs pour la feuille de comptabilité personnelle
  • Excel: comment créer plusieurs lignes d'un
  • La formule Excel affiche la formule plutôt que le résultat
  • Soyons le génie de l'ordinateur et du réseau.