【发布时间】:2019-05-12 10:26:27
【问题描述】:
在 Googlesheet 中,我想根据日期选择某些行。 我知道 getRange() 函数,但不知道如何向该函数添加条件。 例如,如果我在电子表格中有 10 行,其中:
- 两行有一个日期列,日期为 01/01/2019。
- 三行的日期列的日期为 01/07/2019。
- 剩余的五行的日期列的日期为 2019 年 1 月 20 日。
我试图找到一种方法来编写 google sheet 脚本来提取日期列在 2018 年 12 月 31 日到 2019 年 1 月 9 日之间的所有行,我应该在这个特定的地方得到五行案例。
我已经编写了以下代码来创建一个新工作表,但不知道如何选择有条件的范围:
var spreadsheet = SpreadsheetApp.getActive();
var sheets = spreadsheet.getSheets();
var mainSheet = sheets[0];
var fileName = mainSheet.getRange("B2:C2").getDisplayValue();
var date = Utilities.formatDate(new Date(), "GMT+5", "yyyy-MM-dd")
var newFileName = "WS_"+date;
var dataSheetFileList = DriveApp.getFilesByName(fileName);
var dataSheetFile = dataSheetFileList.next();
dataSheetFile.makeCopy(newFileName)
var newFileUrl = DriveApp.getFilesByName(newFileName).next().getUrl();
var newFile = DriveApp.getFilesByName(newFileName);
newFile.next().setSharing(DriveApp.Access.DOMAIN_WITH_LINK, DriveApp.Permission.EDIT);
var dataSheetFileList = DriveApp.getFilesByName(newFileName);
if(dataSheetFileList.hasNext()){
var dataSheetFile = dataSheetFileList.next();
var dataSheet = SpreadsheetApp.open(dataSheetFile);
var dataSheetList = dataSheet.getSheets();
var dataSheetCcb = dataSheetList[0];
**<Code to select the rows based on date>**
}
【问题讨论】:
-
您的消息严重违反了社区规则。想要并不意味着得到stackoverflow.com/help/on-topic 展示你的努力 - 社区将展示它的能力。
-
@oshliaer 我到目前为止编写的代码对我提出的问题没有任何用处,因此没有提供任何代码。抱歉违反了规则。我的错。我正在添加我拥有的代码写到现在。
-
在 Google 表格中,“选择”一词具有特殊含义。使用 Google 表格 UI,用户通过单击行标题选择一行,然后该行被高亮显示。这就是你的意思,你是不是要突出显示满足条件的行以仅从数据范围中获取行的值?
-
@Rubén 。抱歉再次使用错误的词。我不是指您在评论中提到的意思。我的目的是从详细信息谷歌表中自动准备新的摘要谷歌表。例如,如果我们拿我附上的简单样本数据,它有不同考试日期的学生名单。从这些数据中,我试图创建一个在不同日期考试的学生人数的摘要。我将用我的预期输出更新问题数据。
标签: javascript google-apps-script google-sheets conditional