Google sheets GoogleSheet:使用下拉框和复选框(数据类型:text&;True/False)过滤数据
首先,先谢谢你 在发布这篇文章之前,我已经搜索并尝试了来自多个来源的一些指南。但是,在构造公式字符串时没有成功。使用Query+其他功能过滤googlesheet(GS)中的数据对我来说是新事物,我还在学习 目标: 使用下拉列表和两种类型的复选框(数据类型:text&True/False)。用户可以选择一个或多个复选框来筛选数据 问题: 未能成功构造公式字符串以组合下拉框和复选框 我的GS示例取自一个解决方案,该解决方案使用一个简单的公式字符串作为复选框(数据类型:True/False)来创建过滤器,并希望我可以从中开发Google sheets GoogleSheet:使用下拉框和复选框(数据类型:text&;True/False)过滤数据,google-sheets,Google Sheets,首先,先谢谢你 在发布这篇文章之前,我已经搜索并尝试了来自多个来源的一些指南。但是,在构造公式字符串时没有成功。使用Query+其他功能过滤googlesheet(GS)中的数据对我来说是新事物,我还在学习 目标: 使用下拉列表和两种类型的复选框(数据类型:text&True/False)。用户可以选择一个或多个复选框来筛选数据 问题: 未能成功构造公式字符串以组合下拉框和复选框 我的GS示例取自一个解决方案,该解决方案使用一个简单的公式字符串作为复选框(数据类型:True/False)来创建过
再次感谢 这似乎符合你的要求。在结果表的E6中尝试以下公式。或者看看我的标签答案GK,这是我添加到你的工作表中的
=iferror(if(or(C5:C13),
QUERY ('Test string DB'!A3:H12, "Select * WHERE " &
IF(B2="","C <>'' "," C = '"&B2&"'") &
IF(C5, " and D matches '" & B5 & "' ",) &
IF(C6, " and D matches '" & B6 & "' ",) &
IF(C7, " and D matches '" & B7 & "' ",) &
IF(C8, " and E matches '" & B8 & "' ",) &
IF(C9, " and E matches '" & B9 & "' ",) &
IF(C10, " and E matches '" & B10 & "' ",) &
IF(C11, " and F=TRUE", ) &
IF(C12, " and G=TRUE", ) &
IF(C13, " and H=TRUE", )),
QUERY ('Test string DB'!A3:H12,"select * " & if(B2=""," "," where C = '"&B2&"'") ,0)),
"No results - Reduce your selected criteria")
这将添加三个标题标签,然后在J、K、L列中查找真值,并将它们返回为“Y”s
我假设您希望功能和可访问复选框具有包容性,而便利设施具有排他性。以下是一个工作示例: 以下是E6中的公式:
=iferror(QUERY(QUERY('Teststring DB'!A3:H12,"select * where C = """&B2&""" AND (D = """& if(C5 = true,B5,"")&""" OR D = """& if(C6 = true,B6,"")&""" OR D = """& if(C7 = true,B7,"")&""") OR (E = """& if(C8 = true,B8,"")&""" OR E = """& if(C9 = true,B9,"")&""" OR E = """& if(C10 = true,B10,"")&""") ",0),"select * " & if(C11 = true,"where Col6 = true","")&" " & if(C12 = true,if(C11 = true,"AND Col7 = true","where Col7 = true"),"")&" " & if(C13 = true,if(or(C11 = true,C12 = true),"AND Col8 = true","where Col8 = true"),"")&" ",0),QUERY('Teststring DB'!A3:H12))
伟大的它起作用了!是时候让我了解字符串是如何工作的了。非常感谢@JLMosherExcellent!真的很感激!现在是我了解公式字符串如何工作的时候了。非常感谢你@KirkG13我喜欢你把“真”改为“Y”的部分。它看起来真的很整洁。没想到我能做到。至于您关于将“功能”和“可访问”数据结构更改为“便利设施”的建议,同意,必须进行更改。我想知道,如果我想保留“Feature”和“Accessible by”的数据结构,但允许多个选择,那么公式字符串会更“复杂”吗?tqvm!这完全取决于过滤器的用途。如果你检查淋浴和插件,你想要的露营地都有,或露营地有一个。功能相同-湖泊和海滩,或湖泊或海滩。第一个是不可能的,因为您的数据结构,所以可以更改公式以对功能和访问进行OR比较。但是如果你改变你的数据结构,公式会变得简单一点。谢谢!谢谢你的澄清。我得多读点书,多试几次,才能明白这一点。我计划为Ownerhsip下拉选择包括一个默认的“全部”(将在数据验证中更改),以便在用户选择Public等之前始终显示所有。我应该修改公式的哪一行/部分,1.QUERY('teststringdb'!A3:H12,“Select*WHERE”&IF(B2=“”,“C”“,“C=”,“C=”,“B2&“”),[或]2….&IF(B2=“”,“WHERE C=”,“B2&“))
=iferror(QUERY(QUERY('Teststring DB'!A3:H12,"select * where C = """&B2&""" AND (D = """& if(C5 = true,B5,"")&""" OR D = """& if(C6 = true,B6,"")&""" OR D = """& if(C7 = true,B7,"")&""") OR (E = """& if(C8 = true,B8,"")&""" OR E = """& if(C9 = true,B9,"")&""" OR E = """& if(C10 = true,B10,"")&""") ",0),"select * " & if(C11 = true,"where Col6 = true","")&" " & if(C12 = true,if(C11 = true,"AND Col7 = true","where Col7 = true"),"")&" " & if(C13 = true,if(or(C11 = true,C12 = true),"AND Col8 = true","where Col8 = true"),"")&" ",0),QUERY('Teststring DB'!A3:H12))