我有以下Excel电子表格:
A B C D
1 Product A 500 Product A 500
2 Product B 800 Product A 700
3 Product C 450 Product A 300
4 Product A 700 Product B 800
5 Product A 300 Product B 400
6 Product C 300 Product B 250
7 Product B 400 Product C 450
8 Product B 250 Product C 300
在 A列和 B列中列出了不同产品的销售额。产品可以在A列中多次出现,因为会显示产品的每次销售。
在 C栏中,不同的产品从A-C中分类。
在 D栏中,我想使用VLOOKUP
从每个产品的 B列获取销售。
=VLOOKUP(C1,$A$1:$B$8,2)
但是,由于产品在 A列中多次出现,VLOOKUP
只返回其中一个值。
如何更改VLOOKUP
以获得同一产品的每次销售?
答案 0 :(得分:0)
您无法获得所需的结果单VLOOKUP
公式。
使用此数组公式:
=INDEX($B$1:$B$8,SMALL(IF($A$1:$A$8=C1,ROW($A$1:$A$8)-ROW(INDEX($A$1:$A$8,1,1))+1),COUNTIF($C$1:C1,C1)))
将其粘贴到D1
并按 CTRL + SHIFT + ENTER 将其更改为数组公式,然后将公式下拉
答案 1 :(得分:0)
另一种方法:
在数据上方插入一个空行,然后将此公式放在D列中(如果需要,可以隐藏此列):
=MATCH(D2;INDIRECT("$A"& 2 + IF(D2=D1;E1;0) & ":$A$9");0)+IF(D2=D1;E1;0)
E列中的这个公式:
=INDEX($B$2:$B$9;E2)
MATCH与VLOOKUP的工作方式类似,但不是实际值,而是返回结果的索引。 INDIRECT("$A"& 2 + IF(D2=D1;E1;0) & ":$A$9")
根据搜索值的先前索引更改搜索矩阵(例如,第一个"产品A"在索引1处找到,因此第二个"产品A"仅查找A3:A9,第二个"产品A"在索引4处,因此第三个"产品A"在A6中看起来:A9)。
第二个公式只是根据B列中的矩阵和D列中的索引提取值。