我正在处理一个从电子表格中获取数据的大型文件。我需要匹配商店编号和商店名称并返回正确的地址。这很容易,但很多商店编号重复,所以我不能只匹配商店编号。我还必须匹配商店名称。示例数据:
Store Name Store Number Address
Kroger - Dallas 333 358 Street
Kroger - Dallas 450 123 Street
Kroger - Delta 450 453 Street
Kroger - Atlanta 450 648 Street
Kroger - Atlanta 258 284 Street
HEB 450 349 Street
如果商店编号匹配,我已经知道如何返回地址,但这些商店的商店编号有时会相互冲突。与 Sam's Clubs 合作时,这很容易,因为没有商店编号相互冲突,因此所有数据都会完美返回。
我首先尝试检查名称是否包含“达拉斯”或“亚特兰大”等,然后检查与该名称相关的商店编号,并返回地址。
这是我正在尝试的公式,但它说有错误。其中 D3 是包含商店名称和商店编号的单元格。
=IF(SEARCH("Kroger", $D$3), IF(ROW(SEARCH("Dallas", D3))=ROW(MATCH(INT(RIGHT(D3, LEN(D3)-FIND("#", D3))), B2:B985)), "Match!", "No Match."), IF(RIGHT($D$3,1)="#","Enter a Valid Store Number", INDEX(Locations!$C$2:$C$985,MATCH(INT(RIGHT($D$3,LEN($D$3)-FIND("#",$D$3))),Locations!$B$2:$B$985,0),)))
如果我用这个替换 IF(ROW()=ROW()):
IF(ROW(D3)=ROW(D3), "Match!", "No Match.")
它有效,所以我知道错误不在公式的其余部分。
答案1
答案2
您可以使用此公式,其中 D 是商店名称的列,您可以将其向下拖动到每个名称,它将为您提供匹配的地址,
=IFERROR(IF(AND(FIND("Kroger",D3,1)>0,FIND("Dallas",D3,1)>0),OFFSET(D3,0,2),""),"")
但如果您需要使用一个公式一次搜索所有商店名称,则需要不同的公式。
另一个公式是通过使用 MATCH 和 OFFSET 组合商店名称和商店编号,A:A 和 B:B 是您的信息数组(商店名称和商店编号),使用匹配,您将获得带有偏移量的行,您将获得以 A1 为起始参考的地址,其中是标题商店名称。
=OFFSET(A1,MATCH("Kroger - Dallas"&"450",A:A&B:B,0)-1,2)
使用CTRL + SHIFT + ENTER它是一个数组公式