J'essaie de compter le nombre de fois qu'une sous-chaîne apparaît dans une colonne de données de chaîne dans Excel. Veuillez voir l'exemple ci-dessous.
La colonne de données de chaîne (tweets) ressemble à ceci:
A
1 An example string with @username in it
2 RT @AwesomeUser says @username is awesome
La colonne avec "sous-chaînes" (noms d'écran Twitter) ressemble à ceci:
B
1 username
2 AwesomeUser
Je souhaite utiliser une formule pour compter le nombre de fois qu'une sous-chaîne de B1, B2, etc. apparaît dans les chaînes de la colonne A. Par exemple: une formule recherchant B1 retournerait "2" et une recherche B2 reviendrait "1".
Je ne peux pas le faire de cette façon:
=COUNTIF(A:A, "username")
parce que COUNTIF recherche uniquement les chaînes, pas les sous-chaînes. Cette formule retournerait toujours "0".
Voici une formule Je pensais que cela pourrait le faire:
=SUMPRODUCT((LEN(A:A)-(LEN(SUBSTITUTE(A:A,"username",""))))/LEN("username"))
Malheureusement, j'ai 16 000 entrées dans la colonne B et des dizaines de milliers dans A, donc le comptage des caractères ne fonctionnera même pas sur un PC haute puissance (le résultat renvoyé par la fonction est également suspect).
J'ai pensé à utiliser:
=COUNTIF(A:A, "*username*")
mais COUNTIF requiert une chaîne avec les opérateurs étoiles; Je dois utiliser des références de cellule en raison du volume de données.
Ma question: quelqu'un sait-il comment utiliser une formule pour cela? Si vous utilisez COUNTIF, comment puis-je obtenir une référence de cellule dans la partie conditionnelle de l'instruction (ou utiliser une fonction pour remplacer la chaîne dans la cellule référencée dans la partie conditionnelle d'une instruction COUNTIF)?
Je sais que je pourrais analyser les données, mais je voudrais savoir comment le faire dans Excel.
Vous y êtes presque, utilisez
=COUNTIF(A:A, "*"&B1&"*")
(testé dans Excel 2010)
ne solution Excel très simple pour l'occurrence de la chaîne x ("ABC") dans la chaîne y ("ABC 123 ABC 23dfABC"):
Nombre d'occurrences: len (substitut (y, x, x1)) - len (y)
Nomenclature for Understanding: chaîne x: "ABC" chaîne x1: "ABC_" chaîne y: "ABC 123 ABC 23dfABC" chaîne y1: "" ABC_ 123 ABC_ 23dfABC_ ""