Recherche de formule Excel 07

Résolu
maelslout -  
 maelslout -
Bonjour,

Je recherche une formule particulière sous Excel ou une astuce de malin pour résoudre mon petit problème.
Voici le type de tableau sur lequel je travaille:

A B C D
1 homme etudiant france jean
2 homme etudiant france pierre
3 homme chomeur italie guy
4 femme etudiant belgique emma
5 femme cadre ghana rose
6 homme ouvrier espagne leo


Je voudrais sur un second onglet, trouver les formules me permettant de répondre à ces questions:

A: Nombre de valeurs différentes dans col.A?
B: Combien d '(homme-étudiant) sont francais?
C: Listing des différentes nationalités affiliées aux hommes?
D:Listing de tous les prénoms (hommes étudiants)?

Quand je parle de listing, je voudrais que cela ressemble à ceci:

1
A Listing des nationalités (hommes)
B France
C Italie

...


Voila j'espère avoir été assez clair dans mes explications, je vous remercie d'avance de m'accorder un peu de temps.

ps: Comment faire en sorte qu'une page dans un onglet se dédoublonne de manières permanente sans avoir à lister par ordre croissant les valeurs?

5 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

Par formule ça parait assez complexe mais par tableau croisé dynamique tu auras la réponse à toutes tes questions. As-tu essayé ?
ps: Comment faire en sorte qu'une page dans un onglet se dédoublonne de manières permanente sans avoir à lister par ordre croissant les valeurs?
rien compris... :-s

eric
0
maelslout
 
Merci de ta réponse éric,

Pour ce qui est des tableaux croisés dynamiques, je ne maitrise pas du tout cette option, faudrait que je my mette d'ailleurs, mais c'est un autre problème.

Disons que ce que je cherche à faire ressemble beaucoup aux probabilités de bases, les probabilités conditionnelles.
En gros pour essayer de faire plus simple, je cherche une fonction à base de si qui se traduirait de cette manière:

=SI ("col sexe=homme" et "col travail=étudiant" ALORS compte moi le nombre de prénoms différents affiliés à ces critères)

Je crois que c'est plus compréhensible comme ça...

Pour ce qui de la question sur le dédoublonnement, j'ai vu qu'il y avait l'option "dédoublonnement" dans Data, elle fonctionne très bien, mais mon problème est que les données de la page que je cherche à dédoublonner de manières permanente est alimenter en permanence, je souhaiterai tout simplement qu'au lieu de revenir sur cette page et d'activer cette option toutes les heures pour cleaner cette, cette option fonctionne toute seule sans avoir à y revenir en permanence. PS: les valeurs du tableau ne peuvent etre hierarchisées ce qui exclu la formule de si(A1=A2;"";A2).

Je sais pas si je suis plus clair de cette manières...

D'avance merci.
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
déjà voilà ton B :
=SOMMEPROD((A2:A7="homme")*(B2:B7="etudiant")*1)

eric
0
maelslout
 
Un énorme merci Eric...:)
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
et un exemple de TCD qui te permet d'obtenir la liste des prénoms par sexe et métiers.
La mise à jour se fait par l'outil 'point d'exclamation rouge'
http://www.cijoint.fr/cjlink.php?file=cj200806/cijHJiyfAx.xls
0
maelslout
 
Un grand merci, je vais me mettre à apprendre à utiliser les tableaux croisés dynamiques.
En tout cas je suis ravi de ton aide si précieuse. Tu ne peux t'imaginer à quel point tout ceci m'enlève certaines épines de certains pieds...

Bravo.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
et pour finir ton nombre de valeurs différentes dans une plage.
De tete, pas de fonction excel pour ça...
Je t'ai fait une fonction personnalisée à copier dans un module.
Si tu ne sais pas faire demande...
Limité à 1000 valeurs différentes mais tu mets la valeur que tu veux dans Dim val(1000)

Function nbValDiff(plage As Range) As Long
    Dim cel As Range, ok As Boolean
    Dim val(1000) As Variant, nbval As Long, i As Long
    For Each cel In plage
        If nbval = 0 Then
            val(1) = cel.Value
            nbval = 1
        Else
            ok = True
            For i = 1 To nbval
                If cel.Value = val(i) Then
                    ok = False
                    Exit For
                End If
            Next i
            If ok Then
                nbval = nbval + 1
                val(nbval) = cel.Value
            End If
        End If
    Next cel
    nbValDiff = nbval
End Function

eric
0
xkristi Messages postés 4264 Date d'inscription   Statut Membre Dernière intervention   564
 
en passant un gentil salut à Eric le "sauveur"

car ici , je regarde parfois , t'es un vrai sauveur !!!! LOL

0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276 > xkristi Messages postés 4264 Date d'inscription   Statut Membre Dernière intervention  
 
Coucou xchristi :-) n'exagère pas hein ;-)
J'espère que tu vas bien
0
maelslout > eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention  
 
Oui un vrai un superheros de Excel, merci pour tout en tout cas , tout fonctionne parfaitement.

Bravo
0