javascript - 如果满足要求,使用允许我在数据中加粗特定单元格的功能
问题描述
我目前正在尝试弄清楚如何在提供给我的图表中将 4 个数字加粗。我需要将两个最接近的数字设为 5(5.05 和 4.96)粗体,但它们需要彼此相邻,所以我相信我需要创建一个 UI 代码来沿着每一行搜索这一点,只要它通过 5.05 并达到 4.96,这两个值都需要变为粗体。
然后我需要创建另一位编码,然后在与前两个值 5.05 和 4.96 相同的行上找到最高值和最低值。
在我下面的编码中,这是我尝试启动它的可怕尝试,但它显然不起作用,而且它不允许我使用令人讨厌的 setBold()。如果有人可以帮助我,那就太棒了。我在下面留下了一个指向我的电子表格的链接,所以如果您需要更好地了解我想要实现的目标,您可以查看它。如果您打开它,它会给您一条消息以激活脚本,如果您单击否,那么您仍然可以通过单击菜单栏中的应用脚本来激活它。https://docs.google.com/spreadsheets/d/15MeTJLX2hmyJb6qN-9TJn7_2ik9mKZ8bCnv0CEyXiYI/edit?usp=sharing
function searchOutput() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var dataSet = sheet.getRange("C3:W13").getValues();
if (dataSet > 5){ sheet.getActiveCell().setFontColor("red").activate();}
}
解决方案
你需要使用setFontWeight("bold")
. 是一种setBold
方法Text class
DocumentApp
样本:
function setBold() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getRange("C3:W13").getValues();
data.forEach(function (row, i){
row.forEach(function (cell, j){
if(cell >= 5 && row[j + 1] < 5){
sheet.getRange(i + 3, j + 3, 1, 2).setFontWeight("bold");
sheet.getRange(i + 3, j + 3, 1, 2).setBackground("red");
}
});
});
}
输出:
笔记
- 条件是如果当前单元格大于或等于 5,而右相邻单元格小于 5,则使其变为粗体并具有红色背景。(如果不需要,请删除红色背景线,添加它只是为了清楚起见)
- 如果有多个满足条件的对,上面的代码可以将多个对设置为粗体(它不会在 1 对之后结束)。尽管您可以在找到第一对后通过添加另一个条件使其更快结束来使其停止。
资源:
推荐阅读
- ruby-on-rails - 在 Rails 6 中,如何使用路由参数作为控制器方法名称?
- javascript - 节点 SQLite3 - 在特定表上运行插入时崩溃
- android - 应用程序中的某些请求未被查尔斯代理解密
- javascript - 您如何在外部 Javascript 中引用 html 元素?
- laravel-5.8 - 像json一样保存时如何返回等级表的名称?
- python - 如何使用 Numpy 在 Python 中创建 3D 数组?
- android - 使 recyclerview 项目占用屏幕宽度并将其定位在点击
- python - 使用mysql连接器python将值插入数据库,网络抓取
- c# - C# - 我可以在运行时设置泛型参数的类型来整理以下代码吗?
- html - 当我在锚元素中使用 #elemend_id 作为 href 时,有没有办法将注意力集中在目标元素上?