Somme basée sur une partie d’une cellule de contrôle (Microsoft Excel)
Eszter a une longue liste de cellules dans la colonne A qui contiennent une série de codes de mutation, tels que «AKT 142» ou «BRAF 1975». Dans la colonne B se trouvent les valeurs associées à ces codes de mutation. Elle a besoin d’une formule qui additionnera les valeurs de la colonne B pour lesquelles le code de mutation correspondant dans la colonne A commence par la même séquence, comme dans toutes celles commençant par AKT ou BRAF. Eszter soupçonne que cela peut être fait avec la fonction SUMIF, mais elle ne sait pas comment la faire prêter attention uniquement à la première partie du code de mutation.
Il existe de nombreuses façons d’aborder ce problème, mais dans cette astuce, je me concentre uniquement sur trois solutions potentielles.
Utilisation d’une colonne d’aide
Si la disposition de votre feuille de calcul le permet, vous pouvez ajouter une colonne d’assistance qui ne contient que la première partie des codes de mutation. Étant donné que vos codes de mutation sont dans la colonne A, vous pouvez insérer la formule suivante dans la première cellule de votre colonne d’assistance:
=LEFT(A1, SEARCH(" ",A1,1)-1)
Copiez-le pour autant de cellules que nécessaire, et vous vous retrouvez avec la colonne d’aide contenant tout dans les codes de mutation avant l’espace. Vous pouvez ensuite utiliser la formule SUMIF souhaitée pour faire la somme en fonction du contenu de la colonne d’assistance.
Utilisation de SUMPRODUCT
Une approche plutôt unique pour résoudre le problème consiste à utiliser la fonction SOMMEPROD. Disons que vous mettez, dans la cellule E1, le code de préface qui vous intéresse. (Ainsi, par exemple, vous pouvez mettre « AKT » dans la cellule E1.) Vous pouvez alors calculer la somme souhaitée en utilisant la formule suivante:
=SUMPRODUCT(--(LEFT(A:A,LEN($E$1))=$E$1) * B:B)
Cela fonctionne car SUMPRODUCT examine si la partie la plus à gauche d’une cellule de la colonne A correspond à ce que vous avez placé dans la cellule E1. Si c’est le cas, la comparaison renvoie 1; si ce n’est pas le cas, il renvoie 0. Ceci est ensuite multiplié par la cellule correspondante dans la colonne B et additionné.
Utilisation directe de SUMIF
L’approche la plus propre est peut-être d’utiliser simplement SUMIF directement. Vous savez, en utilisant l’approche de la colonne d’assistance, que vous pouvez utiliser SUMIF pour examiner le contenu d’une cellule, puis additionner de manière sélective une autre colonne. Vous le faites de cette manière générale:
=SUMIF(Check_Range, Criterion, Sum_Range)
Ainsi, si vous souhaitez additionner les valeurs de la colonne B en fonction de ce qui se trouve dans la colonne A, vous pouvez faire ce qui suit:
=SUMIF(A:A, "AKT", B:B)
Cela ne correspondrait, bien sûr, qu’aux cellules de la colonne A qui contiennent uniquement AKT. Ce n’est pas la situation d’Eszter, cependant – les codes de mutation dans la colonne A contiennent plus que juste AKT. C’est là que l’utilisation de jokers dans la spécification des critères entre en jeu. Il suffit à Eszter d’ajouter un astérisque, de cette manière:
=SUMIF(A:A, "AKT*", B:B)
Maintenant SUMIF renvoie la somme correcte basée uniquement sur les cellules de la colonne A qui commencent par les lettres AKT. Peu importe ce qui suit les caractères AKT dans chaque cellule, car l’astérisque indique à Excel qu’il doit «accepter tout ce qui suit ces trois caractères».
Vous pourriez même rendre cette approche de nature plus générale. Supposons que vous ayez mis le code de préface souhaité (celui sur lequel vous voulez additionner)
dans la cellule E1. Vous pouvez ensuite mettre ce qui suit dans la cellule E2:
=SUMIF(A:A, E1 & "*", B:B)
Maintenant, si E1 contient « AKT », vous vous retrouvez avec une somme de valeurs pour ce code de préface. Si vous changez E1 en « BRAF », vous obtenez une somme pour ce code de préface, sans avoir besoin de changer la formule dans E2.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (13614) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365.