我怎样才能在谷歌电子表格中做这样的事情?
=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 中),然后根据条件从传入交易中减去传出交易,我得到的交易可以视为累积总和。
公式返回#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。
使用查询的最简单方法是使用范围引用作为第一个参数。考虑到这一点,创建一个新工作表,
OFFSET(Zenmoney!A1:L;3;0)
添加到A1IF(REGEXMATCH(TO_TEXT(H); "СКК T RUB 0004"); I; 0)-IF(REGEXMATCH(TO_TEXT(E); "СКК T RUB 0004"; F; 0)
,然后将其添加到M列。OFFSET(Zenmoney!A1:L;3;0)
替换为对新工作表的引用。"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'"