Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

recherche et somme avec plusieurs critères

ixell

XLDnaute Nouveau
Bonjour tout le monde,
après des heures de reflexion et avant de serrer complètement, je fais appel à vos lumières.
En PJ un fichier des plus simples.
J'ai d'un coté une base avec des gabarits de conteneurs (20', 30' et 40') avec des prix de stationnement qui varie en fonction du délai de stockage (de 1 à 10 jours dans mon exemple).
Et je dois retrouver les montants de la colonne J Montant.
Donc en fonction du gabarit et du délai de stockage les montants s'additionnent.

Quelqu'un peux t il m'aider sans VBA ?

Merci bcp
 

Pièces jointes

  • excel.xlsx
    10.8 KB · Affichages: 56
  • excel.xlsx
    10.8 KB · Affichages: 57
  • excel.xlsx
    10.8 KB · Affichages: 59

Dugenou

XLDnaute Barbatruc
Re : recherche et somme avec plusieurs critères

Bonjour,
Formule pas trop complexe au départ, mais obligation de gérer la durée <2 = 2 (d'où le MAX() et la durée 0 (d'où le SI())
en J2 :
=SI(I2=0;0;SOMME(DECALER($A$2;;EQUIV($H2;$B$1:$D$1;0);NB.SI($A$2:$A$10;"<="&MAX(I2;2)))))
Cordialement
 

ixell

XLDnaute Nouveau
Re : recherche et somme avec plusieurs critères

bon je comprends rien à la formule mais ca marche
Peux tu m'expliquer histoire que je dorme moins con ce soir

en tout cas chapeau bas
merci bcp
 

Dugenou

XLDnaute Barbatruc
Re : recherche et somme avec plusieurs critères

Salut,
D'abord : merci d'avoir détaillé le calcul dans chaque cellule : ça m'a bien facilité la compréhension du problème.

On fait la somme, pour le container indiqué en H2, de toutes les cellules des colonnes B C ou D dont le nb de jour(colonne A) est < ou égal au nb de jours indiqué; ces cellules sont contigües.
Le cœur de la formule est le DECALER qui permet de spécifier une plage variable de cellules contigües.

donc somme(decaler(cell de départ; decalage lignes; decalage colonnes; hauteur, largeur))
pas de décalage de ligne et pas de changement de largeur donc decaler(cell de départ; ; decalage colonnes; hauteur)
Pour le décalage colonnes on cherche H2 dans la plage $b$1:$d$1 avec EQUIV(H2;$b$1:$d$1;0) qui renvoie 1 si la valeur est dans B, 2 si la valeur est en C etc donc on met la cellule de départ en A.

Pour la hauteur : nb de fois ou on trouve un chiffre inférieur ou = au nb de jour indiqué en partant de la ligne 2 : nb.si(a2:a10;"<="&I2)
sauf que quand on a 1 il faut compter 2 : d'où le MAX(I2;2)
et sauf que quand on a 0 il faut compter 0 : d'ou le si(i2=0;0; formule)

si pas assez clair je peux te le faire dans le fichier
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…