Exceller

Somme des valeurs de texte comme des nombres

Sum Text Values Like Numbers

Formule Excel: somme des valeurs de texte comme des nombresRésumé

Pour traduire des valeurs de texte en nombres et additionner le résultat, vous pouvez utiliser une formule INDEX et MATCH et la fonction SOMME. Dans l'exemple illustré, la formule en H5 est:

 
{= SUM ( INDEX (value, N ( IF (1, MATCH (C5:G5,code,0)))))}

où 'code' est le plage nommée K5: K9, et «valeur» est la plage nommée L5: L9.



Remarque: il s'agit d'un formule matricielle , et doit être entré avec Ctrl + Maj + Entrée.



Explication

Le cœur de cette formule est une formule de base INDEX et MATCH, utilisée pour traduire des valeurs de texte en nombres tels que définis dans une table de recherche. Par exemple, pour traduire 'EX' en nombre correspondant, nous utiliserions:

 
= INDEX (value, MATCH ('EX',code,0))

ce qui reviendrait 4.



La torsion de ce problème est cependant que nous voulons traduire et additionner un plage de valeurs de texte dans les colonnes C à G aux nombres. Cela signifie que nous devons fournir plusieurs valeurs de recherche et que INDEX renvoie plus d'un résultat. L'approche standard est une formule comme celle-ci:

 
= SUM ( INDEX (value, MATCH (C5:G5,code,0)))

Après l'exécution de MATCH, nous avons un tableau avec 5 éléments:

 
= SUM ( INDEX (value,{2,2,3,2,5}))

Il semble donc que INDEX devrait renvoyer 5 résultats à SUM. Toutefois, si vous essayez cela, la fonction INDEX renverra un seul résultat SUM. Pour que INDEX renvoie plusieurs résultats, nous devons utiliser plutôt astuce obscure , et enveloppez MATCH dans N et IF comme ceci:



 
 N ( IF (1, MATCH (C5:G5,code,0)))

Cela force effectivement INDEX à fournir plusieurs valeurs à la fonction SOMME. Après l'exécution d'INDEX, nous avons:

comment obtenir la date dans excel
 
= SUM ({3,3,2,3,-1})

Et la fonction SOMME renvoie la somme des éléments du tableau, 10. Pour une bonne description de ce comportement, voir cet article intéressant sur le site EXCELXOR .

Auteur Dave Bruns


^