【发布时间】:2020-06-13 03:19:43
【问题描述】:
我找遍了,什么也没找到。我正在做的是在另一张表中使用排序/过滤功能显示一个表。为了您的观看乐趣,我已经简化了我的公式,如下所示:
=SORT(FILTER(A2:J23,
(C2:C23<>L2)+(D2:D23*M2),
(C2:C23<>L3)+(D2:D23*M3),
(C2:C23<>L4)+(D2:D23*M4),
(C2:C23<>L5)+(D2:D23*M5),
(C2:C23<>L6)+(D2:D23*M6),
(C2:C23<>L7)+(D2:D23*M7)),
A29, TRUE,
B29, FALSE,
C29, FALSE,
D29, FALSE,
E29, FALSE,
F29, FALSE,
G29, FALSE,
H29, FALSE,
I29, FALSE,
J29, FALSE)
目标很简单。我想简化它们,也许通过使用一个范围。它们是使用一个升序变量的完全相同的公式。
如果有帮助,这就是它正在做的事情:
(C2:C23L#) 检查 col C 是否等于 col L 中的“类型”。
(D2:D23*M#) M 列包含复选框(真/假)。将其乘以 col D 中的任意正数,得到数字数组与第一部分的 OR。
这些公式共同表示,“如果类型匹配,并且未选中按钮,则不显示行”。布尔逻辑是 A+B' 或 (A'B)'。
在排序部分,有一排复选框 A29:J29 (1/0, 2/0, 3/0, ...)。按下时,表格按该列排序,A-Z 列在 A 列,最大的第一个列 B-J。
编辑:我制作了一个模拟表以更好地说明正在发生的事情,并更新了代码以匹配此表。可以在这里找到:https://docs.google.com/spreadsheets/d/1cOre8sVOb3TE2OsaNC823UB18DAMO4pD4-mZqJtxu0k/edit?usp=sharing
【问题讨论】: