如何修复一个函数以获取单元格文本颜色

3

我创建了一个函数,用于在将公式插入另一个单元格时获取单元格的文本颜色。我的目的是按颜色筛选行。

步骤:

1. 创建代码:

function getHex(input) {
  return SpreadsheetApp.getActiveSpreadsheet().getRange(input).getFontColor();
};

在单元格M2中输入函数,例如:

最初的回答:

=getHex("C2:C10")

3. M2:M10范围将返回C2:C10的字体颜色。

这个函数在使用.getBackgrounds()时可以工作(https://www.techjunkie.com/filter-by-color-google-sheets/),但是在使用.getFontColor()时无法工作。请有人帮帮我,谢谢!


5
嗨,伯纳多,你是想仅仅写出单元格的十六进制颜色字符串吗?(比如在这个例子中的M2:M10范围内)。如果你调用getFontColor来获取一个范围内的颜色,它只会返回左上角单元格的颜色,你应该使用getFontColors获取数组中范围内所有单元格的颜色。 - AMolina
你是否已经查看了https://developers.google.com/apps-script/reference/spreadsheet/range,寻找一个返回值数组而不是单个值的方法?还可以参考https://developers.google.com/apps-script/guides/sheets/functions。 - Rubén
嗨,阿尔贝托!它成功了!谢谢你! - Bernardo Giarola
1个回答

1
发布此内容以记录答案。如果您在范围上调用 getFontColor(),它只会返回范围左上角单元格的颜色(这个方法通常用于评估单个单元格),您应该使用getFontColors()来返回数组中范围的所有颜色。就我目前所看到的文档而言,许多 Range 类方法都遵循这种模式,有一个方法可以获取单个值,另一个方法可以获取相同值的数组,例如,getBackground()getBackgrounds() 也是如此,这与范围如何用于单个单元格和单元格聚合有关。下面是文档链接,它应该能帮助您解决其他任何疑问。
文档网址:https://developers.google.com/apps-script/reference/spreadsheet/range#getfontcolors

谢谢,Alberto!明白了。 - Bernardo Giarola
没问题,很乐意帮忙! - AMolina

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接