如何在 Google 表格中按背景颜色过滤我的行?
How can I filter my rows by background color in Google Sheets?
我正在尝试根据背景颜色过滤 sheet 中的行。
我使用以下代码编写了一个函数,该函数显示在辅助列中选择的行的背景色的十六进制代码,然后按这些值进行过滤。
function getHex(input) {
return SpreadsheetApp.getActiveSpreadsheet().getRange(input).getBackgrounds();}
但是,我发现这是一个时间点问题。如果我更改一行的背景颜色,辅助列中的十六进制代码不会自动更改。因此,当我过滤它时,会显示错误的行。关于如何前进有什么想法吗?
您可以使用触发器自动 运行 脚本,不幸的是,无法通过更改单元格的颜色来实现此目的,因为单元格不会在颜色更改时触发更改事件,只有在内容确实如此。
寻找 google sheet 触发器,
onEdit() 或 onChange().
https://developers.google.com/apps-script/guides/triggers/
唯一可行的方法是设置 onEdit() 或 onChange() 事件,并在更改颜色后在任意位置编辑单个单元格值。
示例步骤:
更改所需的单元格背景颜色或多单元格颜色。
编辑单元格值 - 最好在 empty/unused 单元格
上添加一些随机数
并删除它。
onChange() 示例:
function onChangeColor(event)
{
if (event.changeType == "EDIT")
{
//your code.
}
}
我正在尝试根据背景颜色过滤 sheet 中的行。
我使用以下代码编写了一个函数,该函数显示在辅助列中选择的行的背景色的十六进制代码,然后按这些值进行过滤。
function getHex(input) {
return SpreadsheetApp.getActiveSpreadsheet().getRange(input).getBackgrounds();}
但是,我发现这是一个时间点问题。如果我更改一行的背景颜色,辅助列中的十六进制代码不会自动更改。因此,当我过滤它时,会显示错误的行。关于如何前进有什么想法吗?
您可以使用触发器自动 运行 脚本,不幸的是,无法通过更改单元格的颜色来实现此目的,因为单元格不会在颜色更改时触发更改事件,只有在内容确实如此。
寻找 google sheet 触发器, onEdit() 或 onChange().
https://developers.google.com/apps-script/guides/triggers/
唯一可行的方法是设置 onEdit() 或 onChange() 事件,并在更改颜色后在任意位置编辑单个单元格值。
示例步骤:
更改所需的单元格背景颜色或多单元格颜色。
编辑单元格值 - 最好在 empty/unused 单元格
上添加一些随机数 并删除它。
onChange() 示例:
function onChangeColor(event)
{
if (event.changeType == "EDIT")
{
//your code.
}
}