Excel-用于分层定价模型的sumproduct

Excel-用于分层定价模型的sumproduct,excel,Excel,从A1开始,我有以下数据集: start tier end tier price 1 5 5 6 7 4 8 10 3 11 111 2 112 1 用法在D1中,等于10。我想根据使用量和降价来计算价值。我有两种产品,但运气不好 第一个: =SUMPRODUCT(--($D$1>A2:A6

从A1开始,我有以下数据集:

start tier  end tier    price
1           5           5
6           7           4
8           10          3
11          111         2
112                     1
用法在D1中,等于10。我想根据使用量和降价来计算价值。我有两种产品,但运气不好

第一个:

=SUMPRODUCT(--($D$1>A2:A6), ($D$1-B2:B6), C2:C6) 
第二个:

=SUMPRODUCT(--($D$1>{0,6,8,11,112}),--($D$1-{5,7,10,111,1000}),{5,-1,-1,-1,-1})
两人都算错了


我更喜欢第一个,因为不涉及硬编码

您确定要为此使用
SUMPRODUCT
<代码>范围查找可能更合适

鉴于数据:

End Tier     Price
       0         5
       5         4
       7         3
      10         2
     111         1

您可以使用
=VLOOKUP(18,A2:B6,2,TRUE)
找到数量(例如18个单位)的价格。在我看来,您在@paul的解决方案注释中犯了一个错误,结果应该是42-如果用法是10,那么它将分为5*5、2*4和3*3

如果我是对的,你可以试试下面的公式:

=SUMPRODUCT(($D$1>=A2:A6)*((B2:B6-A2:A6)+1+($D$1-B2:B6<0)*($D$1-B2:B6))*C2:C6)

=SUMPRODUCT($D$1>=A2:A6)*((B2:B6-A2:A6)+1+($D$1-B2:B6使用SUMPRODUCT和查找:

=SUMPRODUCT(LOOKUP(ROW($ZZ$1:INDEX($ZZ:$ZZ,D1)),{1,6,8,11,112},{5,4,3,2,1}))


使用查找表:

=SUMPRODUCT(LOOKUP(ROW($ZZ$1:INDEX($ZZ:$ZZ,D1)),A:A,C:C))

你希望得到什么结果?@paul,使用情况是这样的,先是5分5秒,然后是4分2秒,3分2秒。所以总数是38.5秒。谢谢你。有没有excel函数可以用来显示每层的使用情况。我的意思是第一层(从1到5)是5秒,第二层是2秒,等等。我尽量避免ifs@Kalenji为什么要避免if:
=if($D$4>=B2,B2,$D$4-A2+1)
如果我们假设每层的使用率在E列中,而D1中的总使用率则不应为=IF($D$1>=B2,B2,$D$1-A2+1)在E2?Brill中,它也适用于空格。你现在有没有不使用if的公式来计算每层的使用量?所以第2行是第5行,第3行是第2行等等。@Kalenji为什么反对if?它是你想要的最好的。但是如果你坚持
=($D$4>=B2)*B2+($D$4)