首页 > 解决方案 > 如何根据Google表格中的=Today()突出显示包含工作日名称的单元格

问题描述

我有一张在第 1 行中包含工作日名称的工作表。我想在星期五突出显示包含值“Fri”的单元格。我使用了这个答案中的示例:如何在 Google 表格中根据星期几突出显示单元格?

但是,我需要突出显示一行,并且给出的示例是一列。我设法通过将 VLOOKUP 切换到 HLOOKUP 并调整参数来制作一个半工作示例。

=IF(TEXT(TODAY(),"ddd")=IFERROR(HLOOKUP({{"M","Mon"};{"T","Tue"};{"W","Wed"};{"TH","Thu"};{"F","Fri"};{"S","Sat"};{"SU","Sun"}},  B1:H1, 1)),1)

但是,它突出显示了周五的周二至周五!

有人可以帮助我吗?这是一个示例表:https ://docs.google.com/spreadsheets/d/1nhyc9r-A3IFaxfBz-HsvOeVTUFSDD3auHJb33ckg_5o/edit?usp=sharing

标签: google-sheetsconditional-formattingweekday

解决方案


已经提供的表格公式的替代方法是使用 Apps 脚本:

function colorDayOfTheWeek() {
  let ss = SpreadsheetApp.getActiveSheet();
  let date = new Date();
  let today = date.getDay();
  ss.getRange(1, 1, 1, 8).setBackground("white");
  ss.getRange(1, today+1).setBackground("yellow");
}

使用脚本可以更容易管理,并且在您必须完成的任务方面更加通用。以上使用了getDay返回星期几的方法,并根据返回的值对单元格进行相应的着色。

在脚本之前

在脚本之后

参考


推荐阅读