Aide SommeProd

Bonjour,

Petite pièce jointe pour expliquer ma demande

http://www.cjoint.com/c/EJtkkcvZTLp

J'ai une feuille Séjours (date entrée et date sortie d'une chambre) & une autre Prestation avec des prestations effectuées.
Le lien entre les 2 feuilles est le N° du dossier.

J'ai besoin de trouver dans ma feuille prestation, la chambre qui a eu la prestation (en fonction de la date et l'heure).

Sommeprod fonctionne très bien, sauf lorsque je n'ai pas la Date de Sortie dans la feuille Séjours.

Cela signifie que la personne n'est toujours pas sortie au moment où j'ai besoin de faire mon lien...

Comment intégrer dans SOMMEPROD que si ma date de sortie est vide, qu'il peut considérer la date et heure de sortie comme un type 31/12/2099 00h00 ?

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Bonjour,

    Sans doute plus léger, évite la double matricielle, validation simple :
    =SOMMEPROD(((J2+K2)>=(A2:A7+B2:B7))*(((J2+K2)<=(D2:D7+E2:E7))+(E2:E7=""))*(M2=H2:H7)*(G2:G7))

    eric

    En essayant continuellement, on finit par réussir.
    Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
    En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
    1. Merci ! ça fonctionne ! Eriiic, comme souvent : balaise :)
      Tu peux m'expliquer l'ajout que tu as fait : +(E2:E7="") please ?
    2. Contributeur
      C'est pour remplacer le SI() sur matrice qui obligeait à valider en matriciel le Sommeprod()
      +(E2:E7="")

      + est l'équivalent du OU logique.
      donc ajoute VRAI sur le test 'heure de fin' ((J2+K2)<=(D2:D7+E2:E7)) si elle est non saisie pour forcer dans ce cas.
      eric
    3. Hinn ! Ok !! Merci
    4. Contributeur
      Tiens, j'avais répondu. Et le post apparait à nouveau comme non lu dans ma liste, bizarre ça...
      Je répète donc :
      + est l'équivalent du OU logique.
      J'ajoute donc VRAI au test de l'heure si elle est non saisie, pour forcer la validité dans ce cas.

      Ce qui permet de se passer du Si() qui nécessite la validation matricielle du Sommeprod()
      eric
  2. Bonjour,

    essaye ça :

    =SOMMEPROD((Séjours!$H$2:$H$7=D3)*((Séjours!$A$2:$A$7+Séjours!$B$2:$B$7)<=(Prestation!A3+Prestation!B3))*SI(Séjours!$D$2:$D$7<>0;(Séjours!$D$2:$D$7+Séjours!E3:E8)>=(Prestation!A3+Prestation!B3);1)*(Séjours!$G$2:$G$7))
    1. Merci Djidji, mais j'ai l'impression que ça fonctionne pour les N° Dossier qui n'ont pas de date de sortie... mais plus pour les autres cas (quand je descends la formule)
    2. ^^ Toujours casse tête :D
      La 1ère ligne rapporte 0, alors qu'elle devrait mettre la chambre 3320... Et la 3ème ligne cumule les 3 N° de chambre pour un résultat de 9975 au lieu de 3327.
    3. @thibaut_francoisre

      Ça fonctionne, mais je ne sais pas pourquoi, il faut revalider a chaque fois la nouvelle cellule, ou la cellule modifiée

      re
      j'ai changer de fichier, et cette fois, il n'y a plus ce probléme.
      https://www.cjoint.com/c/EJuqXNRdLYV

      PS: ton fichier a l'air "pourri" !
    4. ^^