Convertir des données multilignes en lignes - Conseils Excel

Table des matières

lan Z a envoyé le problème Excel de cette semaine. Son département MIS lui remet un fichier généré à partir d'un ancien rapport COBOL. Après avoir ouvert le fichier dans Excel, il a 2500 lignes de ceci:

CustLastName | CustFirstName | CustMiddle | CustAddress | CustCity |CustState | CustZip Useless LINE1 Useless LINE2 CustLastName | CustFirstName | CustMiddle | CustAddress | CustCity |CustState | CustZip Useless LINE1 Useless LINE2

Alan souhaite obtenir ce rapport ASCII dans un format utile: une ligne par client, avec State et Zip ajoutés au reste des informations. Il veut aussi zapper les 2 lignes inutiles. De toute évidence, nous ne voulons pas faire tout cela manuellement. Voici une façon de gérer rapidement le désordre.

Avec les formules

  • Insérez deux colonnes vides à gauche des données.
  • Ajoutez une ligne d'en-tête au-dessus des données.
  • La colonne A est appelée "séquence"
  • La colonne B est appelée "RowType"
  • La colonne C s'appelle "Données"
  • Mettez tous les titres en gras
  • La colonne A va être utilisée pour attribuer un numéro à chaque enregistrement logique du rapport. Étant donné que ce rapport comporte 4 lignes physiques pour chaque enregistrement logique, nous avons besoin que chaque ensemble de 4 lignes ait le même numéro d'enregistrement logique. J'entre généralement des valeurs pour le premier enregistrement, puis je conçois des formules pour le 2ème enregistrement qui peuvent être copiées dans tout le rapport.
  • Dans les cellules A2: A5, entrez un 1. Dans la cellule A6, entrez = A5 + 1. Dans la cellule A7, entrez = A6. Copiez A7 vers A8 et A9. Vous disposez maintenant d'un ensemble de formules copiables pour le deuxième enregistrement logique du rapport.
  • Sélectionnez A6: A9 et appuyez sur Ctrl C pour copier. Sélectionnez A10: A2501 et appuyez sur Ctrl V pour coller.
  • La colonne B va être utilisée pour identifier si la ligne particulière est le 1er, 2ème, 3ème ou 4ème segment de l'enregistrement logique.
  • Dans les cellules B2: B5, entrez 1, 2, 3 et 4. Dans la cellule B6, entrez = B2. Copiez la cellule B6 de B7: B2501.

Après avoir changé les valeurs

Maintenant que vous avez des numéros de séquence et des types de lignes pour toutes vos données, vous devez changer les formules en valeurs. Sélectionnez A2: B2501. Edition> Copier, Modifier> Collage spécial> Valeurs> OK.

Maintenant que les numéros de séquence et les types de lignes ont été attribués à toutes les lignes, nous avons presque terminé. Triez les données par type de ligne comme clé primaire et par séquence comme clé secondaire. Cela fera flotter les 625 lignes supérieures de chaque enregistrement jusqu'aux cellules C2: C626. La 2ème ligne de chaque enregistrement sera en C626: C1251. Les lignes "inutiles" commenceront dans C1252 et pourront être supprimées. Déplacez les cellules C626: C1251 vers la cellule D2. Dans la cellule E2, entrez la formule =C2&D2. Vous pouvez copier cette formule de E2 à E626. Utilisez la même astuce Coller une valeur spéciale pour passer des formules aux valeurs, supprimez les colonnes AD et vous avez votre résultat.

À partir de là, vous pouvez utiliser l'assistant Texte en colonnes pour traiter davantage ces données

Vous pouvez facilement personnaliser cette procédure pour traiter toute variété de rapports ASCII. Vous devez déterminer le nombre de lignes imprimées physiques qui composent un seul enregistrement logique sur le rapport.

Articles intéressants...