Google查询IF语句

问题描述 投票:0回答:1

我怎样才能在谷歌电子表格中做这样的事情?

=QUERY(OFFSET(Zenmoney!A1:L;3;0);"选择 A、B、D、E、F、H、I、IF(REGEXMATCH(TO_TEXT(H); "СКК T RUB 0004"); I; 0)-IF(REGEXMATCH(TO_TEXT(E); "СКК T RUB 0004"; F; 0) WHERE(E 包含 'СКК T RUB 0004') OR (H 包含 'СКК T RUB 0004') LABEL I-F '交易'";true)

这是收入和结果交易。 “E”和“H”结果和收入帐户名称相应。 我选择“СКК T RUB 0004”的交易(其中该帐户位于 InccountName 和 uotcomeAccountName 中),然后根据条件从传入交易中减去传出交易,我得到的交易可以视为累积总和。

google-sheets google-sheets-formula google-query-language
1个回答
0
投票

公式返回#ERROR,弹出窗口显示

错误 公式解析错误。

首先,当一个数组,

OFFSET(Zenmoney!A1:L;3;0)
返回一个或多个值的数组时,它被用来代替引用(范围)作为第一个参数,第二个参数应该使用Col1,Col2等,对于字段名而不是列字母(A、B、C)。

其次,第二个参数应该是文本值。 这个值是可以计算出来的。

第三,

IF(REGEXMATCH(TO_TEXT(H); "СКК T RUB 0004"); I; 0)-IF(REGEXMATCH(TO_TEXT(E); "СКК T RUB 0004"; F; 0)
不返回字段名称。它也不使用 Google 查询语言支持的函数。要了解其支持的功能,请参阅 https://developers.google.com/chart/interactive/docs/querylanguage


使用查询的最简单方法是使用范围引用作为第一个参数。考虑到这一点,创建一个新工作表,

  1. OFFSET(Zenmoney!A1:L;3;0)
    添加到A1
  2. 修复
    IF(REGEXMATCH(TO_TEXT(H); "СКК T RUB 0004"); I; 0)-IF(REGEXMATCH(TO_TEXT(E); "СКК T RUB 0004"; F; 0)
    ,然后将其添加到M列。
  3. 在查询公式中,将
    OFFSET(Zenmoney!A1:L;3;0)
    替换为对新工作表的引用。
  4. 修复QUERY公式第二个参数,
    "SELECT A, B, D, E, F, H, I, IF(REGEXMATCH(TO_TEXT(H); "СКК T RUB 0004"); I; 0)-IF(REGEXMATCH(TO_TEXT(E); "СКК T RUB 0004"; F; 0) WHERE(E contains 'СКК T RUB 0004') OR (H contains 'СКК T RUB 0004') LABEL I-F 'transactions'"
© www.soinside.com 2019 - 2024. All rights reserved.