如何根据列中的公式结果运行过滤器?

Posted

技术标签:

【中文标题】如何根据列中的公式结果运行过滤器?【英文标题】:How to run a filter based on formula result in column? 【发布时间】:2018-05-27 17:30:00 【问题描述】:

当我输入“HIDE”这个词时,我有以下效果很好。但是当“HIDE”是公式的结果时,它是无法识别的。你有什么建议?我的目标是在触发列返回公式结果时自动隐藏行。 这是我所拥有的:

function onEdit(f) 
  if (f.range.getColumn() == 30 && f.value == "HIDE") 
    f.range.getSheet().hideRows(f.range.getRow());
  

【问题讨论】:

【参考方案1】:

您应该检查范围的getDisplayValue

if (f.range.getColumn() == 30 && f.range.getDisplayValue() == "HIDE")

它总是为您提供“显示的”单元格内容的价值。

【讨论】:

谢谢。我还在某处读到 onEdit 不响应公式结果更改,仅响应用户更改。当然,当用户在单独的列中进行更改时,公式就会触发。 你可以为这种情况设置onChange触发器,它会在公式结果更新时触发。 我现在有以下内容,并设置了 onChange 触发器。仍然没有结果。函数 FilterRows(f) if (f.range.getColumn() == 30 && f.range.getDisplayValue() == "HIDE") f.range.getSheet().hideRows(f.range.getRow() ); 是的,我错了,公式结果更新时 onChange 不会触发:***.com/a/41591675 更新某些单元格中的值后,您的公式值是否更新?然后您可以添加 onEdit 触发器,而不是检查已编辑的范围,而是检查整个第 30 列范围并隐藏所需的行。

以上是关于如何根据列中的公式结果运行过滤器?的主要内容,如果未能解决你的问题,请参考以下文章

SQL - 根据另一列中的日期过滤一列的结果

过滤列中的 VBA 粘贴公式

如何从另一个项目列表中过滤一个项目列表?

PySpark - 如何根据列中的两个值从数据框中过滤出连续的行块

如何在 QTableView 的列中显示下拉列表并根据下拉列表进行过滤

如何根据pyspark中的行和列条件过滤多行