excel vba使用命令if

我有两个Excel文件(文件1与表1和文件2与表2)。 里面都有A列的所有名字(比如A1:“a”,A2:“b”等),B列是相对长度的数值(比如B1:“2”,B2 :“3”等),但两张表中的东西的顺序是不同的; 所以,我想说:“如果表格1中列A中单元格中的名称与表格2中列A中单元格中的名称相同,则比较列B中的相对值并在列中写入TRUE (如果值相同)或FALSE“的一个C是可能的? 请问你能帮帮我吗? 提前致谢

如果Sheet1有

a 5 b 6 c 7 d 8 

和Sheet2有

 c 3 d 8 a 5 

那么你可以input

 =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需要。 🙂

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

如果你想避免INDIRECTfunction,然后尝试以下操作:

假设你的Sheet1file1如下所示:

在这里输入图像说明

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

在这里输入图像说明

在“Sheet2”的Cell C1中input以下公式,并根据需要拖放/复制它。

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

我想要复制单词TRUE,只有当我比较两个工作表的同一个单元格时,我发现只有该单元格的一部分名称是相同的(因为实际上在单元格中不仅有a,b, c,但是例如一个句子是“Sample 1 SX”箭头,其他的就是“Sample 1 DX arrow”),所以我想在C列中inputTRUE,只要A列中的不完整名称是相同的,句子(对于ecample只有部分“SX箭头”!!!我怎样才能在循环中添加这个?