Creer un tableau avec % de réponse par filtre
Bonjour,
J'essaye de créer un tableau avec la fonction Grouper.par pour obtenir le % de réponse par filtre
L'idée étant d'obtenir ce type de tableau en formule.
J'arrive à avoir les réponses avec un filtre mais impossible d'avoir un tableau avec les filtres suivant à la suite
Si quelqu'un à la formule ? Je suis preneur ? Le fichier est en pièce jointe
| F | M | 25-36 ans | 37-48 ans | Station favorite (X) | Habitudes d'écoute (X) | Total | |
| Jamais | 6% | 6% | 6% | 6% | 6% | 6% | 6% |
| Occasionnellement | 27% | 19% | 27% | 27% | 27% | 27% | 19% |
| Rarement | 12% | 4% | 12% | 12% | 12% | 12% | 4% |
| Souvent | 36% | 41% | 36% | 36% | 36% | 36% | 41% |
| Très souvent | 30% | 37% | 30% | 30% | 30% | 30% | 37% |
Bonjour et bienvenue,
Sujet intéressant. Alors pour contourner le problème moi j'aurai simplement stacké horizontalement les table de pivot, en retirant la 1e colonne. Par contre ce qui m'intrigue c'est vos dernières colonnes basées sur les données en G si j'ai bien compris. Quel est le calcul exactement ?
=ASSEMB.H(
PIVOTER.PAR(Données!J2:J84;Données!C2:C84;Données!A2:A84;PERCENTOF;;0;;0);
EXCLURE(PIVOTER.PAR(Données!J2:J84;Données!E2:E84;Données!A2:A84;PERCENTOF;;0;;0);;1);
EXCLURE(PIVOTER.PAR(Données!J2:J84;Données!G2:G84;Données!A2:A84;PERCENTOF;;0;;0);;1))(vérifiez PERCENTOF dans la formule, je ne suis pas sur de la traduction)
Merci effectivement cela semble marché avec la fonction exclure ;-)
J'ai encore 2 problématiques, je veux en plus les résultats uniquement en colonne pour ceux qui ont comme station favorite RTL2 ( je pense ca je vais y arriver en appliquant un filtre)
Et l'autre problèmatique est que je veux aussi les résultats sur le champs Habitudes d'écoute d'une seule station par exemple "RTL2".
la difficulté c'est que on pouvait répondre plusieurs stations à cette question. Raison pour laquelle j'ai rajouté ces fameux calculs en colonne T U & V. Cela me permettait d'extraire les résultats pour simplifier. Mais si quelqu'un à le moyen de le faire sans passer par cette méthode je suis preneur ;-)
Un grand merci pour votre aide
Excusez-moi, j'ai vraiment du mal à "comprendre" ce que représentent ces résultats.
Par exemple, "le pourcentage de personnes ayant occasionnellement comme station favorite RTL2" ? J'ai du mal à en saisir le sens.
Une nouvelle proposition pour RTL2 :
=GROUPER.PAR(Données!J1:J84;Données!G1:G84;LAMBDA(x;NBVAL(REGEX.EXTRAIRE(JOINDRE.TEXTE("|"; VRAI; x); "RTL2";1))/NBVAL(x));3;0)Non mais effectivement ce n'est pas evident : je veux vraiment le tableau sous cette forme là
A la colonne Station Favorite = RTL2 je veux uniquement les répondants de RTL2 et pareil pour les habitudes d'ecoute
Je vous ai mis le nombre de répondants en dessous
| F | M | 25-36 ans | 37-48 ans | Station favorite =RTL2 | Habitudes d'écoute = RTL2 | Total | |
| Jamais | 6% | 6% | 6% | 6% | 6% | 6% | 6% |
| Occasionnellement | 27% | 19% | 27% | 27% | 27% | 27% | 19% |
| Rarement | 12% | 4% | 12% | 12% | 12% | 12% | 4% |
| Souvent | 36% | 41% | 36% | 36% | 36% | 36% | 41% |
| Très souvent | 30% | 37% | 30% | 30% | 30% | 30% | 37% |
| Nbr de répondants | 46 | 37 | 60 | 23 | 19 | 39 | 83 |
J'ai réussi à appliquer un filtre sur les stations favorite RTL2 mais j'ai l'impression que le résultats n'est pas bon : voici ma formule
=ASSEMB.H(PIVOTER.PAR(Données!J2:J84;Données!C2:C84;Données!A2:A84;POURCENTAGE.DE;;0;;0);EXCLURE(PIVOTER.PAR(Données!J2:J84;Données!E2:E84;Données!A2:A84;POURCENTAGE.DE;;0;;0);;1);EXCLURE(PIVOTER.PAR(Données!J2:J84;Données!G2:G84;Données!A2:A84;POURCENTAGE.DE;;0;;0;;G2:G84="RTL2");;1))
le résultat est le suivant ( il y a un décalage)
| F | M | 25-36 ans | 37-48 ans | RTL2 | |
| Jamais | 4% | 3% | 3% | 4% | 16% |
| Occasionnellement | 22% | 16% | 23% | 9% | 42% |
| Rarement | 5% | 2% | 4% | 42% | |
| Souvent | 41% | 41% | 38% | 48% | #N/A |
| Très souvent | 33% | 35% | 33% | 35% | #N/A |
Dans ce cas je pense qu'on aurait intéret à passer sur une construction "manuelle" du tableau, via des fonctions LAMBDA par exemple.
Est-ce que la proposition ci-dessous vous renvoie le résultat voulu pour les stations RTL2 et NRJ ?
=LET( _rows; UNIQUE(Données!J2:J84); funcP; LAMBDA(_r; _filtre; _colFiltre; MAP( _r; LAMBDA(x; POURCENTAGE.DE( 1 * (_colFiltre = _filtre) * (Données!J2:J84 = x); 1 * (_colFiltre = _filtre) ) ) ) ); ASSEMB.H( _rows; funcP(_rows; "RTL2"; Données!G2:G84); funcP(_rows; "NRJ"; Données!G2:G84) ) )
EDIT : utilisez la fonction suivante plutôt, qui fonctionne pour toutes les stations d'un coup.
=LET(
_rows; Données!J2:J84;
funcP; LAMBDA(_listRows;_filtre;_colFiltre;
MAKEARRAY(
NBVAL(UNIQUE(_listRows));
NBVAL(_filtre);
LAMBDA(_r;_c;
MAP(
INDEX(UNIQUE(_listRows); _r);
LAMBDA(x;
POURCENTAGE.DE(
1 * (_colFiltre = INDEX(_filtre; _c)) * (_listRows = x);
1 * (_colFiltre = INDEX(_filtre; _c))
)
)
)
)
)
);
ASSEMB.H(UNIQUE(_rows); funcP(_rows; UNIQUE(Données!G2:G84); Données!G2:G84))
)Pour s'y retrouver, avec les noms de radios au dessus
=LET(
funcP; LAMBDA(_listRows;_filtre;_colFiltre;
MAKEARRAY(
NBVAL(UNIQUE(_listRows));
NBVAL(_filtre);
LAMBDA(_r;_c;
MAP(
INDEX(UNIQUE(_listRows); _r);
LAMBDA(x;
POURCENTAGE.DE(
1 * (_colFiltre = INDEX(_filtre; _c)) * (_listRows = x);
1 * (_colFiltre = INDEX(_filtre; _c))
)
)
)
)
)
);
_rows; Données!J2:J84;
ASSEMB.V(
ASSEMB.H(""; DANSLIGNE(UNIQUE(Données!G2:G84)));
ASSEMB.H(UNIQUE(_rows); funcP(_rows; UNIQUE(Données!G2:G84); Données!G2:G84))
)
)Je n'ai toujours pas compris comment vous faisiez le 2e calcul "habitude d'écoute", si vous pouviez donner les formules de calcul théorique pour tous vos pourcentages ça permettrait vraiment de valider & accélérer l'écriture des formules, car pour l'instant on navigue a vue (dans le brouillard).
Ah j'ai peut etre compris en utilisant les autres colonnes de votre tableau, comme ceci ?
=LET(
_vals; ORGA.LIGNES(DANSCOL(EXCLURE(SUPPR.PLAGE(Données!J:Q); 1)); 2);
PIVOTER.PAR(
PRENDRE(_vals; ; 1);
PRENDRE(_vals; ; -1);
SEQUENCE(LIGNES(_vals); ; 1; 0);
POURCENTAGE.DE; 1; 1; ; 0
)
)Bonjour,
Le tableau précèdent était pour montrer ce que je souhaitais obtenir mais les résultats n'étaient pas les bons
voici le tableau que je souhaiterai obtenir avec les bons chiffres
| aMontage1 | |||||||
| cible | M | F | 37-48 ans | 25-36 ans | auditeurs RTL2 | RTL2 | Total |
| Jamais | 2% | 2% | 2% | 2% | 1% | 1% | 2% |
| Occasionnellement | 21% | 20% | 21% | 20% | 21% | 18% | 21% |
| Rarement | 2% | 2% | 1% | 4% | 2% | ||
| Souvent | 39% | 43% | 47% | 35% | 40% | 40% | 41% |
| Très souvent | 35% | 33% | 28% | 40% | 38% | 41% | 34% |
Résultat de la colonne : aMontage1
Cible Auditeurs RTL2 =Colonne H = contient "RTL2"
Cible RTL2 =Colonne Station Favorite = "RTL2"
j'espère que c'est plus claire
Merci bcp
Bon courage, moi j'abandonne. Si quelqu'un n'est pas capable d'expliquer clairement son calcul, c'est qu'il ne sait pas ce qu'il fait. Je n'ai pas envie de participer à l'établissement de statistiques insensées.
Faites attention, on peut faire dire ce qu'on veut aux chiffres et c'est ce que vous êtes en train de faire. Normalement on définit d'abord les critères d'étude et le calcul des résultats à obtenir, et ensuite on fait un sondage en fonction de cela. Travailler dans l'autre sens c'est risquer de tirer des conclusions erronées.
Je comprends pas pourquoi on ne se comprend pas
Voici la lecture du tableau
28% des 37-48 ans répondent "Très souvent" à la question "aMontage1"
1% des personnes qui ont comme habitude d'écoute RTL répondent "Jamais" à la question "aMontage1"
je n'invente pas des chiffres: ce sont bien les bons résultats de ce sondage
Voici la lecture du tableau
28% des 37-48 ans répondent "Très souvent" à la question "aMontage1"
Sur cette partie aucun problème.
1% des personnes qui ont comme habitude d'écoute RTL répondent "Jamais" à la question "aMontage1"
Mais 38% des sondés ont répondu RTL2 & très souvent à la question "aMontage1"… On obtient un groupement avec un total de 100% pour RTL2. Mais tous les sondés n'ont pas répondu RTL2, et dans ce résultat ils sont ignorés…
Je ne sais pas, je ne présenterai pas les résultats comme ça. Quand on fait des combinaisons les résultats deviennent vite compliqués à interpréter. Selon moi un % du total serait plus parlant (5% des sondés ont répondu RTL2 très souvent, 8 % CherieFM occasionnellement, etc etc.) Parce qu'en faisant comme proposé actuellement par exemple si 1 seule personne a répondu NRJ, et a choisi "occasionnellement", on obtient un 100% dans cette case, alors qu'en réalité il s'agit d'une minorité.
C'est ça que je pointe du doigt : le sens des données. Jusqu'à présent vous demandez des résultats en donnant des exemples +/- représentatifs, mais vous n'avez pas pris le temps d'expliquer ce que vous voulez présenter.
Après oui, dans une logique de combinaisons, les dernières statistiques sont correctes, mais bon sans contexte c'est peu parlant.
"Mais 38% des sondés ont répondu RTL2 & très souvent à la question "aMontage1"… On obtient un groupement avec un total de 100% pour RTL2. Mais tous les sondés n'ont pas répondu RTL2, et dans ce résultat ils sont ignorés…"
-> C'est pour cette raison qu'il a les résultats sur la colonne "total" qui prend en compte tous les répondants ;-)
En plus de cette colonne "total", je veux avoir les résultats par sous - cible pour comprendre mieux les sous échantillons.
Il n'est pas question de présenter les résultats comme ca mais uniquement pour mon analyse.
"Parce qu'en faisant comme proposé actuellement par exemple si 1 seule personne a répondu NRJ, et a choisi "occasionnellement", on obtient un 100% dans cette case, alors qu'en réalité il s'agit d'une minorité".
-> Le fichier réel contient évidemment 10 fois de personnes interrogées rendant l'échantillon fiable. Il a de toute façon dans mon fichier le nombre de personne par cible pour savoir si la sous cible est suffisamment représentée pour être significatif. D'ailleurs je ne cherche pas à presenter les résultats sur RTL2 & NRJ le reste l'échantillon est effectivement trop faible
Mais là on est vraiment entrain de parler de statistique et plus du tout d'excel ;-)
Est ce que vous pensez que c'est jouable d'avoir une formule pour faire ca ? Sinon on abandonne les questions statistiques ;-)
Merci beaucoup pour votre aide
Pour écrire la fonction il faut comprendre le calcul derrière. Votre tableau de base n'est pas super explicite quand on ne connait pas le projet.
Moi sur les colonnes J:K j'obtiens ceci : (Je n'arrive pas à retrouver vos résultats)
Chérie FM | RTL2 | NRJ | Europe 2 (ex Virgin Radio) | RFM | Nostalgie | Une autre radio | Aucune radio | |
Souvent | 31% | 50% | 47% | 42% | 43% | 45% | 0% | 0% |
Très souvent | 38% | 31% | 42% | 25% | 43% | 36% | 0% | 0% |
Occasionnellement | 31% | 19% | 11% | 33% | 0% | 9% | 100% | 25% |
Rarement | 0% | 0% | 0% | 0% | 14% | 9% | 0% | 0% |
Jamais | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 75% |
je travaille sur le fichier complet c'est pour ca que je n'avais pas les memes chiffres.
Sur la base des 84 répondants voici ce que j'ai
| M | F | 37-48 ans | 25-36 ans | auditeurs RTL2 | RTL2 | Total | |
| Jamais | 3% | 4% | 4% | 3% | 4% | ||
| Occasionnellement | 16% | 22% | 9% | 23% | 15% | 16% | 19% |
| Rarement | 5% | 4% | 2% | 2% | |||
| Souvent | 41% | 41% | 48% | 38% | 51% | 42% | 41% |
| Très souvent | 35% | 33% | 35% | 33% | 33% | 42% | 34% |
je n'ai donc pas exactement les memes chiffres en effet pourtant cela semble etre bon de mon côté
Sur les 39 auditeurs RTL2; 20 répondent "souvent" soit 51%; cf fichier
j'ai fini par réussi mes en deux fois et j'aimerai bien avoir tout sur une seule et meme formule
j'aimerai bien avoir tout sur une seule et meme formule
Vous mettez :
=LET(grosTableau; VotrePremiereFormuleIciSansEgal; CHOISIRCOLS(grosTableau; vosColonnes))