2016-06-11 67 views
0

我有两个excel文件(文件1与工作表1和文件2与工作表2)。 都在里面,在列A中的所有名称(例如在A1中:“a”,在A2中:“b”等等),在列B中相对长度的值(例如在B1中:“2” B2:“3”等),但是两张表中的东西的顺序是不同的;所以我想说:“如果工作表1的A列中的单元格中的名称与工作表2的A列中的单元格中的名称相同,那么比较B列中的相对值并在列中写入TRUE (如果值相同)或FALSE“ ”对您有可能?请问你能帮帮我吗? 由于事先excel vba使用命令如果

+0

如果其中一个答案是您的解决方案,请接受它。否则,请解释答案中还缺什么。谢谢! – cameronroytaylor

回答

1

如果Sheet1中有

a 5 
b 6 
c 7 
d 8 

和Sheet2中有

c 3 
d 8 
a 5 

,那么你可以键入

=IFERROR(IF(B1=INDIRECT("Sheet2!B"&MATCH(A1,Sheet2!A$1:A$4,0)),"Match Found",""),"") 

到Sheet1中的单元格C1和拖动填充柄向下你会得到

Match Found 


Match Found 

在Sheet1的C列中。不需要VBA。 :)

注意:由于您的第二张纸实际上是在一个单独的文件中,因此您需要在单元格C1中将Sheet2更改为[file2.xlsx]Sheet1

0

如果你想避免INDIRECT函数,那么请尝试以下操作:

假设你的file1Sheet1如下:

enter image description here

而另一个文件的Sheet2是这样的:

enter image description here

在`Sheet2'的Cell C1中输入以下公式并根据需要拖放/复制它。

=IFERROR(IF(B1=INDEX([file1.xlsx]Sheet1!$B$1:$B$5,MATCH(A1,[file1.xlsx]Sheet1!$A$1:$A$5,0)),TRUE),FALSE) 
+0

with你的公式擅长对我说,有一个问题= – Max

+0

@Max - 不知道为什么它会给你错误,它的测试和工作公式。你可以请分享你得到确切的错误消息。 – Mrig

0

我将要复制的文字TRUE,只有当我比较两片相同的细胞,我发现,只有该单元格的名称的一部分是相同的(因为在现实中的细胞存在不仅是a,b,c而且例如是一个句子作为“样本1 SX箭头”,其他人称为“样本1 DX箭头”),所以我想只在列A中没有完整名称的情况下在列C中放置单词TRUE是相同的,但只是句子的一部分(对于ecample只有部分“SX箭头”!!! 如何在循环中添加此项?

+0

您的要求在这里解释,并在问题中的不同。如果你能提供你的数据和期望的结果会更好。 – Mrig