我正试图计算出有人需要给我多少钱,在那里票价定在一定时期内。
客人姓名:抵达日期
J.Bloggs - 14/11/2019 - 18/11/2019
价格01/11/2019 ~ 04/11/2019 =£3.40
价格05/11/2019 ~ 15/11/2019 =£2.50
价格16/11/2019 ~ 30/11/2019 =£1.90
我需要锻炼如何收费J.Bloggs GB2.50 2晚(14和15),然后GB1.90 3晚(16,17和18)=GB10.70*7人=£74.90
蓝色列是原始数据,绿色列是基于公式的(我不需要Price列,我只是用来计算费用)。


这是我目前在价格栏中的公式,但要知道,当门票涵盖多个时段时,这是行不通的。
{=INDEX(Pricing!$C:$C,MATCH(1,(Pricing!$A:$A<=IF(ISTEXT($A2),DATEVALUE($A2),$A2))*(Pricing!$B:$B>=IF(ISTEXT($A2),DATEVALUE($A2),$A2)),0))}发布于 2019-12-06 15:35:47
在索引/匹配中使用SUMPRODUCT:
=SUMPRODUCT(INDEX($C$8:$C$10,MATCH(ROW(INDEX($ZZ:$ZZ,A2):INDEX($ZZ:$ZZ,B2)),$A$8:$A$10)))*E2这是一个数组公式,在退出编辑模式时需要使用Ctrl Enter而不是Enter。
ROW(INDEX($ZZ:$ZZ,A2):INDEX($ZZ:$ZZ,B2))创建一个日期数组。
MATCH(...,$A$8:$A$10)接受这个数组并找到它落在查找表中的位置。注意:查找表必须按升序排序。
INDEX($C$8:$C$10,...)依次获取其中的每一个匹配,并创建一个输出价格数组。
SUMPRODUCT(...)将所有值相加在一起。
然后我们简单地把它乘以客人的数量。

https://stackoverflow.com/questions/59215935
复制相似问题