我已成功匹配各列的数据并创建新的数据输出。这是我通常开始的;
COL A COL B COL C COL D
ITEM VALUE ITEM VALUE2
---- ---- ---- ----
A 1 B 100
B 2 A 200
C 3 F 300
G 4 E 400
H 5 C 500
J 6 M 600
我可以使用VLOOKUP实现这个结果;
COL E COL F COL G
ITEM VALUE VALUE2
---- ---- ----
A 1 200
B 2 100
C 3 500
G 4
H 5
J 6
但我真正追求的是:匹配和合并;
COL E COL F COL G
ITEM VALUE VALUE2
---- ---- ----
A 1 200
B 2 100
C 3 500
E 400
F 300
G 4
H 5
J 6
M 600
我用这个在我的重量级别上面打了一个小小的,所以任何帮助都会非常感激。
答案 0 :(得分:0)
有类似的东西:
=COUNTIF(A:A,C2)
在一列中并向下复制,您应该知道ColumnA中尚未存在哪些项目。在此基础上使用C:D排序,只需将与0
关联的项目复制到ColumnA,将其值复制到ColumnD,然后对VLOOKUP进行排序和应用。
答案 1 :(得分:0)
它是巧妙使用Excel公式的绝佳网站,可以很好地解释下面的怪物公式,创建动态命名范围,以及如何使用数组公式。看看吧!
我的解决方案并不像我喜欢的那样优雅,但它有效。因此,您需要创建一些命名范围。
一个用于COL A中的项目(例如" Items1和#34;)和一个用于COL C中的项目(例如" Items2")
在COL G中,我们将拥有另一个List" AllItems1"。在COL H中,我们将有另一个List" AllItems2"。您需要制作一个命名范围的" AllItems1"太
COL G中的数组公式为:
=IFERROR(IFERROR(INDEX(Items1,MATCH(0,IF(MAX(NOT(COUNTIF($G$1:$G1,Items1))* COUNTIF(Items1,">"&Items1)+1))=(COUNTIF(Items1,">"&Items1)+1),0,1),0)),INDEX(Items2,MATCH(0,IF(MAX(NOT(COUNTIF($G$1:$G1,Items2))*(COUNTIF(Items2,">"&Items2)+1))=(COUNTIF(Items2,">"&Items2)+1),0,1),0))),"")
这是满口的。这会逐步遍历每个列表(即Items1和Items2),并为您提供一个非重复的按字母顺序排列的项目列表,其中包含" Items1"和" Items2"。
COL G实际上只是让我们进入COL H的中间步骤。我没有找到一种方法来合并两个列表而不执行此步骤。如果你找到更好的方法,请告诉我。
要获得不重复且按字母顺序排列的项目列表,我们将以下数组公式放在COL H中:
=IFERROR(INDEX(AllItems1,MATCH(0,IF(MAX(NOT(COUNTIF($H$1:$H1,AllItems1))*(COUNTIF(AllItems1,">"&AllItems1)+1))=(COUNTIF(AllItems1,">"&AllItems1)+1),0,1),0)),"")
然后我们从" AllItems2"开始执行VLOOKUP。
将以下VLOOKUP放入COL I:
=IFERROR(VLOOKUP($H2,$A$2:$B$7,2,0),"")
并将以下VLOOKUP放入COL J:
=IFERROR(VLOOKUP($H2,$C$2:$D$7,2,0),"")
当然,你可以制作" AllItems2"一个命名范围,并在VLOOKUP中使用它。
我认为这可以让你得到你想要的东西。