如果地址(A列)包含城市列表(B列)中的任何城市名称,我想对其进行过滤。数据如下所示:
| 地址(A栏)|城市(B栏)|
| - ------|- ------|
| 美国加利福尼亚州比尔顿900 Rancho Diego Pkwy,邮编92028|文图拉|
| 德克萨斯州安东尼奥市托珀温路3850号,邮编:78264|圣安东尼奥|
| 美国加利福尼亚州阿塔斯卡德罗3250 El Camino Real,邮编93444|比尔顿|
| 加利福尼亚州文图拉市帕尔马大道2340号,邮编:93090|纽约|
| 加利福尼亚州圣玛丽亚Valley Rd,邮编:93420||
在上表中,A列的地址中只找到B列的2个城市(Ventura, Buellton)
,因此输出应为:
美国加利福尼亚州比尔顿900 Rancho Diego Pkwy,邮编92019
加利福尼亚州文图拉市帕尔马大道2340号,邮编:93003
我试了以下公式,但没有效果:
=FILTER(A2:A, REGEXMATCH(A2:A, B2:B))
=FILTER(A2:A, MATCH(A2:A, B2:B,0))
=FILTER(A2:A, COUNTIF(B2:B, A2:A))
如果地址中有城市名称(B栏),如何编制地址列表(A栏)?如有任何帮助,将不胜感激。
3条答案
按热度按时间y3bcpkx11#
请尝试:
更新公式:
=FILTER(A2:A,REGEXMATCH(BYROW(A2:A,LAMBDA(ax,IF(ax="",,IFNA(IFNA(REGEXEXTRACT(ax,", ([^,]*), [A-Z]{2}"),REGEXEXTRACT(ax,", ([^,]*), [^,]*$")))))),"(?i)"&TEXTJOIN("|",1,B2:B)))
9w11ddsr2#
将
FILTER()
与Excel
中的MMULT()
一起使用·单元格
E3
中使用的公式也可以在
Google-Sheets
中使用:·单元格
E3
中使用的公式使用
BYROW()
的替代方法·单元格
E3
中使用的公式对于
Google-Sheets
,请将TOROW()
替换为TRANSPOSE()
·单元格
E3
中使用的公式最好使用
Table Structured References
,而不是获取所有行·单元格
E3
中使用的公式带有
BYROW()
·单元格
E3
中使用的公式或者,使用
LAMBDA()
公式在Name Manager中创建一个Defined Name,并根据需要使用该范围。·单元格
E3
中使用的公式单位:
Google-Sheets
swvgeqrz3#
你跟这事很亲密
REGEXMATCH
的第二个参数不应该是一个范围,这将工作: