如何根据列中的公式结果运行过滤器?
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 列范围并隐藏所需的行。以上是关于如何根据列中的公式结果运行过滤器?的主要内容,如果未能解决你的问题,请参考以下文章
PySpark - 如何根据列中的两个值从数据框中过滤出连续的行块