tl;dr 我们如何强制 Excel 锁定仅包含 1 个唯一值的列的过滤器?
我很难为这个问题想出一个好的“标签”,所以我认为最好用一个例子来说明。在这些例子中,我使用了一个 excel 表,其中第 1 列代表列表名称,第 2 列代表每个列表中的值。
有效示例
我首先对第 2 列进行过滤,搜索“特许权使用费”。
现在,我看到第 1 列中有多个列表匹配。我只对其中一个感兴趣,因此我对第 1 列应用了过滤器。
最后,我想要查看该列表内的所有值,因此我从第 2 列中删除了过滤器。
令人沮丧的例子
因此,我想做同样的事情,只是第 2 列上的过滤器只会产生第 1 列中的单个列表名称。
让我们重复上面的第 1 步,但将第 2 列筛选为“租金或版税”
现在,第 1 列只有 1 个结果。我想做的是“锁定”第 1 列上的过滤器,尽管这没有必要。原因是,然后我想从第 2 列中删除过滤器并查看属于该列表的所有值。
但是,我找不到办法。Excel 不会锁定过滤器,而是不会将过滤器应用于第 1 列。然后,当从第 2 列中删除过滤器时,它会显示两列中的所有值。
问题
当前的解决方法是从第 1 列复制值并将其粘贴到记事本中(您无法将其保留在内存中,因为筛选操作会清除复制的值)。然后,删除第 2 列筛选器,然后将“等于”筛选器应用于第 1 列。但是,我想知道是否有更好的方法来做到这一点。
请注意,我更喜欢通用解决方案。电子表格会发生变化,除非是通用的,否则我宁愿不使用宏/VBScript。
感谢您花时间阅读这篇长文。
问候,Sachin。
答案1
如果颠倒顺序,则可以避免复制到记事本的步骤。首先复制第 1 列中的值,然后将“文本过滤器 > 等于...”过滤器应用于第 1 列并粘贴复制的值。现在您可以从第 2 列清除过滤器。