基于单元格值在多行上进行条件格式设置

时间:2017-01-26 06:36:04

标签: google-sheets gs-conditional-formatting

在我的Google表单中,我为自己的下拉列表设置了自定义格式设置,根据所选值突出显示整行。

Custom formula is
=$B3="Highlight: 1 Row"

但如果我愿意,如何突出显示多行?

Google表单示例: Highlight Multiple Rows
屏幕截图示例:

enter image description here


更新(01-26-2017)

此“多行”功能的用途将在更强大的电子表格中使用,该电子表格可从Google表格生成Google表单。对于这个特定的用例,有许多不同的“下拉列表”供用户从用户可以键入的控件中进行选择。您的工作表变得越久,这很快就会变得难以导航。它似乎处理这个问题的最佳方式是通过条件格式化。

1 个答案:

答案 0 :(得分:1)

使用此自定义公式

=$B$3="Highlight: 2 Row"

确保您要将此规则应用于的范围是两行

例如:B3:Z4

现在,当在B3中输入“突出显示:2行”时,应突出显示两行。

更新:

以下是应该有效的Google脚本

function onEdit(e) {
var sh, colors, rows, rowsBefore;
sh = e.source.getActiveSheet();
colors = ["#fff2cc", "#fce5cd", "#d9ead3", "#cfe2f3"];
if (sh.getName() !== 'Example' || e.range.columnStart !== 2 || e.range.rowStart < 8 || typeof e.value == 'object') return;
rowsBefore = e.oldValue ? e.oldValue.replace(/\D/g, '') : 1;
rows = e.value.replace(/\D/g, '');
sh.getRange(e.range.rowStart, 4, rowsBefore, sh.getLastColumn()).setBackground("white")
sh.getRange(e.range.rowStart, 4, rows, sh.getLastColumn()).setBackground(colors[rows - 1])
}

更改工作表名称(和范围)以适应。请注意,此脚本位于一个简单的onEdit触发器上:当在“示例”工作表的col B中完成编辑时,将触发该脚本。不要尝试通过单击脚本编辑器中的“播放”按钮来运行脚本,因为它将返回错误。看看这有帮助吗?