Comparer une valeur à un Tableau de valeurs

Bonjour, j'aurai besoin de vos lumières pour résoudre un problème.

Je vous joins un document "Doc Test".

Sur ma feuille F1, j'ai un tableau qui comporte 4 colonnes, Pays, indicateur, valeur, semestre.

Sur ma feuille F2, j'ai un tableau de donnée qui comporte les noms de certain pays d'Afrique.

Ce que j'essaye de faire :

Je voudrais une formule qui pour un numéro d'indicateur donné (colonne B de F1), va faire la somme des valeurs de cet indicateur (colonne C de F1) pour tous les pays présents dans le tableau dans F2.

J'ai mis un exemple de formule dans la case rose : =SOMMEPROD(('F1'!C2:C100)*((('F1'!A2:A100="ANGOLA")+('F1'!A2:A100="JAMAIQUE"))>0)*('F1'!D2:D100="S1 2024")*('F1'!B2:B100=1))

Cette formule fait la somme des valeurs de l'indicateur 1 pour l'ANGOLA et la JAMAIQUE.

Plutôt que de devoir mettre un à un les pays qui m'intéressent dans la formule, je souhaiterai savoir s'il est possible de lui donner en argument directement le TABLEAU nommé Afrique de la feuille F2 ?

Avez-vous une idée ?

Merci par avance :-)

11doc-test.xlsx (11.06 Ko)

Bonjour,

Vous pouvez "paramétrer" votre fonction en prenant le nom des pays/le semestre dans des cellules mais c'est à peu près tout. Vous vouliez rendre le nombre de pays choisis variable par exemple ?

Ou bien, si vous voulez remplacer la référence de feuille. 'F1'!, par quelque chose de dynamique, c'est aussi possible via la fonction INDIRECT, mais attention !! C'est une fonction qui alourdit très vite votre classeur (elle est recalculée à chaque changement du classeur, meme sans aucun rapport).

Bonjour,

Merci pour la réponse, après je ne pense pas que cela corresponde à ce que je veux faire.

Je veux juste obtenir le même résultat que la formule présente dans le document fourni mais en donnant pour variable à la formule le tableau entier qui est en feuille 2 F2 plutôt que d'écrire un à un les pays dans la formule

Ah excusez moi, j'avais mal compris. En utilisant une colonne d'aide/de calcul, on peut trouver le résultat facilement.

Voir ci-joint.

13doc-test.xlsx (13.93 Ko)

Merci pour l'astuce et les formule je vais tester ça sur mon tableau d'origine avec toutes les vraies valeurs et je ferai un retour

Bonjour,

Un essai avec Power query.

Cordialement

13doc-test.xlsx (22.64 Ko)

Bonjour Zebulon2, j'ai ouvert le document avec ce que tu as écrit, je n'ai pas du tout compris comment tu obtiens le résultat 50 ni même où sont les calculs !

Tu peux m'expliquer un peu plus en détail ?

saboh12617 : J'ai réadapté ta formule qui fonctionne mais je suis bloqué pour lui faire prendre une condition supplémentaire sur une même colonne.

=SOMMEPROD((ExtractCSV!$M$2:$M$10000);--((ExtractCSV!$D$2:$D$10000=[@AFRIQUE]));--(ExtractCSV!$K$2:$K$10000="2 sur 2");--(ExtractCSV!$G$2:$G$10000=663))

Ça c'est ma formule dans mon vrai document, j'aimerai formaliser le ET pour à la fois (ExtractCSV!$K$2:$K$10000="2 sur 2") ET (ExtractCSV!$K$2:$K$10000="1 sur 1")

Ça bloque....

Pour faire le "ET" (qui est plutot un "OU" dans ce cas attention au langage courant/logique) il faut utiliser l'addition comme tu l'as fait. La fonction SOMMEPROD fait une somme du PRODUIT, c'est pourquoi j'ai pu séparer les différentes conditions à vérifier (toutes ensembles = "ET" = "*") par un ";".

Tu peux ou bien utiliser OU, ou bien le +. Comme ceci :

ne fonctionne pas
=SOMMEPROD((ExtractCSV!$M$2:$M$10000);
--(ExtractCSV!$D$2:$D$10000=[@AFRIQUE]);
--((ExtractCSV!$K$2:$K$10000="2 sur 2") + (ExtractCSV!$K$2:$K$10000="2 sur 2"));
--(ExtractCSV!$G$2:$G$10000=663))

Pour la solution de zebulon, c'est un outil intégré à excel accessible via l'onglet Données > données & Connections > Requêtes.

Gérer les requêtes (Power Query) - Support Microsoft

Alors j'ai utilisé la formule comme suit :

=SOMMEPROD((ExtractCSV!$M$2:$M$10000);--((ExtractCSV!$D$2:$D$10000=[@AFRIQUE]));--OU( ExtractCSV!$K$2:$K$10000="1 sur 1";ExtractCSV!$K$2:$K$10000="2 sur 2");--(ExtractCSV!$G$2:$G$10000=663))

Il me renvoit l'erreur #VALEUR!

Ah oui désolé, j'avais oublié que OU évalue ensuite l'ensemble du résultat. J'ai édité mon message précédent, s'il ne manque pas de parenthèses la formule devrait fonctionner.

En effet cela fonctionne !

Je vais continuer de la déployer sur tout mon tableau et sur tous mes indicateurs et je reposterai un message !

Merci pour le déblocage en tout cas

re,

C'est une requête Power Query, Onglet Données, Requêtes et connexions, Requêtes et connexions. Cela va ouvrir une fenêtre sur la droite de l'écran où les requêtes sont listées. Un clic droit sur l'une d'entre elles ouvrira la fenêtre de Power query. Les étapes de chaque requêtes se trouvent sur la droite, la roue crantée permet d'en voir le détail.

Pour actualiser : Onglet Données, Requêtes et connexions, Actualiser tout.

un peu de lecture : https://www.excel-formations.fr/Trucs_astuces/PQ00.php

Merci Zebulon2, je vais regarder tout ça, merci pour l'explication.

Un petit retour tardif,

Cela fonctionne très bien, j'ai réussi à l'appliquer à mes tableaux.

En vous remerciant,

Passez toutes et tous un joyeux Noël et de bonnes fêtes de fin d'année

Rechercher des sujets similaires à "comparer valeur tableau valeurs"