Somme renvoyée par la fonction Excel

0

J'ai une fonction:

=IF(Matis!A8="",0,IF(OR(Matis!A8=$B$11,Matis!A8=$B$12,Matis!A8=$B$13,Matis!A8=$B$14,Matis!A8=$B$15,Matis!A8=$B$16,Matis!A8=$B$17,Matis!A8=$B$19,Matis!A8=$B$31,Matis!A8=$B$35),8,10))

Ce qui examine la cellule A8 de la feuille 'Matis' et vérifie sa fonction par rapport à une série de cellules de la feuille, et renvoie une valeur en fonction de ce qu'elle trouve.

Par exemple, il regarde Matis! A8 et voit qu'il est égal à B11 et renvoie 8.

J'essaie de faire en sorte que la fonction ait l'air de dire A8: A100 sur 'Matis' et résume le résultat pour chaque cellule.

Par exemple, si elle regarde A8 et renvoie 8, A9 et 10, A10 et 10, la fonction renvoie 8 + 10 + 10 = 28.

Actuellement, je viens d'imprimer tous les résultats dans une colonne différente en faisant glisser la formule, puis de faire la somme de cette colonne, mais j'aimerais que tout cela soit fait dans une cellule

J'ai vu SUMIF, SUMIFS et SUMPRODUCT à proximité, mais je ne suis pas sûr de savoir lequel, le cas échéant, je devrais utiliser ici. Quelqu'un a des indices? J'espère que j'ai bien expliqué cela.

Tom
la source

Réponses:

0

Vous pouvez utiliser une formule IF simple en combinant une entrée de tableau. Capture d'écran ci-dessous.

En supposant:

  • Les cellules A1: A10 contiennent des données qui doivent être comparées avec la cellule F1 (valeur d'entrée)
  • La valeur correspondante à prendre si apparié est présent dans B1: B10

À présent

  • Configurez une formule IF par rapport à toute la plage A1: A10 et, si vrai renvoyer la plage B1: B10

  • Intégrez cette instruction IF dans une formule SUM et utilisez Ctrl + Maj + Entrée pour indiquer à excel qu’elle doit être traitée comme une formule Array.

enter image description here

Bharat Anand
la source
Dans votre exemple, ma fonction regarderait B1 et la comparerait à A1. Si A1 avait écrit «Bien» et si B1 avait écrit «Bien», il retourne 8, tout le reste retourne 10. Ensuite (c'est la partie Je ne peux pas le faire), il regarde le reste de la colonne B, vérifiant le contenu par rapport à A1 et renvoyant 8 ou 10 personnes dépendantes, tout en conservant une somme cumulée que la fonction renvoie à la fin.
Tom
Avec le scénario selon votre commentaire, vous pouvez essayer ceci =SUM(IF(A1=B1:B10,8,10)) et entrez-le sous forme de formule matricielle. Cela devrait suffire.
Bharat Anand
Ok merci, cela fonctionne pour essayer de ne faire qu'un seul argument de A1, j'ai essayé de le développer pour travailler sur plusieurs, c'est-à-dire = SUM (IF (OU (A1 = B1: B10, A2 = B1: B10), 8, 10))) mais cela ne semble pas vérifier individuellement, mais si AUCUN de B1: B10 est égal à SOIT ou à A1 ou A2, 8 est renvoyé pour toutes les valeurs de la somme. Par exemple: si A1 = Bleu, A2 = Vert et B1 = Orange, B2 = Vert, B3 = Noir. La valeur renvoyée par la fonction est 8 + 8 + 8 = 24 plutôt que la valeur correcte de 10 + 8 + 10 = 28,
Tom
Consultez ce lien, il pourrait venir à votre secours, sinon je vais essayer plus tard ce soir - stackoverflow.com/questions/28617944/…
Bharat Anand
Essaye ça =SUM(IF(A1:A2=TRANSPOSE(B1:B3),8,10)). Avec ce code, vous pouvez maintenant parcourir les éléments de la colonne A. N'oubliez pas de le saisir sous forme de formule matricielle
Bharat Anand