【问题标题】:Conditional formating based on adjacent cell using script使用脚本基于相邻单元格的条件格式
【发布时间】:2016-04-23 15:14:54
【问题描述】:

我有一个看起来像 (但更大)的电子表格:

学生姓名和房屋分配都是从其他表格中提取的。

我正在寻找一个谷歌脚本,它可以根据学生分配到的房子有条件地格式化学生姓名。房屋分配将始终列在名称右侧的单元格中。

我意识到这可以通过条件格式来完成(例如:自定义公式 =B3:B4="6-Blue"),但这成为一个艰巨的过程,因为我必须单独进入每个垂直范围才能进行更改如果房子名称改变。使用 google 脚本,我可以找到并替换房子名称的所有实例。

Eric Koleda 的回答可能有效,但我不确定如何引用范围并添加多个值进行搜索。

【问题讨论】:

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


    【解决方案1】:

    您仍然可以使用条件格式来做到这一点!

    您可以在每列的基础上设置条件格式,您不必更改格式,只需更改 house 列中的颜色名称即可。

    • 条件格式公式:=ISNUMBER(FIND("Red", $C4))
    • 条件格式范围:B4:C

    这将尝试在Column C 中从C4 开始的所有单元格中查找文本Red。如果在单元格中找到RedFIND() 将返回Red 的索引,如果它没有找到Red,则返回错误。您可以使用ISNUMBER() 进行检查,如果该值是否为数字,则返回 true 或 false。

    这将为范围内该行上的相邻列着色。 IE。 B4:C 的范围将为CB 列中的单元格着色,B4:B 的范围只会使B 列中的单元格着色。

    您只需为每种颜色、每组列设置一个条件格式。之后,只需更改房屋下方的颜色即可更改格式。

    这是我为您制作的示例表:Example Google Sheet

    带有格式的工作表图片:

    【讨论】:

    • 感谢 Douglas,最终文档以 12 列 X 3 个年级结束,因此只要房子名称在年级之间重复,您的方法肯定会有效率回报。脚本还有一个额外的好处,就是可以轻松地将条件格式从一张纸转移到另一张纸上。任何想法如何用脚本完成条件格式化?
    • 您可以使用脚本根据单元格的值调整单元格的背景颜色,是的。但是,您需要让脚本循环遍历每一列数据,使用正则表达式匹配您想要的颜色。对于格式化,我通常不鼓励使用脚本,因为条件格式几乎总是可以解决问题。我倾向于为数据操作保留脚本。如果您真的想让自己成为一个基于脚本的解决方案,请查看此文档以获取 setBackgroundColor developers.google.com/apps-script/reference/spreadsheet/…
    • 房屋名称不需要重复。它只是在房屋名称中查找颜色并将其设置为该颜色。您应该能够跨工作表复制/粘贴条件格式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-27
    • 2020-04-13
    • 2013-04-17
    • 1970-01-01
    • 2017-08-13
    • 2018-06-04
    相关资源
    最近更新 更多