Fonction si dans un autre classeur
fab64
-
fab64 -
fab64 -
Bonjour,
j'ai tenté de trouver ma réponse sur le forum, ...mais en vain !dsl.
Voici mon soucis :
je voudrais une formule du type : "si (dans la colonne E d'un autre classeur, je trouve la valeur 'X' ; alors je voudrais la somme des montants de la colonne D pour les lignes où i y a la valeur 'x' en E (du même classeur); sinon 'zéro').
Merci d'avance à tous
j'ai tenté de trouver ma réponse sur le forum, ...mais en vain !dsl.
Voici mon soucis :
je voudrais une formule du type : "si (dans la colonne E d'un autre classeur, je trouve la valeur 'X' ; alors je voudrais la somme des montants de la colonne D pour les lignes où i y a la valeur 'x' en E (du même classeur); sinon 'zéro').
Merci d'avance à tous
A voir également:
- Fonction si dans un autre classeur
- Fonction si et - Guide
- Imprimer un classeur excel sur mac - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer dans word - Guide
4 réponses
bonjour,
=SOMME.SI('C:\chemin en entier\[nom du fichier.xls]Feuil1'!E:E;x;'C:\chemin en entier\[nom du fichier.xls]Feuil1'!D:D)
sur la base de =SOMME.SI(E:E;x;D:D)
Pour éviter d'écrire "à la main" le chemin complet : ouvrir les deux fichiers et construire la formule ci-dessus : à la place de E:E, aller sélectionner la colonne E du fichier source par ALT+TAB. idem pour D:D
Ne fonctionne que si le fichier source est ouvert.
Si vous n'avez besoin de rien, demandez-moi.
=SOMME.SI('C:\chemin en entier\[nom du fichier.xls]Feuil1'!E:E;x;'C:\chemin en entier\[nom du fichier.xls]Feuil1'!D:D)
sur la base de =SOMME.SI(E:E;x;D:D)
Pour éviter d'écrire "à la main" le chemin complet : ouvrir les deux fichiers et construire la formule ci-dessus : à la place de E:E, aller sélectionner la colonne E du fichier source par ALT+TAB. idem pour D:D
Ne fonctionne que si le fichier source est ouvert.
Si vous n'avez besoin de rien, demandez-moi.
re bonsoir
est-il possible d'ajouter des condition s "ou" à cette formule ?
Pae ex :
"si (dans la colonne E de la feuille 1 d'un autre classeur, et dans la colonne E de la feuille 2 ; je trouve la valeur 'X' ; alors je voudrais la somme des montants des colonnes D (donc des 2 feuilles)pour les lignes où i y a la valeur 'x' en E (du même classeur); sinon 'zéro').
Merci
est-il possible d'ajouter des condition s "ou" à cette formule ?
Pae ex :
"si (dans la colonne E de la feuille 1 d'un autre classeur, et dans la colonne E de la feuille 2 ; je trouve la valeur 'X' ; alors je voudrais la somme des montants des colonnes D (donc des 2 feuilles)pour les lignes où i y a la valeur 'x' en E (du même classeur); sinon 'zéro').
Merci
bonjour,
il est possible de faire cela mais il faut changer de formule et utiliser SOMMEPROD :
=SOMMEPROD(('C:\Chemin\[Classeur2.xls]Feuil1'!$E$1:$E$10000="x")*('C:\Chemin\[Classeur2.xls]Feuil2'!$E$1:$E$10000="X")*(('C:\chemin\[Classeur2.xls]Feuil1'!$D$1:$D$10000)+('C:\chemin\[Classeur2.xls]Feuil2'!$D$1:$D$10000)))
basé sur :
=SOMMEPROD(('feuil1'!E1:E10000=x)*('feuil2'!E1:E10000)*('feuil1'!D1:D10000+'feuil2'!D1:D10000)
Cette formule renvoie la somme des colonnes D si et seulement si x est présent simultanément dans les 2 lignes de E correspondantes.
la fonction SOMMEPROD est grosse consommatrice de ressources de calcul : il est donc conseillé de limiter les plages de sélection ('E:E' et 'D:D' fonctionne mais concerne plus de 65000 lignes sur excel2003 => limiter les plages à quelques chose de plus 'raisonnable' par ex E1:E10000 - ! : toutes les plages doivent être identiques.)
SOMMEPROD fonctionne meme si le classeur2 est fermé
il est possible de faire cela mais il faut changer de formule et utiliser SOMMEPROD :
=SOMMEPROD(('C:\Chemin\[Classeur2.xls]Feuil1'!$E$1:$E$10000="x")*('C:\Chemin\[Classeur2.xls]Feuil2'!$E$1:$E$10000="X")*(('C:\chemin\[Classeur2.xls]Feuil1'!$D$1:$D$10000)+('C:\chemin\[Classeur2.xls]Feuil2'!$D$1:$D$10000)))
basé sur :
=SOMMEPROD(('feuil1'!E1:E10000=x)*('feuil2'!E1:E10000)*('feuil1'!D1:D10000+'feuil2'!D1:D10000)
Cette formule renvoie la somme des colonnes D si et seulement si x est présent simultanément dans les 2 lignes de E correspondantes.
la fonction SOMMEPROD est grosse consommatrice de ressources de calcul : il est donc conseillé de limiter les plages de sélection ('E:E' et 'D:D' fonctionne mais concerne plus de 65000 lignes sur excel2003 => limiter les plages à quelques chose de plus 'raisonnable' par ex E1:E10000 - ! : toutes les plages doivent être identiques.)
SOMMEPROD fonctionne meme si le classeur2 est fermé
Re
tu me dis : "Cette formule renvoie la somme des colonnes D si et seulement si x est présent simultanément dans les 2 lignes de E correspondantes. "
Si "x" n'est présent que sur une seule feuille, le calcul est toujours valable ?
il me serais peut être plus simple de répéter la formule précédente, et dans d'en faire la somme dans mon classeur 1.
par ex :
dans classeur 1, cellule h5 :
=SOMME.SI('C:\[classeur2.xls]Feuil1'!E:E;x;'C:\[classeur2]Feuil1'!D:D)
dans classeur 1, cellule h6 :
=SOMME.SI('C:\[classeur2.xls]Feuil2'!E:E;x;'C:\[classeur2]Feuil2'!D:D)
dans classeur 1, cellule h7 :
=SOMME.SI('C:\[classeur2.xls]Feuil3'!E:E;x;'C:\[classeur2]Feuil3'!D:D)
dans classeur 1, cellule h8 :
=somme(h5:h7)
Qu'en pense tu ?
Merci
tu me dis : "Cette formule renvoie la somme des colonnes D si et seulement si x est présent simultanément dans les 2 lignes de E correspondantes. "
Si "x" n'est présent que sur une seule feuille, le calcul est toujours valable ?
il me serais peut être plus simple de répéter la formule précédente, et dans d'en faire la somme dans mon classeur 1.
par ex :
dans classeur 1, cellule h5 :
=SOMME.SI('C:\[classeur2.xls]Feuil1'!E:E;x;'C:\[classeur2]Feuil1'!D:D)
dans classeur 1, cellule h6 :
=SOMME.SI('C:\[classeur2.xls]Feuil2'!E:E;x;'C:\[classeur2]Feuil2'!D:D)
dans classeur 1, cellule h7 :
=SOMME.SI('C:\[classeur2.xls]Feuil3'!E:E;x;'C:\[classeur2]Feuil3'!D:D)
dans classeur 1, cellule h8 :
=somme(h5:h7)
Qu'en pense tu ?
Merci
Donc la condition n'est pas ET, mais OU....
Donc oui dans ce cas ta méthode fonctionne
sinon, en 'une fois' toujours avec SOMMEPROD, piur obtenir la condition OU il faut remplacer le * par + dans la 1° partie des condtions :
=SOMMEPROD((('C:\Chemin\[Classeur2.xls]Feuil1'!$E$1:$E$10000="x")+('C:\Chemin\[Classeur2.xls]Feuil2'!$E$1:$E$10000="X")+('C:\Chemin\[Classeur2.xls]Feuil3'!$E$1:$E$10000="X"))*(('C:\chemin\[Classeur2.xls]Feuil1'!$D$1:$D$10000)+('C:\chemin\[Classeur2.xls]Feuil2'!$D$1:$D$10000)+('C:\chemin\[Classeur2.xls]Feuil3'!$D$1:$D$10000)))
basé sur :
=SOMMEPROD((('feuil1'!E1:E10000=x)+('feuil2'!E1:E10000=x))*('feuil1'!D1:D10000+'feuil2'!D1:D10000)
Donc oui dans ce cas ta méthode fonctionne
sinon, en 'une fois' toujours avec SOMMEPROD, piur obtenir la condition OU il faut remplacer le * par + dans la 1° partie des condtions :
=SOMMEPROD((('C:\Chemin\[Classeur2.xls]Feuil1'!$E$1:$E$10000="x")+('C:\Chemin\[Classeur2.xls]Feuil2'!$E$1:$E$10000="X")+('C:\Chemin\[Classeur2.xls]Feuil3'!$E$1:$E$10000="X"))*(('C:\chemin\[Classeur2.xls]Feuil1'!$D$1:$D$10000)+('C:\chemin\[Classeur2.xls]Feuil2'!$D$1:$D$10000)+('C:\chemin\[Classeur2.xls]Feuil3'!$D$1:$D$10000)))
basé sur :
=SOMMEPROD((('feuil1'!E1:E10000=x)+('feuil2'!E1:E10000=x))*('feuil1'!D1:D10000+'feuil2'!D1:D10000)
Bonjour
dsl, mais je n'arrive pas à formuler ma question avec le "ET"
=SOMME.SI(('C:\chemin en entier\[nom du fichier.xls]Feuil1'!E:E);ET(C:\chemin en entier\[nom du fichier.xls]Feuil2'!E:E);x;('C:\chemin en entier\[nom du fichier.xls]Feuil1'!D:D)+('C:\chemin en entier\[nom du fichier.xls]Feuil2'!D:D))
Merci de votre aide
dsl, mais je n'arrive pas à formuler ma question avec le "ET"
=SOMME.SI(('C:\chemin en entier\[nom du fichier.xls]Feuil1'!E:E);ET(C:\chemin en entier\[nom du fichier.xls]Feuil2'!E:E);x;('C:\chemin en entier\[nom du fichier.xls]Feuil1'!D:D)+('C:\chemin en entier\[nom du fichier.xls]Feuil2'!D:D))
Merci de votre aide