我正在努力简化这一点。我们假设我有以下Excel表格(两者都是单独的文件)。
表1(csv用于列的参考 - 但文件不是CSV格式)
X52519, description1, vendor, Blue, Hard, Square
X73849, Description2, vendorTwo, Red, Soft, Round
X63825, Description3, vendorThree, Red, Hard, Fruit
X49582, Description4, vendorFive, Blue, Hard, Fruit
表2(用于参考列的csv样式)
Blue, Hard, Square, Lego
Blue, Hard, Round, Hula-Hoop
Red, Soft, Round, ball
Red, Hard, Fruit, apple
Orange, Soft, Fruit, Orange
Green, soft, small, Pea
我希望表1的末尾有一个公式列,并根据结果显示表2的值。在现实生活中,表1和表2有许多不同的列,并且更复杂,但应该参考。表2是一个主人,并拥有更多信息,如描述,数字等与此帖无关。我只是想解释一下,将它添加到第一个电子表格中并不是一个明显的解决方案。这两份文件必须分开。
我希望表1的最终结果如下所示: 表1(6栏)
X52519, description1, vendor, Blue, Hard, Square, Lego
X73849, Description2, vendorTwo, Red, Soft, Round, Ball
X63825, Description3, vendorThree, Red, Hard, Fruit, Apple
X49582, Description4, vendorFive, Blue, Hard, Fruit, Does Not Exist
如果解决方案在这里不易描述,可能需要一些指导。理想情况下,我希望表1的第四列自动填充而不做任何事情,但VB宏肯定是可行的。我应该导入Microsoft Access并使用它吗?如果有人有任何想法,只需寻找一些指导和解决方案。我被告知VLOOKUP会非常复杂。
**编辑 当我读到这篇文章时,我发现了更多的误解(我确信所有这一切都是因为我是社区的新手。"(如果......)"表2中的部分仅供参考,并不是数据的一部分。我试图说,如果表1中的组合是等等,等等,表1的D列应该显示苹果,因为另一个电子表格文件说是等等等等这意味着苹果。这是否澄清?我为任何困惑道歉。我修改了这个问题,希望能更好地澄清这一点。
答案 0 :(得分:1)
假设您的表1位于名为Sheet1
的工作表上,而您的表2位于名为Sheet2
的工作表上,并且两个表都在其各自工作表的单元格A1中开始,则单元格D1中的公式为将生成您要查找的值的工作表Sheet1
可以是:
=TRIM(LEFT(INDEX(Sheet2!$A$1:$A$3,(MATCH($A1&", "&$B1&", "&$C1&")",MID(Sheet2!$A$1:$A$3,FIND("(If ",Sheet2!$A$1:$A$3)+4,999),0))),FIND(" ",INDEX(Sheet2!$A$1:$A$3,(MATCH($A1&", "&$B1&", "&$C1&")",MID(Sheet2!$A$1:$A$3,FIND("(If ",Sheet2!$A$1:$A$3)+4,999),0))))-1))
该公式需要作为CSE公式输入(即按Ctrl-Shift-Enter键输入"输入"公式),然后将其复制到单元格D2和D3。
显然,可以更改对工作表的引用,以便在您使用的任何工作簿中引用工作表,并且还可以调整单元格引用以适合工作表中数据的位置。
我强烈建议你不要使用公式(我只创建它以证明我可以,因为我不经常使用INDEX
,MATCH
,尤其是CSE公式),而是考虑重新格式化您的数据(如果可能),以便它采用更有利于更容易计算的格式。
答案 1 :(得分:0)
好的,如果您的Table1看起来像这样:
然后你的Table2看起来像这样:
在Table1的G2
中,您可以使用此数组公式(意思是,输入 CTRL + SHIFT + ENTER
=INDEX(Table2!$D$1:$D$6,MATCH(Table1!D1&Table1!E1&Table1!F1,Table2!$A$1:$A$6&Table2!$B$1:$B$6&Table2!$C$1:$C$6,0))
然后向下拖动。
#N/A
错误表示您没有这种组合。你可以在IfError()
周围包裹Index/Match
以返回一些内容......说=IfError([formula above],"No such combination")
。