Correspondance fichier Excel

Max80250 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai préparé un fichier excel qui comporte un certain nombre de calcul par rapport aux données

Les données proviennent d'une extraction d'un autre outil et si les colonnes seront toujours nommées de la même façon leur ordre risque de ne pas être toujours le même

Comment peut-on gérer ce reclassement des colonnes dès leur importation ou existe-t'il une autre solution permettant de faire les calculs

merci de votre aide

4 réponses

  1. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     
    Bonjour

    pouvez-vous insérer une ligne en dessous des titres des colonnes et mettre un numéro commencant à 1 première colonne et la formule suivante =a1+1 et la tirer vers la droite
    Après avec un rechercheH chercher le titre de la colonne
    exemple avec les colonnes de A à Z
    =rechercheH(A1;A1:Z2;2;faux) cela vous donnera le numéro de la colonne à trouver

    Puis avec une rechercheV recupérer l'information correspondante à la ligne en espérant que vous ayez des titres de lignes
    Sur une 2ème feuille copier la colonne titre de ligne colonne A et votre ligne titre des colonne la ligne 1 et en cellule B2 mettre cette formule et la tirer vers le bas et la droite

    =RECHERCHEV($A2;'feuil1'!$A$1:$M$500;RECHERCHEH(B$1;'feuil1'!$A$1:$M$2;2;FAUX))
    et vous obtiendrez les informations dans l'odre souhaités
    0
  2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    Tut dépend de ce que vous avez dans vos formules de calculo, mais vous ne le précisez pas

    si les titres de colonne sont les mêmes, vous pouvez utiliser le principe de cet exemple pour trouver la valeur d'une cellule sur la, même ligne

    votre colonne résultats , titre en A1

    votre base de données titres en A1 à Z1 dans une feuille nommées Données

    pour trouver la valeur de la colonne titrée en A1 sur la ,ligne 2 en A2:

    =INDEX(Données!$A:$Z;ligne();EQUIV(A1;Données!$A1:$Z1;0))

    crdlmnt
    0
  3. Max80250 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
     
    Je viens vous apporter quelques précisions sur ma demande :

    J'ai une extraction d'un fichier qui comporte des colonnes ayant des noms ex
    colonne A sexe, colonne B age, ..
    J'ai préparé un résultat automatique sur une nouvelle page qui me donne par exemple le nombre d'homme jeune et seniors
    je fais donc mes calculs par rapport aux colonnes de mon tableau ; pas de problèmes
    Il est possible que lors d'une nouvelle extraction qui comportera les mêmes colonnes voire plus de colonnes avec les même noms mais classées différemment
    ainsi mes données sur le sexe peuvent se trouver à la colonne D

    Ma demande est comment je peux faire tourner mes calculs sans avoir à tout paramétrer et qu'ainsi si je veux calculer le nombre d'homme il me trouve la bonne colonne

    J'espère avoir été plus clair

    Merci
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Bonjour
      sans fichier modèle, ça ne va pas être facile
      en supposant que les colonnes qui ne sont pas dans la même position aient le même titre (exactement)

      Exemple à adapter: aller chercher la colonne titrée Sexe et compter dans cette colonne le nombre de F

      la base de données en feuil1!
      les titres de colonne sont en ligne 1 de A1 à Z1
      les données vont jusqu'à ,ligne 100
      pour compter les F qui sont dans la colonne dont le titre est Sexe en feuil1! entre A1 et Z1:

      =NB.SI(DECALER(feuil1!A1;1;EQUIV("Sexe";feuil1!A1:Z1;0)-11;100);"F")

      Bonne chance
      0
    2. Max80250 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
       
      Je dois avouer que la solution avec l'index a marché à merveille : une seule chose j'ai eu quelques déboires parce ce je pense avoir trop de données et j'ai donc du mettre des données relatives =INDEX(Données!$A:$Z;ligne();EQUIV(A1;Données!$A$1:$Z$1;0))

      Merci
      0
  4. Max80250 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
     
    Une autre sujet qui concerne la même demande
    J'ai une colonne avec des dates dans le passé et dans l'avenir sur lesquelles je souhaite faire du comptage

    1) je souhaiterais incorporer automatiquement dans ma feuille la date
    2) cette date devrait me servir comme point de départ de mes calculs

    - compter le nombre de ligne dont la date est dépassé
    - compter le nombre de ligne pour laquelle la date est positionnée dans les 2 mois à venir par rapport à la date d'effet

    J'ai essayé des formules avec aujourd'hui, maintenant des références à des cellules avec la fonction NB.SI amis je n'ai pas trouvé de résultats

    Merci de votre aide
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Bonjour
      la formule que vous dites avoir utilisée pour INDEX et exactement celle de mon message.

      Pour les dates:

      incorporer automatiquement la date du jour en cours > dans la cellule:
      =AUJOURDHUI()
      volatil, va changer tous les jours

      incorporer une date figée:
      il faut soit passer par VBA soit sélectionner la cellule et taper simplement ensemble touche ctrl et
      point-virgule
      VBA ne semble donc pas utile.

      pour compter les date , en supposant que vois dates soient pur l'exemple en colonne B et que bien sur dans cette colonne il n'y ait que des dates ou des cellules vides sans formule:

      dépassées par rapport au jour en cours:
      excel "tous types"
      nécessite que le champ soit limité en ligne (adresse type B:B ne fonctionne pas:
      =SOMMEPROD((B1:B1000<AUJOURDHUI())*(B1:B1000>0))
      sur Excel à partir de 2007
      =NB.SI.ENS(B:B;"<"&AUJOURDHUI();B:B;">0")

      dans les deux mois à partir du jour en cours:
      excel "tous types"
      =SOMMEPROD((B1:B1000<DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI())+2;JOUR(AUJOURDHUI()))*(B1:B1000>0))
      à partir de 2007
      =NB.SI.ENS(B1:B1000;"<"&DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI())+2;JOUR(AUJOURDHUI());B1:B1000;">0")




      crdlmnt
      0