假设你有office excel 365,你可以结合使用xlookup和Find函数来解决如下
=XLOOKUP("*"&IFERROR(LEFT(A2,FIND("@",SUBSTITUTE(A2,",","@",2))-1),LEFT(A2,FIND(" ",A2)-1))&"*",$D$2:$D$7,$D$2:$D$7,"Not found",2)
结果如下
解释
首先,我们需要提取字符直到“,”的第二次迭代
LEFT(A2,FIND("@",SUBSTITUTE(A2,",","@",2))-1)
由于并非所有字符串的名称都带有“,”示例:BRADFORD GB,因此上述公式将向我们使用 IFERROR 函数的计数器抛出错误。因此,如果上面的公式抛出错误,我们将只提取字符直到第一个空格实例。
IFERROR(LEFT(A2,FIND("@",SUBSTITUTE(A2,",","@",2))-1),LEFT(A2,FIND(" ",A2)-1))
现在我们只需要在城市列表中查找名称。但是,由于收货地点和城市列表不完全相同,我们将使用通配符“*”,如顶部的整体公式中所示。
=XLOOKUP("*"&IFERROR(LEFT(A2,FIND("@",SUBSTITUTE(A2,",","@",2))-1),LEFT(A2,FIND(" ",A2)-1))&"*",$D$2:$D$7,$D$2:$D$7,"Not found",2)