Fréquence d'une valeur (un mot) non défini a priori
Phill123456
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
JvDo Messages postés 1978 Date d'inscription Statut Membre Dernière intervention -
JvDo Messages postés 1978 Date d'inscription Statut Membre Dernière intervention -
Bonjour à toutes et à tous,
J'ai 4000 cellules avec des dénominations d'entreprises composées de 1, 2 voire 3 mots.
Je souhaite connaître les termes qui ressortent le plus souvent
Une formule pour scanner cette plage ? A la limite un peu de VBA si pas possible autrement.
Merci beaucoup pour votre aide : )
J'ai 4000 cellules avec des dénominations d'entreprises composées de 1, 2 voire 3 mots.
Je souhaite connaître les termes qui ressortent le plus souvent
Une formule pour scanner cette plage ? A la limite un peu de VBA si pas possible autrement.
Merci beaucoup pour votre aide : )
A voir également:
- Fréquence d'une valeur (un mot) non défini a priori
- Fréquence du processeur - Guide
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Mot de passe bios perdu - Guide
3 réponses
Bonjour Phill123456
Bonjour ccm81,
Voici une macro qui scinde les textes en interprétant les caractères apostrophe, tiret et espace comme des séparateurs et qui fait le compte des mots obtenus.
La liste et le compte des mots étant établis, il te restera à faire un tri décroissant pour obtenir le résultat attendu.
Si j'ai bien suivi, la macro de ccm1 fait sensiblement la même chose mais ne prend en compte que le séparateur espace. Par contre le tri est en prime.
https://www.cjoint.com/c/EBcrb2ghNlk
A+
Bonjour ccm81,
Voici une macro qui scinde les textes en interprétant les caractères apostrophe, tiret et espace comme des séparateurs et qui fait le compte des mots obtenus.
La liste et le compte des mots étant établis, il te restera à faire un tri décroissant pour obtenir le résultat attendu.
Si j'ai bien suivi, la macro de ccm1 fait sensiblement la même chose mais ne prend en compte que le séparateur espace. Par contre le tri est en prime.
https://www.cjoint.com/c/EBcrb2ghNlk
A+
Bonsoir Gyrus
Bonne idée de prendre en compte plusieurs séparateurs
Du coup, j'ai amélioré l'exemple
https://www.cjoint.com/?3BcuIBMGZiM
Cdlmnt
Bonne idée de prendre en compte plusieurs séparateurs
Du coup, j'ai amélioré l'exemple
https://www.cjoint.com/?3BcuIBMGZiM
Cdlmnt
Merci bcp pour vos réponses c'est parfait. Dans la continuité de ma première question, je cherche des façons pertinentes et originales de "faire parler" ces 4000 noms d'entreprises. J'ai donc les termes qui ressortent le plus souvent, le nombre moyen de mots, de lettres, la même chose avec des quartiles etc. D'autres idées de statistiques sur une série de noms d'entreprises ?
Merci encore vous avez gérés !
Merci encore vous avez gérés !
Bonjour à tous,
pour avoir des idées de stat, il faudrait connaître les variables dont tu disposes.
généralement, quand on cherche à comprendre ses données, on commence par une ACP. Je ne sais pas si ça s'applique à ce que tu veux faire.
Sinon, tu peux ajouter une distance entre mots à tes données. Je ne sais pas ce que ça pourrait t'apporter mais comme c'est gratuit, pourquoi s'en priver.
ce code à peine modifié vient de wikipedia.
cordialement
pour avoir des idées de stat, il faudrait connaître les variables dont tu disposes.
généralement, quand on cherche à comprendre ses données, on commence par une ACP. Je ne sais pas si ça s'applique à ce que tu veux faire.
Sinon, tu peux ajouter une distance entre mots à tes données. Je ne sais pas ce que ça pourrait t'apporter mais comme c'est gratuit, pourquoi s'en priver.
Function levenshtein(a As String, b As String) As Integer
Dim i As Integer, j As Integer, cost As Integer, d() As Integer, min1 As Integer, min2 As Integer, min3 As Integer
If Len(a) = 0 Then: levenshtein = Len(b): Exit Function
If Len(b) = 0 Then: levenshtein = Len(a): Exit Function
ReDim d(Len(a), Len(b))
For i = 0 To Len(a): d(i, 0) = i: Next
For j = 0 To Len(b): d(0, j) = j: Next
For i = 1 To Len(a)
For j = 1 To Len(b)
d(i, j) = Application.WorksheetFunction.Min((d(i - 1, j) + 1), (d(i, j - 1) + 1), (d(i - 1, j - 1) + 1 + (Mid(a, i, 1) = Mid(b, j, 1))))
Next
Next
levenshtein = d(Len(a), Len(b))
End Function
ce code à peine modifié vient de wikipedia.
cordialement