texte séparé en colonnes dans Excel

-1

Comment pouvez-vous séparer le texte en colonnes de droite à gauche? Mes données ont un nombre incohérent d'espaces par ligne, par exemple:

Hernandez Landscaping Gus Hernandez 1 Neurys Lane Newark, DE 19702
Hershey's Mill Golf Club Steve Friedell 1000 Mill Road West Chester, PA 19380
Hershey Country Club 1000 E.Derry Rd Hershey, PA 17033
Hershey Gardens 170 Hotel Road Hershey PA 17033
Amy
la source
Il semble que vos deux premières colonnes (nom de la société et nom de la société) peuvent comporter un nombre variable de mots. Utilisez-vous des délimiteurs autres que l'espace / existe-t-il des guillemets autour de vos données? Sinon, il n'y a aucun moyen de savoir si A B Cc'est 'A B', 'C'ou'A', 'B C'
JohnLBevan le
aucun autre délimiteur utilisé. J'espérais qu'il y avait un moyen de dire "divisez-le par des espaces en commençant de droite à gauche. Cela ne résoudrait pas tout le problème, mais rapprochez-moi de moi.
Amy le
Combien de disques avez-vous? Même à partir de la droite ne sera pas facile à automatiser en raison du nombre variable de mots dans les noms de villes et adresses, de nombreuses variations et exceptions dans l'adressage, etc. Sauf si vous avez une liste énorme, il sera probablement plus rapide de le faire manuellement car il est facile pour une personne de reconnaître les composants d’adresse dans toutes leurs variations. Commencez par la droite et coupez un champ à la fois et collez-le.
Fixer1234
c'est une longue liste ... 1027 lignes..de rire
Amy
Vous n'avez pas dit quelles sont les données que vous voulez.
Raystafarian le

Réponses:

0

Essayez ceci ... Dans cet exemple, je suppose que vous collez vos données dans la cellule A2. Vous avez donc la ligne 1 pour les en-têtes. Lorsque vous séparez des colonnes, les données remplissent les colonnes de A à M; avec N étant la première colonne vide; ajustez les références de colonne en fonction de vos données.

  • Utilisez Données, Texte en colonnes pour séparer par délimiteur, en sélectionnant un espace (normal de gauche à droite)
  • Dans la colonne après votre dernière (c.-à-d. N), mettez =countblanks(A2:M2)à la ligne 2; puis copiez cette formule pour toutes les lignes (Excel augmentera automatiquement le numéro de ligne si nécessaire).
  • En type O1 2
  • Dans P1, mettez la formule =O2+2
  • en type O2 =IF($N2+O$1>COLUMN(N2),"",INDIRECT(CONCATENATE("C[-",$N2+O$1,"]"),FALSE))
  • Copier N2 et O2 pour toutes les colonnes (les numéros de ligne doivent être mis à jour automatiquement)
  • Copiez la colonne O à droite pour que la même formule soit répétée (avec les références mises à jour) dans la colonne AA (ou au-delà si vos données le nécessitent).
  • Vous devriez maintenant voir que les colonnes O à AA ont vos données comme si elles avaient été fractionnées
  • Sélectionnez les colonnes O à AA, cliquez avec le bouton droit de la souris et sélectionnez Copier (ou appuyez sur ctrl + c).
  • Sur une nouvelle feuille, cliquez sur la cellule A2, cliquez avec le bouton droit de la souris et sélectionnez Coller les valeurs (également disponible sous Collage spécial). Vous avez maintenant une feuille avec uniquement les résultats souhaités, sans les formules que vous aviez utilisées pour la créer.

Résultats

    19702   DE  Newark, Lane    Neurys  1   Hernandez   Gus Landscaping Hernandez           
    19380   PA  Chester,    West    Road    Mill    1000    Friedell    Steve   Club    Golf    Mill    Hershey's
    17033   PA  Hershey,    Rd  E.Derry 1000    Club    Country Hershey             
    17033   PA  Hershey Road    Hotel   170 Gardens Hershey                 

Explication

  • Les colonnes divisées séparent les données comme vous le connaissez déjà.
  • CountBlanks nous dit combien de colonnes sont vides; c'est-à-dire combien de colonnes (+1) il faudrait déplacer vers la gauche avant de rencontrer une cellule avec des données; notre première cellule dans la division inversée.
  • le 2 dans O1 indique que, dans la colonne O, le nombre de lignes à déplacer de gauche à la première donnée correspond à la valeur définie dans la colonne N pour cette ligne, plus 2.
  • Chaque fois que nous allons 1 colonne à droite de O nous devons aller 2 supplémentaire à gauche pour rencontrer la colonne suivante dans notre division inversée (P1 est O1 + 2 car P est 1 à droite de O et les données que nous ' re after est 1 à gauche des données que nous recherchions en O, donc 1 + 1 => 2).
  • O2 a le bit compliqué.
    • Vérifiez que nous n’avons pas dépassé le premier rang; si nous venons de retourner un blanc.
    • Créer une formule relative; C'est-à-dire que plutôt que de définir une cellule nommée (telle que "A1"), nous disons combien de lignes / colonnes à déplacer. R [-1] signifie que vous déplacez 1 ligne vers le haut, C [5] signifie que vous déplacez 5 colonnes vers la droite, R [2] C [-3] signifie 2 lignes plus bas, 3 colonnes à gauche. Dans notre cas, nous utilisons uniquement des colonnes, en remontant le nombre de colonnes déterminé par N2 + O1 (ou selon le type de cellule dans lequel nous nous trouvons).
    • False indique simplement que nous utilisons cette fonctionnalité relative plutôt que la méthode de référence de cellule absolue normale.
  • La copie de formules pour toutes les lignes / colonnes ne remplit que le reste des données (c.-à-d. Par opposition à O2 uniquement).
  • Copier et coller les valeurs des données signifie que vous pouvez vous débarrasser des formules et ne disposer que de belles données propres pour la transmission.
JohnLBevan
la source
0

Si vos données commencent dans A2-

En utilisation B2 - =LEFT(A2,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A2&1234567890))-1)pour obtenir le client

en utilisation C2 - =REPLACE(A2,1,LEN(B2),"")pour obtenir l'adresse complète

Raystafarian
la source