Bonjour à tous,
Attention, dans ce post, on va activer les neurones !
Le problème de départ est assez simple : comment comparer les x premiers caractères d'une cellule avec une autre cellule?
On retrouve ce genre de problèmes dans l'utilisation des comptes comptables... la comptabilité ayant toujours été ma bête noire, je m'arrête là ! 😉
Voici le fichier récapitulatif
En bref, voici une première vidéo qui permet de comparer deux cellules pour savoir si les x premiers caractères de la cellule E2 sont identiques à la cellule F2.
On utilise pour cela la formule suivante :
=SI(GAUCHE(E2;NBCAR(F2))=F2&"";"Les " & NBCAR(F2) & " premiers chiffres sont identiques";"Les " & NBCAR(F2) & " premiers chiffres sont différents")
Et voici l'explication vidéo :
La deuxième formule de cet exercice vise à retourner la position du premier compte qui remplit cette condition (les x premiers caractères sont identiques).
Ca va nous donner une formule comme ceci :
=EQUIV(F2&"";GAUCHE(A2:A5;NBCAR(F2));0)
A valider avec CTRL+MAJ+ENTREE, car il s'agit d'une formule matricielle.
En vidéo, ca nous donne ceci :
Finalement, et peut être le plus intéressant, comment faire la somme de tous les montants dont les comptes commencent par le contenu de la cellule F10?
La formule matricielle correspondante sera celle-ci :
=SOMME((GAUCHE(A2:A4;NBCAR(F2))=F2&"")*(B2:B4))
Encore une fois, à valider par CTRL+MAJ+ENTREE.
Note : à la fin de la vidéo, pour sortir d'une formule sans la valider, on peut utiliser la touche Echap.
Voilà, j'espère que je ne vous ai pas gâché les vacances !
SI vous connaissez d'autres méthodes plus simples, n'hésitez pas !
Je pense que le 3e exercice peut d'ailleurs être résolus avec une sommeprod !
A bientôt.
Gaetan
Bonjour,
j'ai inspiré de ta formule pour trouver celle ci
je sais pas si ça va ajouter qlchose
SOMMEPROD((STXT(A2:A4;1;NBCAR(F2))=F2&"")*(B2:B4))
merci
Oui, encore mieux !
Gaetan
On peut aussi remplacer le stxt par gauche et supprimer le ;1.
Gaetan
bonjour,
et comment faire lorsque le nombre de lignes du tableau est aléatoire ?
Bonjour,
Une manière "simple" est d'utiliser un tableau et de définir un nom sur la colonne (sans le titre) du tableau, puis d'utiliser le nom dans le tableau.
Plus difficile à comprendre et en fonction des circonstances (si les tableaux ne sont pas possibles), vous pouvez aussi utiliser un nom dynamique avec la fonction DECALER. Vous trouverez ici un exemple, voir le point no 3 :
https://www.polykromy.com/html/poly_main_cours_decaler.html
Magnifique ! Jusque là je voyais vaguement à quoi rimaient les formules matricielles. Maintenant j'ai vraiment compris. Merci Gaëtan.
Claude
@Claude, parfait !
pour quelqu'un dont la comptabilité est la bête noire, tu te débrouilles pas trop mal !!!
Je ne sais pas encore ce que je vais en faire mais je pense que ça doit servir pour résoudre un problème de totalisation de balances que l'on avait évoqué il y a quelques temps (années ? ).
Merci en attendant la prochaine newsletter
Patrick
Hello Patrick,
Oui, ca permet de résoudre ce type de problème de totalisation de balances.
A bientôt
Gaetan