Regroupement donné

Bonjour à tous,

Je tourne en rond sur une formule, qui me serait fortement utile. Je vous présente un tableau récap de ma situation :

DateMagasin AMagasin BMagasin CMagasin D
J1Client AClient BClient GClient E
J2Client AClient HClient BClient C
J3Client EClient CClient AClient H
J4Client CClient BClient FClient A
J5Client BClient FClient AClient C

J'aimerais faire un tableau qui me dirait "en moyenne, le client XX vient dans un de nos magasins (peu importe lequel) tous les XX jours".

Pour la moyenne, je n'ai pas de souci de formule.

Ce que j'aimerais avoir, c'est une formule (voire macro s'il n'y a pas de formule pour) qui me permettrait de regrouper toutes les dates de visites d'un client peu importe le magasin visité, sachant que J1, J2 (J...) renvoient à des dates sous le format JJ/MM/AAAA.

Au début, j'avais la foi, je filtrai chaque colonne (ex : pour la colonne Magasin A, je sélectionnais que le Client A puis je faisais un copier-coller des dates sur une autre feuilles, puis je resélectionnais toutes les valeurs en colonne Magasin A pour refiltrer en Magasin B puisque le Client A visite d'autres magasins dont il me faut les dates et cetera...). Sauf que j'ai une vingtaine de colonnes et plus de 300 lignes pour certaines valeurs donc faire du filtrage copier-coller sur une autre feuille me prend trop de temps.

J'ai donc essayé avec des formules (j'ai essayé avec INDEX EQUIV et avec RECHERCHEV). INDEX EQUIV n'a pas fonctionné du tout, pour RECHERCHEV, il me renvoie bien une date, mais qu'une seule. Sur les formules que je tente, excel me renvoie à une seule date sous format erroné ou bien il me met #N/A!. J'ai aussi essayé avec la formule SI mais ça ne fonctionne pas non plus (je bloque sur la valeur vraie, je ne vois pas comment dire à excel de me copier-coller toutes les dates où la valeur recherchée est apparue dans les colonnes voisines)

A partir de mon tableau fictif donné ci-dessus, voilà ce que je voudrai obtenir sur une autre feuille par exemple pour le client A :

Date
J1
J2
J3
J4
J5

(Bon, là mon exemple est pété car le client A est venu tous les jours dans des magasins différents mais dans mon tableur, ce n'est pas le cas).

Pour le client G par exemple, il n'est venu qu'en J1 et pas les autres jours.

Merci d'avance :)

Kth

(Je ne suis vraiment pas un pro)

Ci joint un début avec seulement quelques petites formules.

13classeur1.xlsx (12.52 Ko)

Idéalement il faudrait ajouter un filtre pour sélectionner le client.

Bonjour Loid,

Merci pour cette tentative qui malheureusement ne fonctionne pas :,(

Je pense avoir trouver une fonction qui me permettrait de résoudre mon soucis (la fonction FILTRE) sauf qu'elle ne marche pas. Elle me renvoie : #VALEURS donc je pense qu'il y a un soucis dans la manière où je renseigne ma formule.

Voici comme je l'ai écrite : =FILTRE(Sheet1!B2:B1900 ; Sheet1!E2:X1900 = I1;"")

Les dates que je cherche à avoir sont dans la colonne B de ma première feuille et les valeurs à rechercher sont dans les colonnes E à X de la première feuille toujours.

I1 correspond à la valeur entrer dans ma deuxième feuille.

Merci part avance de votre aide,

Kth

Bonjour,

La fonction FILTRE n'est disponible, il me semble, qu'à partir d'office 365.

Cdlt,

Edit : Une piste pour retransformer ta BDD par POWERQUERY. Également analysable, mais il va me falloir des vraies valeurs avec le résultat attendu.

cdlt,

7classeur1.xlsx (18.79 Ko)

Bonjour,

@Kth,

Précise bien ta version Excel et joins un fichier à ta demande.

Cdlt.

Merci Ergotamine !

Mais finalement, j'ai trouvé le problème de ma formule et elle fonctionne !

La fonction FILTRE fonctionne sur ma version d'Excel.

Pour expliquer un peu comment j'ai rectifié ma formule ;

J'ai commencé par transformer ma base de donné en tableau avec un nom (car il n'était pas sous forme de "tableau" d'après Excel).

Ensuite, je renseigne ma formule (=FILTRE(Nom du tableau ; Nom de la ou des colonnes = Valeur recherché)

Et voila !

Comme j'ai plusieurs colonne, je mets des "+" entre chaque colonne à prendre en compte. Aussi, il faut s'assurer que la valeur recherchée soit bien présente dans toutes les colonnes renseignées.

Imaginons que mon tableau s'appelle CLIENT.

Si je veux filtrer sur une autre feuille les dates de visites d'un client particulier (par exemple le client A) sur tous les magasins confondus, je renseigne =FILTRE(CLIENT ; (CLIENT[Magasin A]="Client A") + (CLIENT[Magasin B]="Client A" ) et cetera et cetera).

Et ça me renvoie bien toutes mes dates (et même toutes les autres infos annexes que je masque). Par contre, il faut uniquement mettre les colonnes où le client A est apparu sinon la formule ne marche plus. Imaginons que mes Magasins vont de la lettre A à J et que le client A n'a jamais été dans le magasin C, il ne faut pas mettre la colonne correspondant à la colonne C dans la formule.

Aussi, elle ne se met pas automatiquement à jour dans le cas où le client visite un magasin où il n'a jamais mis les pieds avant, mais ça me va, je peux le faire manuellement, ca me prend que quelques secondes.

Voilà, je vous mets ici comment j'ai résolu mon soucis.

Merci quand même

Rechercher des sujets similaires à "regroupement donne"