bas*_*day 7 google-sheets google-apps-script gs-conditional-formatting custom-function
在Google电子表格中应用条件格式时,我想知道是否可以使用我在"自定义公式"字段中通过脚本编辑器创建的自定义函数.这是我做的:
去'脚本编辑器'并键入我的fn如下:
function foo (param1, param2, param3) {
if (condition to check) {
...some action;
return true;
} else {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
并保存.
在工作表中,选定单元格并打开"条件格式"对话框
创建新规则并在字段中'自定义公式是:'键入以下内容
=foo(param1, param2, param3)
Run Code Online (Sandbox Code Playgroud)不幸的是,这不起作用.
加成
这是样本表 ......
看那里的两个任务.我的目标是将"任务标题"自动写入黄色字段内(请参阅第6行中我手动输入值的任务).
我已经尝试的是: - 分配给H5:BB7公式中的每个单元格:=if(H$4=D5; B5; "")
这将检查开始日期是否等于单元格日期并显示任务标题.这样就可以解决问题,但是即使"溢出"打开,具有任务标题的单元格的内容也会被剪切,因为下一个单元格不为空.
我还发现自定义函数不能用于条件格式。不过,我找到了一个非常简单的解决方法。
我尝试使用的自定义公式是:
=hasGreen(CELL("address",$H3)&":"&CELL("address",$M3))
IE。根据该行中的一系列其他单元格设置单元格格式。
我的解决方案是将上述公式放入 P 列。然后我将条件格式的自定义公式更改为=P3
工作起来就像一个魅力。对 H3:M3 的任何更改都会调用hasGreen并更新 P3 的值。条件格式会记录 P3 的任何更改,并调整格式。
自定义函数不能用作 Google 表格的条件格式内置用户界面中自定义公式的一部分。
在 Google 表格中,acustom function类似于电子表格的内置函数,但由用户使用 Google Apps 脚本编辑器编写。它们不能修改其他对象,只能返回一个或多个值。
另一方面,只有在将自定义函数添加到单元格或其中至少一个参数发生更改时,才会计算自定义函数。它们不能使用非确定性函数作为参数,如 NOW()、TODAY()、RAND() 和 RANDBETWEEN()。
为了测试简短回答中的陈述,我创建了一个执行以下操作:
功能二(){
返回2;
}
=二()=2
结果:什么都没有改变。
| 归档时间: |
|
| 查看次数: |
1635 次 |
| 最近记录: |