首页 > 解决方案 > 如何使用 Google App Script 从一系列日期单元格中识别一周中的某些天?

问题描述

我有几列数据,每列都有一个特定的日期。我想确定一周中的特定日子,以便我可以将这些数据分成两个表,每个表对应一周中的特定日子。我需要将其作为宏的一部分来执行。

感谢您的帮助和建议。

标签: google-apps-scriptgoogle-sheetsgoogle-sheets-macros

解决方案


您需要调用getDay()Data 对象的方法。MDN在这里提供帮助:

getDay()方法根据本地时间返回指定日期的星期几,其中 0 表示星期日。

例如自定义公式

/**
 *
 * @customformula
 */
function CUSTOMFORMULA(data) {
  if (Array.isArray(data))
    return data.map(function(row) {
      return row.map(function(cell) {
        return getDayOrNot_(cell);
      });
    });
  return getDayOrNot_(data);
}
/**
 *
 * @param {Date} date
 */
function getDayOrNot_(date) {
  return date && date.getTime ? date.getDay() : date;
}

以任何方式使用脚本,您都可以将下一个代码var weekday = date && date.getTime ? date.getDay() : date;用作基本代码。

在此处输入图像描述

WEEKNUM谷歌表格公式也可以正常工作

=ARRAYFORMULA(WEEKDAY(A2:A20))

在此处输入图像描述


推荐阅读