我有一个excel公式,应该可以工作,但返回#VALUE,我无法找出原因。
我有这张桌子:
A B
1 | | |
2 | Oranges | 1 |
3 | Apples | 2 |
4 | Grapes | 3 |
5 | Oranges | 4 |
6 | Apples | 5 |
7 | Grapes | 6 |
8 | Apples | 7 |
我想检查A列中的匹配值,如“Apples”,“Oranges”等,并在一行中返回B列中的所有相应值:
输出应该是这样的,但我只得到#VALUE:
A B C D
11 | Apples | 2 | 5 | 7 |
12 | Oranges | 1 | 4 | #NUM|
这是公式:
= INDEX($ B $ 2:$ B $ 8,小(IF($ A $ 11 = $ A $ 2:$ A $ 8,ROW($ A $ 2:$ A $ 8)-ROW($ A $ 2)+1) ,COLUMN(A1)))
答案 0 :(得分:4)
我希望这个公式可以帮助你...你需要按Ctrl + shift + enter来使公式正常工作,你需要按名称订购PRODUCT列以使公式正常工作。
=IF(COLUMN()-4<=COUNTIF($A$2:$A$8,$D2),INDEX($B$2:$B$8,MATCH($D2,$A$2:$A$8,0)+COLUMN()-5),"")
-4引用了您要查找值的列,而-5是您要获取值的位置。
专栏&#34; c&#34;是空的
COL A B C D E F G H
PRODUCT DESCRIPTION uniquevalues descr1 descr2 descr3 descr4
oranges 1 oranges 1 2
oranges 2 apples 3 4 5
grapes 6 grapes 6 7
grapes 7
apples 3
apples 4
apples 5
我希望现在还为时不晚:P ..你是受欢迎的。
答案 1 :(得分:0)
为避免#NUM错误,请使用此修改后的公式
=IFERROR(INDEX($B$2:$B$8,SMALL(IF($A$11=$A$2:$A$8,ROW($A$2:$A$8)-ROW($A$2)+1),COLUMN(A1))),"")