【问题标题】:Quotation marks and apostrophes in the same string in QUERY Google Sheets functionQUERY Google Sheets函数中同一字符串中的引号和撇号
【发布时间】:2016-03-01 16:00:18
【问题描述】:

我想知道如何处理这样的查询。假设我在电子表格的单元格 A2 中包含以下文本:

Case Bakers' Flats 12" White Flour Tortillas 10/12ct

需要将以下公式代入B2:

=QUERY(importrange("KEY", "DATA!A1:Z1000"), "select Col24 where (Col1 = '"&A2&"')")

它会产生错误。

我的问题是:当我使用的字符串包含各种引号和撇号时,有什么方法可以避免查询出错?

【问题讨论】:

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


【解决方案1】:

简答

  • 要转义单引号/撇号,请包含在双引号之间包含撇号的字符串 (")。
  • 要转义双引号,请应用双引号,首先删除双引号,然后再添加它们。

说明

Google 表格 QUERY 内置函数通过在单引号前在内部添加 \ 来自动转义某些字符,但当用作条件源的单元格值包含双引号时,它不起作用。作为一种解决方法,建议使用双重替换。

单引号/撇号示例

下表表示包含的电子表格范围

  • A 列:数据源
  • 单元格 B1:要在条件表达式中使用的数据值
  • 单元格C1:以下公式=QUERY(A:A,"SELECT * WHERE A = """&B1&""" ")
+---+---------+-----+------+ | |一个 |乙| C | +---+---------+-----+------+ | 1 |我是 |我是 |我是 | | 2 |你是 | | | | 3 |它是 | | | | 4 |我是 | | | | 5 |你是 | | | | 6 |是| | | +---+---------+-----+------+

单引号/撇号和双引号示例

=替换( 询问( 替代(A:A,"""","''"), "SELECT * WHERE Col1 = """&SUBSTITUTE(B1,"""","''")&"""" ), "''","""" )

请注意,它不是使用字母 A 作为数据源列的标识符,而是使用 Col1。

参考

https://developers.google.com/chart/interactive/docs/querylanguage

【讨论】:

    【解决方案2】:
    =query('Book list'!A:F,"select B,C,D,E where F=""free"" and D="""&E1&"""") - because:
    

    以下是每种文字类型的格式:

    字符串字面量应该用单引号或双引号括起来。示例:"fourteen"、'hello world'、"It's raining"。

    如上面的参考资料中所述。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-27
      • 2011-02-08
      • 1970-01-01
      • 2020-01-02
      • 2018-04-28
      • 1970-01-01
      • 2012-03-23
      相关资源
      最近更新 更多