遍历不同工作表中的单元格来parsingstring
我有两个工作表:一个有一个列(是/否),第二个是人员列表。 如果用户在工作表2上的姓氏也在工作表1上,我想将该列标记为“是”。 有没有一种方法来编写脚本? 理想情况下,我想这样做:
- 在表1中迭代遍历。
- 如果该行中的姓氏与表2中的姓名匹配,则将列单元格标记为“是”
执行此操作的最有效方法是使用工作表函数而不是使用VBA。 在“是/否”列中input以下公式并填写。
=IF(ISERROR(MATCH(A1,Sheet1!$A$1:$A$5,0)),"No","Yes")
这里A1
是你正在寻找的Sheet2的名字, Sheet1!$A$1:$A$5
是Sheet1上你想查看的名字列表。
编辑:
如果要仅匹配Sheet1上的列表的第一个单词,您仍然可以使用数组公式。
=IF(ISERROR(MATCH(A1,LEFT(Sheet1!$A$1:$A$5,FIND(" ",Sheet1!$A$1:$A$5)-1),0)),"No","Yes")
按Ctrl + Shift + Enter将其input为数组公式。 该公式应显示在公式栏中的{…}内。
如果你的名字列表的forms是“最后的第一”,这将工作。 相反,如果名称的格式为“Last,First”,则可以使用以下代码。
=IF(ISERROR(MATCH(A1,LEFT(Sheet1!$A$1:$A$5,FIND(", ",Sheet1!$A$1:$A$5)-1),0)),"No","Yes")