使用脚本复制 google 个工作表中另一列的格式
Use a script to copy the formatting of another column in google sheets
我在一列中有一系列值(在本例中为人类身高),我已将其设置为尽可能便于人类阅读。然而,我想对这些进行颜色编码,所以我在它旁边有第二列,我在其中将这些高度输入为纯数字,然后我对其应用了色标(条件格式)。通常,通过使用自定义公式,基于另一个单元格进行条件格式设置会比较容易,但是使用色阶功能,没有办法输入条件(至少我知道)。
因此,我想尝试将格式从纯数字列复制到人类可读列(然后我可以只隐藏前者)。不幸的是,由于这是条件格式,我不能直接复制颜色,因为它们会根据新的单元格值发生变化。我知道 Google 表格支持某种脚本,所以我认为必须有某种方法可以设置一个单元格的当前 background/fill 颜色以自动匹配另一个单元格的颜色,如果另一个单元格也可以更新单元格的格式更改。不幸的是,我不知道如何编写这些脚本,所以我想在这里问问是否有人可以帮我解决这个问题。
编辑:Here 是我现在拥有的一个非常基本的示例。我想要做的是在不更改值的情况下将与右侧相同的格式应用到左侧。
试试这个:
- 在您的电子表格中,转到 工具 -> 脚本编辑器
- 删除脚本编辑器中的任何代码
- 粘贴下面提供的代码。
- 按运行按钮
代码:
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheetByName("Sheet1");
var sourceBG = sh.getRange("B2:B8").getBackgrounds();
sh.getRange("A2:A8").setBackgrounds(sourceBG);
}
注意:如果您有更多行,只需更改范围并确保源和目标范围具有相同的大小。
输出:
参考文献:
我在一列中有一系列值(在本例中为人类身高),我已将其设置为尽可能便于人类阅读。然而,我想对这些进行颜色编码,所以我在它旁边有第二列,我在其中将这些高度输入为纯数字,然后我对其应用了色标(条件格式)。通常,通过使用自定义公式,基于另一个单元格进行条件格式设置会比较容易,但是使用色阶功能,没有办法输入条件(至少我知道)。
因此,我想尝试将格式从纯数字列复制到人类可读列(然后我可以只隐藏前者)。不幸的是,由于这是条件格式,我不能直接复制颜色,因为它们会根据新的单元格值发生变化。我知道 Google 表格支持某种脚本,所以我认为必须有某种方法可以设置一个单元格的当前 background/fill 颜色以自动匹配另一个单元格的颜色,如果另一个单元格也可以更新单元格的格式更改。不幸的是,我不知道如何编写这些脚本,所以我想在这里问问是否有人可以帮我解决这个问题。
编辑:Here 是我现在拥有的一个非常基本的示例。我想要做的是在不更改值的情况下将与右侧相同的格式应用到左侧。
试试这个:
- 在您的电子表格中,转到 工具 -> 脚本编辑器
- 删除脚本编辑器中的任何代码
- 粘贴下面提供的代码。
- 按运行按钮
代码:
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheetByName("Sheet1");
var sourceBG = sh.getRange("B2:B8").getBackgrounds();
sh.getRange("A2:A8").setBackgrounds(sourceBG);
}
注意:如果您有更多行,只需更改范围并确保源和目标范围具有相同的大小。
输出: