使用跨多个条件的复选框进行筛选



我正在尝试创建一个仪表板,其中一个选项卡旨在根据多个标准筛选人员列表。对于这篇文章的"封面"部分,我认为通过复选框表示标准会很有帮助,但对于如何从具有不同公式的原始数据选项卡中进行提取,我没有任何灵感。我设想的一个例子是这里(封面和原始数据的例子(:

https://docs.google.com/spreadsheets/d/1RzQ5vJYwpqDClqcPe_U7meRdtFBYL_Gn6b8_yKIP1RU/edit#gid=0

我遇到的主要问题是它涵盖了多个标准,我很难想出一个公式来返回数据。因此,在示例表中,我可以检查"苹果"one_answers"蘑菇",它会从原始数据选项卡中返回满足此条件的人的姓名。

我使用过谷歌表单公式和表单中的查询功能,但主要发现很难理解这是如何实现的。

如果有人能解决这个问题,或者以他们认为可以实现相同目标的类似方式,任何帮助都将不胜感激!

谢谢,Sam

我已经用Data!F2中的公式更新了您的电子表格

=IFERROR(FILTER(A2:D9, 
IF(Front!$C2 = TRUE, SEARCH(Front!$B2, $B$2:$B$9), LEN($A$2:$A$9)), 
IF(Front!$C3 = TRUE, SEARCH(Front!$B3, $B$2:$B$9), LEN($A$2:$A$9)),
IF(Front!$C4 = TRUE, SEARCH(Front!$B4, $B$2:$B$9), LEN($A$2:$A$9)),
IF(Front!$C6 = TRUE, SEARCH(Front!$B6, $C$2:$C$9), LEN($A$2:$A$9)),
IF(Front!$C7 = TRUE, SEARCH(Front!$B7, $C$2:$C$9), LEN($A$2:$A$9)),
IF(Front!$C8 = TRUE, SEARCH(Front!$B8, $C$2:$C$9), LEN($A$2:$A$9)),
IF(Front!$C10 = TRUE, SEARCH(Front!$B10, $D$2:$D$9), LEN($A$2:$A$9)),
IF(Front!$C11 = TRUE, SEARCH(Front!$B11, $D$2:$D$9), LEN($A$2:$A$9))), "No Values Returned in filter. Please try again.")

这应该是你想要的。

更新

我被要求展示这个功能是如何工作的。

IFERROR开始,这是围绕主函数进行的,所以如果FILTER什么都不返回,则用户不会收到错误消息。

该函数的大部分是围绕FILTER构建的,CCD_4充当QUERY的代理,这也是@Sam Breddy最初尝试的。

使用评估为TRUEFALSE的复选框(取决于它们是否被选中(,我们可以开始创建我们的动态过滤函数。

仅当Front!$C2中的复选框被设置为TRUE时,第一滤波器参数... IF(Front!$C2 = TRUE, SEARCH(Front!$B2, $B$2:$B$9), LEN($A$2:$A$9) ...才确定在$B$2:$B$9中是否存在任何Apples

这里的技巧是当复选框为FALSE时要有一个有效的值。如果FALSE参数设置为无/空白,则会弹出错误:

FILTER has mismatched range sizes. Expected row count: 8. column count: 1. Actual row count: 1, column count: 1.

为了应对这种情况,我只是将第一列的长度返回给具有LEN($A$2:$A$9)的函数,这对过滤器没有影响。

有趣的部分是SEARCH,它返回:

The position at which a string is first found within text and ignores capitalization of letters. Returns #VALUE! if the string is not found.

搜索可找到您要查找的字符串。。。在这种情况下为CCD_ 19,然后将该字符串的位置传递回CCD_。

例如SEARCH(Front!$B2, $B$2:$B$9)将返回1

通过对我们的FILTER函数的每个后续参数使用SEARCH方法,它们充当OR,允许函数评估APPLESORANGES

老实说,我尝试了一下这个问题,最终取得了成功。我认为它不适用于同一列中第一个字母相同的项目

例如,如果您在同一列中查找ApplesAndy's。。。

我也确信,对具有相同值的两列进行这种动态筛选可能会有一些问题,但这种解决方案应该适合您的需求。

干杯,

最新更新