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),"") 
  • Comment puis-je déplacer des fichiers Word / Excel liés sans briser les liens sous Windows 7?
  • Désactiver l'autoformat dans Excel 2010
  • Impossible de modifier la police de caractères Excel ou les couleurs d'ombrage.
  • Déplacer ouvrir le document Excel vers une fenêtre séparée
  • Quelles fonctions de feuille de calcul peuvent renvoyer une matrice
  • Transposer les colonnes vers les lignes dans Microsoft Excel
  • Existe-t-il une fonction dans Excel pour trouver la valeur absolue maximale d'une gamme?
  • Pourquoi Excel supprime-t-elle les premiers zéros principaux lors de l'affichage des données CSV?
  • Comment compter le nombre de valeurs distinctes dans une gamme?
  • Multiplication hiérarchique Excel
  • Remplir automatiquement un grand nombre de cellules dans Excel?
  • Soyons le génie de l'ordinateur et du réseau.