Basculement, tracé et analyse des données d'enquête Excel


2

J'ai un ensemble de données provenant de l'enquête sur les formulaires Google. J'ai rencontré un problème de représentation des données pour un type de question spécifique, la grille pour être exacte.

Ainsi, par exemple, vous obtenez une question comme celui-là:

form

et Google collecte toutes les données dans un tableur comme celui-ci:

data

Ensuite, je le télécharge au format .xlsx pour donner un sens à tout cela. Essayer de le faire pivoter ne correspond pas à ce que je compte exactement faire: cela compte simplement "oui" et "non" dans la première colonne, et le copier pour les deuxième et troisième.

Je reçois quelque chose comme ça:

pivoting data

J'ai passé un certain temps à regarder en ligne et à essayer de comprendre les tableaux croisés dynamiques, et la plupart du temps, je peux très bien m'en servir, mais cela me pose problème. J'ai trouvé un moyen d'utiliser Excel findif () pour créer une nouvelle table à partir de données brutes, puis de la manipuler, mais cette approche semble sujette aux erreurs humaines.

Voilà le résultat, et ce que je voudrais obtenir des données brutes sans jongler manuellement les données autour de:

findif function

Pour mieux comprendre mon problème, vous pouvez Télécharger , ou consultez la feuille de calcul en ligne.


Les tableaux croisés dynamiques Excel ne peuvent pas gérer les données de la même ligne qu'indépendants. Il n'est donc pas possible de résoudre votre problème avec les tableaux croisés dynamiques standard. La solution à votre problème nécessiterait de débloquer les données d’abord (première colonne: question (achat, préparation, déchets), deuxième solution: réponse (oui, non). Vous pouvez trouver de nombreuses solutions à cet effet sur Internet, mais je Elles sont toutes plus sujettes aux erreurs que votre solution actuelle.Pour améliorer votre solution actuelle, vous pouvez utiliser des formules matricielles mieux protégées contre les modifications accidentelles.
Máté Juhász

Est-il nécessaire d'utiliser des tableaux croisés dynamiques? Vous pouvez simplement configurer un tableau avec des formules (pas trop difficiles) et créer un graphique basé sur cela. Cela vous donnerait exactement ce que vous voulez, et cela fonctionnerait même si vous ajoutiez des données.
agtoever

@agtoever Les tableaux croisés dynamiques ne sont pas obligatoires, mais cela semblait être un bon moyen de représenter et de croiser des données de différentes manières. Ceci est juste un exemple simplifié d'une question typique, mais tout au long de l'article, je devrais me référer aux mêmes données et les représenter différemment. Ecrire des formules et des fonctions pour chaque vue semble fastidieux et sujet aux erreurs car il y a plus de 50 colonnes provenant de survey seul.
Enis P. Aginić

Je comprends. Voir ma réponse ci-dessous, qui explique pourquoi les tableaux croisés dynamiques ne conviennent pas aux données structurées de cette manière et à une autre approche pour traiter vos données.
agtoever

Réponses:


1

Il s’agit d’une formule plus fiable contre les erreurs que votre formule originale, car elle résumera les colonnes et les variables mentionnées dans l’en-tête et la première colonne. Vous ne pouvez pas les modifier par erreur. Le pire cas peut se produire si vous confondez quelque chose avec lequel vous obtenez une erreur ou 0.

=COUNTIF(INDEX(Tabela2[#All],0,MATCH($E2,Tabela2[#Headers],0)),F$1), où:

  • MATCH($E2,Tabela2[#Headers],0)) - recherche la colonne de la table d'origine spécifiée dans la première colonne
  • INDEX(Tabela2[#All],0,MATCH(...)) - récupère l'adresse de cette colonne trouvée
  • =COUNTIF(INDEX(...),F$1) - compte le nombre d'occurrences de données d'en-tête dans la colonne.

enter image description here


1

Comme mentionné par @ mátéjuhász, les tableaux croisés dynamiques ne fonctionnent pas bien avec des données déjà "pivotées". Vous devrez aplatir votre table pour avoir les colonnes: question; répondez pour que le tableau croisé dynamique fonctionne comme vous le souhaitez.

Vous pouvez également créer vous-même un tableau très simple, qui extrait les données de votre table source et les prépare pour la création de graphiques. Comme vous le voyez dans la capture d'écran ci-dessous, cela vous donne les bons résultats. En pratique, je mettrais le tableau intermédiaire et le graphique tous si séparer les feuilles de calcul.

Dans chacune des cellules du tableau se trouve la formule suivante: COUNTIF(<name_of_your_table>[<column_title>];[@answer]) (remplace le <...> avec les valeurs correctes). Par exemple, dans la colonne achat, j'ai COUNTIF(Tabela2[purchase];[@answer])

Solution screenshot

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.