Le nombre total d’occurrences...
Reprenons le problème présenté il y a quatre jours, dans lequel on souhaitait calculer le nombre de fois où une chaîne de caractères était présente dans une cellule. Supposons à présent que l’on souhaite calculer, directement dans une cellule, le nombre total d’occurrences d’une chaîne de caractères, non plus dans une cellule, mais dans un bloc de cellules.
Dans l’exemple ci-dessous, nous souhaitons ainsi calculer le nombre d’occurrences de la chaîne « aba » dans le bloc de cellules C5:C7, sans nécessairement calculer les résultats intermédiaires en D5:D7.
Les habitués de mon blog ne seront pas surpris : une fois de plus, la solution à un problème délicat est apportée par une formule matricielle, donc validée avec la combinaison [Ctrl]-[Maj]-[Entrée] :
=somme((nbcar(C5:C7)-nbcar(substitue(C5:C7;$C$2;"")))/nbcar($C$2))
Remarque – Nous l’avons déjà noté à plusieurs reprises, la formule matricielle est la seule façon de faire exécuter à Excel – sans la moindre macro – une véritable boucle, l’équivalent d’un « For I=1 to N : code de la boucle : Next I ». Ici, on boucle sur toutes les cellules de C5 à C7, puis on calcule la somme des résultats !
Dans l’exemple ci-dessous, nous souhaitons ainsi calculer le nombre d’occurrences de la chaîne « aba » dans le bloc de cellules C5:C7, sans nécessairement calculer les résultats intermédiaires en D5:D7.
Les habitués de mon blog ne seront pas surpris : une fois de plus, la solution à un problème délicat est apportée par une formule matricielle, donc validée avec la combinaison [Ctrl]-[Maj]-[Entrée] :
=somme((nbcar(C5:C7)-nbcar(substitue(C5:C7;$C$2;"")))/nbcar($C$2))
Remarque – Nous l’avons déjà noté à plusieurs reprises, la formule matricielle est la seule façon de faire exécuter à Excel – sans la moindre macro – une véritable boucle, l’équivalent d’un « For I=1 to N : code de la boucle : Next I ». Ici, on boucle sur toutes les cellules de C5 à C7, puis on calcule la somme des résultats !
1 Commentaire(s):
Incroyable : BRAVO !
By Anonyme, sur 6:30 PM
Enregistrer un commentaire
<< Accueil