首页 > 解决方案 > 找到更接近的值并复制它

问题描述

我有一个谷歌表格,它将记录在贝宝中完成的付款。所以基本上用户会以各种方式输入地址,所以为了减少错误我有用户可能输入的所有地址(这是因为这是我居住区居民的支付系统,所以我在数据库中拥有所有用户的地址)。所以任何人都可以帮我找到一个公式,它将在“用户名”工作表中找到实际地址,并且只从实际数据中获取门牌号和街道。我附上了一些图片来更好地解释自己。我希望公式在工作表“Paypal 2”中。请各位,我需要这个帮助。

https://docs.google.com/spreadsheets/d/1bM8l6JefFsPrlJnTWf56wOhnuSjdIwg3hMbY1tN1Zp8/edit#gid=0 - 链接到我的谷歌表格

用户输入的地址

                        The address entered by users

在此处输入图像描述

                The sheet to look up for the actual address

在此处输入图像描述

                   Sheet to split the house number and street
      

标签: google-apps-scriptgoogle-sheetsgoogle-sheets-formula

解决方案


尝试这个:

  1. 从“付款配置”中删除您的公式!B3:C3。(这将暂时删除 B3:C 中的所有结果。

  2. 将以下公式放入单元格 B3:

    =ARRAYFORMULA(IF(LEN(PaypalData1!C3:C),PROPER(REGEXEXTRACT(PaypalData1!L3:L, "(\d+)[,\s]+([^,]+\d+)")),))

REGEXEXTRACT允许提取多个分组,就像我对这个公式所做的那样;所以这应该为 B3:C 产生一个统一的结果。

RE2 表达式为“查找第一个数字后跟任意数量的逗号或空格,并将数字部分提取为第一组;然后找到其后不包含逗号且以任意位数结尾的任何字符串并提取作为第二组。”


推荐阅读