【问题标题】:Conditional formatting dependant of value from adjacent cell取决于来自相邻单元格的值的条件格式
【发布时间】:2012-05-25 10:05:32
【问题描述】:

我在 Google 电子表格中设置了时间记录表。现在我正在尝试根据电子表格中其他单元格的值来实现单元格的条件格式:

单元格 G2 的 IF 值大于 06:30:00 (hh:mm:ss) 与单元格 D2 中的值小于 00:30:00 (hh:mm:ss) 或单元格 D2 为空白 然后将单元格D2的背景颜色设置为黄色。

单元格 G2 的 IF 值大于 08:45:00 (hh:mm:ss) 与单元格 D2 中的值小于 00:45:00 (hh:mm:ss) 或单元格 D2 为空白 然后将单元格D2的背景颜色设置为黄色。

如果不满足条件,则背景颜色应重置为无。

我了解到使用公式是不可能的。在 Google Apps Script 中有没有办法做到这一点?我不是脚本编写者,但知道如何插入 sn-ps,如果有人愿意向我解释,我可能能够阅读和理解。

在搜索类似用例时,我发现了对 Google Apps 脚本的唯一引用 was this link,这是对其功能的一般性讨论。

【问题讨论】:

  • 据我所知,Google Fusion Tables 无法做到这一点。您不能格式化单元格。您可能希望使用 Google 电子表格来执行此操作。
  • 好的,谢谢。我将所有内容都切换到了 Google 电子表格。我该怎么做呢?

标签: google-apps-script google-sheets gs-conditional-formatting


【解决方案1】:

这应该可以通过为这样的函数创建 onEdit 触发器来实现:

function myOnEdit(e) {
  var nextColumnCell = e.range.offset(0, 1);
  if (e.range.getValue() == 'foo') {
    nextColumnCell.setFontWeight('bold');
  } else {
    nextColumnCell.setFontWeight('normal');
  }
}

更多关于触发器的信息可以在here找到。

【讨论】:

  • Eric:非常感谢您的贡献。我会检查并在我完成后通知你。 Charles:感谢您编辑链接并添加 google-apps-script 标签。
【解决方案2】:

不知何故,我也找不到在 Google 电子表格中直接比较时间的方法。 但我可以从time 转换为number 格式。通过这样做,您将能够比较实体。

1 number 格式等于 00:00:00 time 格式,因为 1 代表 12:00am

0.5 number 格式等于 12:00:00 time 格式,因为 0.5 代表 12:00pm

0.25 number 格式等于 6:00:00 time 格式,因为 0.5 代表早上 6:00

它没有回答主要问题,但我希望它有所帮助。

【讨论】:

    【解决方案3】:

    (现在)可以通过公式来实现。

    选择 ColumnD 并从中清除任何现有的 CF 规则。格式、条件格式...、如果...Custom formula is

    ,则格式化单元格
    =and(row()<>1,or(and(G1>6.5/24,D1<0.5/24),and(G1>8.75/24,D1<0.75/24)))
    

    用黄色填充和完成

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-27
      • 2013-04-17
      • 1970-01-01
      • 2018-06-04
      • 2020-04-13
      • 1970-01-01
      • 1970-01-01
      • 2017-08-13
      相关资源
      最近更新 更多