Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script Google Sheets过滤器带有IN子句_Google Apps Script_Google Sheets_Spreadsheet - Fatal编程技术网

Google apps script Google Sheets过滤器带有IN子句

Google apps script Google Sheets过滤器带有IN子句,google-apps-script,google-sheets,spreadsheet,Google Apps Script,Google Sheets,Spreadsheet,问题:在Google Sheets中,仅使用内置函数,如何编写一个过滤器,根据每行中的一列不在另一个范围的有效值列表中排除记录 详细信息 我正在使用Google Sheets编写一个财务电子表格,其中我所有的支出和收入都输入到一个名为“交易”的表格中。我有一个单独的表叫做常量,在这里我有一个收入类别列表和一个费用类别列表 以下是一些用于问题的示例数据: 常数 交易 我有一张名为ByMonth的表格,其中我想在一个部分中显示所有费用交易,在单独的部分中显示所有收入交易。 目标: 我需要在go

问题:在Google Sheets中,仅使用内置函数,如何编写一个过滤器,根据每行中的一列不在另一个范围的有效值列表中排除记录

详细信息

我正在使用Google Sheets编写一个财务电子表格,其中我所有的支出和收入都输入到一个名为“交易”的表格中。我有一个单独的表叫做常量,在这里我有一个收入类别列表和一个费用类别列表

以下是一些用于问题的示例数据:

常数

交易

我有一张名为ByMonth的表格,其中我想在一个部分中显示所有费用交易,在单独的部分中显示所有收入交易。 目标:

我需要在google sheets函数中执行此sql查询:

select date, category, amount from transactions 
where category not in (
    select * from expense_categories
)
但我不知道如何让谷歌表单让我对它们的功能进行概念上的分析

下面是一个单元格函数表达式,我使用它根据日期字段筛选行:

=filter(Transactions!A2:C, 
        DATEVALUE(Transactions!A2:A) >= date(2015,4,1), 
        DATEVALUE(Transactions!A2:A) <= date(2015,4,30)
)

有什么建议吗?

您感兴趣的公式是:

=filter(Journal!A2:C13,IFERROR(Match(Journal!B2:B13,Categories!A2:A3,0)))
如果可以在
b
中找到
a
,该函数将进行搜索。您需要在结尾处使用
0
进行精确匹配(默认为最接近匹配)。如果找不到
a
,则会出现错误,因此使用
iferror
包装函数以跳过错误


以下是

由于每个类别都使用关键字,
费用
收入
,以下公式返回所需的结果

=query(Journal!A2:C13,"Select * where B contains 'expense'")
=query(Journal!A2:C13,"Select * where B contains 'income'")

你有一个样本电子表格,你可以分享这正是我要找的。我尝试匹配,但输出看起来不正确。第三个参数是我缺少的。谢谢@daniel<代码>iError应更改为
iError
。您希望ISERROR的布尔值
true
返回以筛选不在范围内的值。@LStarky,捕捉得好!我的原始示例文件有一个错误,因此结果收入/支出结果被切换。我修正了错误。我还添加了一个使用
iError
的示例来说明差异。我在示例中使用了“费用”和“收入”两个词,以使示例更加清晰,但我不想要求这些关键字出现。但我很高兴知道这是一个选择。谢谢你的回答@Rubén!你是welcom@TwitchBronBron。要了解有关Google查询语言的更多信息,请参阅
=query(Journal!A2:C13,"Select * where B contains 'expense'")
=query(Journal!A2:C13,"Select * where B contains 'income'")