https://docs.google.com/spreadsheets/d/1w71kFLLMCxmLLfMgYRmzSDYBYgRwKNWgjvvSxLB7opA/copy
Formule complète ... voir dans le fichier à quoi se réfèrent K6, L6 et M6
=iferror(SUM(arrayformula(vlookup(if(WEEKDAY(L6;2)=6;;L6)+sequence(1;(if(WEEKDAY(L6;2)=6;;L6-WEEKDAY(L6+1;2)+7)-if(WEEKDAY(L6;2)=6;;L6));0;1);sort(query($A$4:$D$76;"select B,C,D where A='"&K6&"Nuit"&"' ";0));3;1))))+iferror(SUM(arrayformula(vlookup((L6-WEEKDAY(L6+1;2)+7)+sequence(1;((M6-WEEKDAY(M6;2)+6)-(L6-WEEKDAY(L6+1;2)+7))/7;0;7);sort(query($A$4:$D$76;"select B,C,D where A='"&K6&"Semaine"&"' ";0));3;1))))+iferror(SUM(arrayformula(vlookup(if(weekday(M6;2)=5;;M6-WEEKDAY(M6;2)+6)+sequence(1;(if(weekday(M6;2)=5;;M6)-if(weekday(M6;2)=5;;M6-WEEKDAY(M6;2)+6));0;1);sort(query($A$4:$D$76;"select B,C,D where A='"&K6&"Nuit"&"' ";0));3;1))))
- K6 = logement (sans la notion de Nuit et Semaine)
- L6 = jour d'arrivée
- M6 = jour du départ (donc seul la veille est pris en compte dans le calcul)
- A4:D76 est ici la base de prix
J'ai aussi inclus un détail des semaines complètes et des nuitées avant et après pour compléter le séjour.
Mais tu peux en effet prendre les formules séparément, pour les nuitées et pour les semaines
=SUM(arrayformula(vlookup(L20+sequence(1;(M20-L20);0;1);sort(query($A$4:$D$76;"select B,C,D where A='"&K20&"' ";0));3;1)))
et
=SUM(arrayformula(vlookup(L26+sequence(1;(M26-L26)/7;0;7);sort(query($A$4:$D$76;"select B,C,D where A='"&K26&"' ";0));3;1)))
dans ce dernier cas (semaine) les arrivées et départs doivent impérativement un samedi sinon le calcul peut donner un résultat erroné.