如何在可变长度的列表中找到顶部项的相应值?

时间:2016-12-02 20:47:51

标签: database excel formula vlookup

我需要找到与列表中第一项对应的值。 例如,下面是一个包含项目名称及其值的数据库。

Database

以下是购买商品的发票。 Cell C4需要仅显示第一项的值,即item2的101。每张发票可以包含任意数量的商品,我只需要从顶部商品中获取价值。

Invoice

以下是我最终想要的结果。 我能够使用VLOOKUP查找每个列表中的最后一个值,但由于每个发票清单的长度不同,因此难以创建一个找到第一个不会变得过于复杂的公式。

enter image description here

如果有任何我可以添加的详细信息,请告诉我。

2 个答案:

答案 0 :(得分:0)

将此公式放入C1并向下复制,(您需要更改引用以匹配您的数据集):

=IF(B1="Value",INDEX($I$1:$I$3,IFERROR(MATCH(INDEX(A:A,AGGREGATE(14,6,ROW($B$1:INDEX(B:B,ROW()-1))/($B$1:INDEX(B:B,ROW()-1)="Value"),1)+1),$H$1:$H$3,0),1)),"")

enter image description here

答案 1 :(得分:0)

斯科特打败了我,但是:

在C1

=IF(B1="Value",
    VLOOKUP(OFFSET(A$1,LARGE((B$1:B1="Value")*ROW(B$1:B1),2),0),
            $I$1:$J$20,2,FALSE),
    "")

$ I $ 1:$ J $ 20有你的查询表