Excel sumif 具有水平和垂直条件
我有下表
A | B | C | D | E |
---|---|---|---|---|
海报 | 1-10 | 11-50 | 51-100 | 101-200 |
a | £ 0.41 | £ 0.41 | £ 0.37 | £ 0.32 |
b | £ 0.83 | £ 0.82 | £ 0.73 | £ 0.64 |
d | £ 24.37 | £ 16.67 | £ 13.52 | £ 10.12 |
d | £ 0.50 | £ 0.50 | £ 0.44 | £ 0.39 |
e | £ 1.00 | £ 0.99 | £ 0.89 | £ 0.78 |
其他 | 1-40 | 41-60 | 61-90 | 91-200 |
de | £ 0.41 | £ 0.41 | £ 0.37 | £ 0.32 |
fg | £ 0.83 | £ 0.82 | £ 0.73 | £ 0.64 |
hi | £ 24.37 | £ 16.67 | £ 13.52 | £ 10.12 |
jk | £ 0.50 | £ 0.50 | £ 0.44 | £ 0.39 |
lm | £ 1.00 | £ 0.99 | £ 0.89 | £ 0.78 |
我有基于这两个主表的上述示例我有另一个选项卡,我可以在其中选择类型产品的数量,例如使用上述示例
订单
产品 | 类型 | 数量 | 成本 |
---|---|---|---|
一张 | 海报 | 10 | ?? |
德 | 其他 | 60 | ?? |
我基本上想使用成本字段来计算成本。因此,以上面的第一行为例,“A”位于“海报”表中,因此我希望公式能够识别这一点并使用权重 (1-10) 来计算成本。
对此最好的公式是什么?
I have the below table
A | B | C | D | E |
---|---|---|---|---|
Posters | 1-10 | 11-50 | 51-100 | 101-200 |
a | £ 0.41 | £ 0.41 | £ 0.37 | £ 0.32 |
b | £ 0.83 | £ 0.82 | £ 0.73 | £ 0.64 |
d | £ 24.37 | £ 16.67 | £ 13.52 | £ 10.12 |
d | £ 0.50 | £ 0.50 | £ 0.44 | £ 0.39 |
e | £ 1.00 | £ 0.99 | £ 0.89 | £ 0.78 |
Others | 1-40 | 41-60 | 61-90 | 91-200 |
de | £ 0.41 | £ 0.41 | £ 0.37 | £ 0.32 |
fg | £ 0.83 | £ 0.82 | £ 0.73 | £ 0.64 |
hi | £ 24.37 | £ 16.67 | £ 13.52 | £ 10.12 |
jk | £ 0.50 | £ 0.50 | £ 0.44 | £ 0.39 |
lm | £ 1.00 | £ 0.99 | £ 0.89 | £ 0.78 |
I have the above examples based on these two master tables I have another tab where I select the type of product such as using the above examples
Order Form
Product | Type | Quantity | Cost |
---|---|---|---|
a | Poster | 10 | ?? |
de | Others | 60 | ?? |
I want to basically use the cost field to work out the cost. So take the first row above as an example 'A' is within the 'Poster' table therefore I want the formula to identify this and use the weightings (1-10) to work out the cost.
What will be the best formula for this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
=INDEX($B$2:$E$11,MATCH(A15,$A$2:$A$11,0),MATCH(C15,--LEFT(INDEX($B$1:$E$11,MATCH(B)) 15,$A$1:$A$11,0),),查找("-",索引($B$1:$E$11,匹配(B15,$A$1:$A$11,0),))-1 ),1))*C15
它首先查找匹配的行。然后,对于匹配列,它会查找
Posters
/Others
行中-
之前的数字值PS 如果你这样做会更容易将能够将标头限制为最低值。这样公式就会简单很多。
我认为
Posters
与Poster
是一个拼写错误,其中一张海报d
实际上应该是c
?=INDEX($B$2:$E$11,MATCH(A15,$A$2:$A$11,0),MATCH(C15,--LEFT(INDEX($B$1:$E$11,MATCH(B15,$A$1:$A$11,0),),FIND("-",INDEX($B$1:$E$11,MATCH(B15,$A$1:$A$11,0),))-1),1))*C15
It looks for the matching row first. Then for the matching column it looks for the number value prior to the
-
in the row of eitherPosters
/Others
PS it's easier if you would be able to limit the headers to the lowest value only. That way the formula would be much simpler.
I reckon
Posters
vsPoster
was a typo and one of the Postersd
should actually bec
?