【问题标题】:Text Manipulation nestled within a Query (Or ArrayFormula) (Google Sheets)查询(或 ArrayFormula)中的文本操作(Google 表格)
【发布时间】:2017-02-08 18:08:13
【问题描述】:

我正在尝试查询电子表格中的一些数据,并根据产品代码返回制造商。我们使用对应于不同客户的三位数字后缀对我们的产品进行编码。我知道代码,但查看表格的人可能不知道。

现在,我正在尝试从产品中拆分后缀,并在同一个公式中执行 wuery。

我可以分两步执行此操作,将后缀从代码中分离出来并仅查询后缀,但我想知道是否可以在一个代码中完成所有操作。我当前的公式返回我想要的数据,但它没有填满工作表的整个范围。我宁愿让这种情况自动发生,因为工作簿将是动态的。

我目前的公式是:

=QUERY(CxSeries,"select B where C CONTAINS '"&right(Code,3)&"' ")

https://docs.google.com/spreadsheets/d/190kom4q0XOJP4UdLTJpZf5tuJCQTflcuokRp_FJ4pBc/edit?usp=sharing

我不确定查询是否是解决此问题的正确方法,但我更愿意坚持这一点(只是因为老实说,我无法完全理解 ArrayForumlas)。

谢谢你,

【问题讨论】:

    标签: sql google-sheets google-query-language


    【解决方案1】:

    清除C列中的所有公式并输入C7

    =ArrayFormula(vlookup(regexextract(D7:D16,"-(\d+)$")+0, {Sheet5!C6:C,Sheet5!B6:B}, 2, 0))
    

    【讨论】:

    • 这工作完美无缺,谢谢。为确保我正确理解这一点,您的 vlookup 会根据 C 值 [后缀] 检查 D [产品] 值和 B [客户名称] 的输入。我根本不懂正则表达式,但我假设表达式从产品中删除了后缀。这个正则表达式返回一个数组或一个范围,这样 vlookup 就不会停留在公式的结果(一项)上。然后 ArrayFormula 将结果分布在一个范围而不是一个单元格中。那是对的吗?感谢您的帮助。
    猜你喜欢
    • 2021-01-18
    • 1970-01-01
    • 1970-01-01
    • 2020-12-03
    • 1970-01-01
    • 2021-08-19
    • 1970-01-01
    • 1970-01-01
    • 2022-08-08
    相关资源
    最近更新 更多