如何根据 Google 工作表中的 =Today() 在一行中突出显示包含工作日名称的单元格

How to highlight a cell containing the name of a weekday in a row based on =Today() in Google Sheets

我有一个 sheet,第 1 行包含工作日的名称。我想在星期五突出显示包含值“Fri”的单元格。我使用了这个答案中的示例:

但是,我需要突出显示一行,而给出的示例是一列。我设法通过将 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)

但是,它会在星期五突出显示星期二到星期五!

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

使用:

=TEXT(TODAY(),"ddd")=B1

已提供的表格公式的替代方法是使用 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 方法,该方法 returns 星期几并根据返回值,相应地为单元格着色。

之前

之后

参考