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