我有两个工作表:一个有列(是/否),第二个是人员列表。如果用户在工作表2上的姓氏也在工作表1上,我想将该列标记为“是”。有没有办法编写脚本?理想情况下,我想这样做:
答案 0 :(得分:2)
最有效的方法是使用工作表函数而不是诉诸VBA。在“是/否”列中输入以下公式并填写。
=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键输入此数组公式。公式应显示在公式栏中的{...}内。
如果你的名字列表的格式是“Last First”,那么这将有效。如果相反,名称的格式为“Last,First”,则可以使用以下代码。
=IF(ISERROR(MATCH(A1,LEFT(Sheet1!$A$1:$A$5,FIND(", ",Sheet1!$A$1:$A$5)-1),0)),"No","Yes")