我正在尝试创建一个仪表板,其中一个选项卡旨在根据多个标准筛选人员列表。对于这篇文章的"封面"部分,我认为通过复选框表示标准会很有帮助,但对于如何从具有不同公式的原始数据选项卡中进行提取,我没有任何灵感。我设想的一个例子是这里(封面和原始数据的例子(:
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最初尝试的。
使用评估为TRUE
或FALSE
的复选框(取决于它们是否被选中(,我们可以开始创建我们的动态过滤函数。
仅当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
,允许函数评估APPLES
或ORANGES
。
老实说,我尝试了一下这个问题,最终取得了成功。我认为它不适用于同一列中第一个字母相同的项目
例如,如果您在同一列中查找Apples
和Andy's
。。。
我也确信,对具有相同值的两列进行这种动态筛选可能会有一些问题,但这种解决方案应该适合您的需求。
干杯,