Si j'avais des cellules contenant, disons,

  • Rouge 4
  • Bleu 3
  • 2
  • 1

Et j'essaie de faire la somme des valeurs, quelle formule puis-je utiliser pour obtenir le total correct, 10. Le nombre sera toujours inférieur à 10 et le caractère le plus à droite, si cela peut aider.

answer

S'il n'y a toujours qu'un seul chiffre et qu'il est toujours à la fin :

=SUM(IFERROR(--RIGHT(A1:A4,1),0))

Certaines versions plus anciennes nécessiteront l'utilisation de Ctrl-Maj-Entrée au lieu de Entrée lors de la confirmation de la formule.

Right tire le caractère le plus à droite et --essaie de le transformer d'une chaîne en un nombre, s'il ne peut pas devenir un nombre, une erreur se produira et l'IFERROR le capturera et le rendra 0. Ensuite, nous additionnons l'ensemble du tableau.

entrez la description de l'image ici

Vous avez besoin d'une fonction VBA pour additionner tous les nombres d'une plage de cellules, même s'il y a plusieurs nombres dans la même cellule.

La fonction peut ressembler à :

Function SumNumbers(rngS As Range, Optional strDelim As String = " ") As Double
    Dim xNums As Variant, lngNum As Long
    For Each elem In rngS
      xNums = Split(elem, strDelim)
      For lngNum = LBound(xNums) To UBound(xNums) Step 1
        SumNumbers = SumNumbers + Val(xNums(lngNum))
      Next lngNum
    Next elem
End Function

Et peut être appelé par une formule telle que =SumNumbers(A5:B5):

entrez la description de l'image ici

Pour créer la fonction, enregistrez la feuille de calcul en tant que .xlsmfichier, tapez Alt+ F11pour ouvrir l'éditeur VBA, cliquez avec le bouton droit sur "ThisWorkbook" et sélectionnez Insertion > Module et copiez-collez le texte ci-dessus dans l'éditeur. Appuyez sur Ctrl+ Spour enregistrer la feuille de calcul, puis sur Alt+ Qpour fermer l'éditeur VBA et revenir à Excel.