Correspondance fichier Excel

Fermé
Max80250 Messages postés 11 Date d'inscription vendredi 12 avril 2013 Statut Membre Dernière intervention 18 décembre 2013 - 12 avril 2013 à 19:08
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 16 avril 2013 à 16:22
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
A voir également:

4 réponses

PHILOU10120 Messages postés 6393 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 9 octobre 2024 810
12 avril 2013 à 19:56
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
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 418
13 avril 2013 à 07:31
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
Max80250 Messages postés 11 Date d'inscription vendredi 12 avril 2013 Statut Membre Dernière intervention 18 décembre 2013
15 avril 2013 à 10:45
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
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 418
15 avril 2013 à 11:56
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
Max80250 Messages postés 11 Date d'inscription vendredi 12 avril 2013 Statut Membre Dernière intervention 18 décembre 2013
16 avril 2013 à 15:14
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
Max80250 Messages postés 11 Date d'inscription vendredi 12 avril 2013 Statut Membre Dernière intervention 18 décembre 2013
16 avril 2013 à 15:19
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
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 418
16 avril 2013 à 16:22
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