简体   繁体   English

对于符合条件的每一行,如何将日期值从列 C 复制到列 F?

[英]How can I Copy the date value from Column C to Column F for each row that matches criteria?

Trying to create a Google App Script for Sheets that will do the following:尝试为将执行以下操作的表格创建 Google App 脚本:

Copy Date found in column C to column FC列中的日期复制到F
IF : Date in column C is <= C1 . IFC列中的日期 <= C1
AND : E = "Yes" AND : E = "是"
For all rows in sheet range A6:F对于工作表范围A6:F的所有行

Example sheet,示例表,

/ / A一种 B C C D E F F
1 1个 Mark received if before:如果之前收到标记: 12/15/2021 12/15/2021
2 2个
3 3个
4 4个
5 5个 INVOICE No发票号码 CUS No客户编号 Invoice Date发票日期 JOBamount工作量 PayAtService支付服务 Received date收到的日期
6 6个 1 1个 3 3个 12/10/2021 12/10/2021 $15.00 15.00 美元 Yes是的
7 7 2 2个 1 1个 12/6/2021 12/6/2021 $15.00 15.00 美元 Yes是的
8 8个 3 3个 21 21 12/14/2021 12/14/2021 $45.00 45.00 美元 Yes是的
9 9 4 4个 20 20 12/14/2021 12/14/2021 $15.00 15.00 美元 Yes是的
10 10 5 5个 13 13 12/15/2021 12/15/2021 $12.00 12.00 美元 No
11 11 6 6个 14 14 12/15/2021 12/15/2021 $10.00 10.00 美元 No
12 12 7 7 12 12 12/15/2021 12/15/2021 $12.00 12.00 美元 No
13 13 9 9 9 9 12/15/2021 12/15/2021 $30.00 30.00 美元 No
14 14 10 10 1 1个 12/15/2021 12/15/2021 $15.00 15.00 美元 Yes是的
15 15 11 11 18 18 12/15/2021 12/15/2021 $12.00 12.00 美元 No
16 16 12 12 17 17 12/15/2021 12/15/2021 $25.00 25.00 美元 No
17 17 13 13 15 15 12/15/2021 12/15/2021 $12.00 12.00 美元 Yes是的
18 18 14 14 16 16 12/15/2021 12/15/2021 $20.00 20.00 美元 No
19 19 15 15 19 19 12/15/2021 12/15/2021 $30.00 30.00 美元 Yes是的
20 20 16 16 4 4个 12/16/2021 12/16/2021 $15.00 15.00 美元 No
21 21 17 17 5 5个 12/16/2021 12/16/2021 $7.00 7.00 美元 Yes是的
22 22 18 18 6 6个 12/16/2021 12/16/2021 $5.00 5.00 美元 Yes是的
23 23 19 19 7 7 12/16/2021 12/16/2021 $7.00 7.00 美元 No
24 24 20 20 8 8个 12/16/2021 12/16/2021 $6.00 6.00 美元 Yes是的
25 25 21 21 10 10 12/20/2021 12/20/2021 $15.00 15.00 美元 No
26 26 22 22 23 23 12/20/2021 12/20/2021 $30.00 30.00 美元 Yes是的
27 27 23 23 13 13 12/29/2021 12/29/2021 $12.00 12.00 美元 Yes是的
28 28 24 24 12 12 12/29/2021 12/29/2021 $12.00 12.00 美元 Yes是的
29 29 26 26 9 9 12/29/2021 12/29/2021 $30.00 30.00 美元 Yes是的
30 30 27 27 15 15 12/29/2021 12/29/2021 $12.00 12.00 美元 Yes是的
31 31 28 28 16 16 12/29/2021 12/29/2021 $20.00 20.00 美元 No
32 32 29 29 23 23 12/29/2021 12/29/2021 $30.00 30.00 美元 No
(This seems like it would be simple but haven't quite figured out how) (这看起来很简单,但还没有完全弄清楚如何)

I tried something like this but I think I am limiting my range (want to all rows in sheet to be in range) and it is also simply full of errors...我试过这样的东西,但我想我限制了我的范围(希望工作表中的所有行都在范围内)而且它也充满了错误......

 function ReceivedDate() { var ss = SpreadsheetApp.getActive(); var sh = ss.getSheetByName('sheet1'); var vs = sh.getRange(6, 1, 500, 6).getValues() //getRange(row, column, numRows, numColumns) but this needs to be whole sheet from row 6 down var cutoffDate = new Date(sh.getRange('F2').getValue()); vs.forEach(row => { if (row[5].= 'Yes' && new Date(row[3]),valueOf() <= cutoffDate) vs(row. 6),setValue(row; 3); } }

I do not know if you want a solution in AppScript or just a solution.我不知道您是否想要AppScript中的解决方案或只是一个解决方案。 But for your requirement above, a simple formula as below should work.但是对于您的上述要求,下面的简单公式应该有效。

=IF(AND(DATEVALUE(C6) <= DATEVALUE($C$1), E6 = "Yes"),C6,"")

Try this.尝试这个。

function ReceivedDate() {
   var ss = SpreadsheetApp.getActive();
   var sh = ss.getSheetByName('sheet1');
   var vs = sh.getRange(6, 1, 500, 6).getValues() //getRange(row, column, numRows, numColumns) but this needs to be whole sheet from row 6 down
   var cutoffDate = new Date(sh.getRange('C1').getValue());
   vs.forEach((row,index)=> {
      if (row[4] == 'Yes'  && new Date(row[2]) <= cutoffDate){
            sh.getRange(index+6,6).setValue(row[2]);
        }  
   })
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如果它旁边的列中的值匹配,如何将多行的值总和记录到新行 - How do I log the the sum of values from multiple rows to a new row if the value in the column next to it matches 在 Google 表格中,如何将基于特定列值的行复制到新选项卡中,然后将 append 复选框复制到该行? - In Google Sheets, how can I copy a row based on a specific column value into a new tab, and then append checkboxes to the row? 尝试根据每行第一列中的值将行从一个工作表复制到另一个工作表 - Trying to copy a row from one sheet to another based on the value in the first column of each row 如果特定列中的值是需要的,我如何复制整行? - How do i copy the whole row if the value in a particular column is as required? 如果列值与另一个工作表列值匹配,如何替换 GScript (Google Sheet) 中的一行? - How to replace a row in GScript (Google Sheet) if a column value matches another sheet column value? 如何在 sheet1 的 I 列中找到非空白值,然后复制整行并粘贴到 sheet2 - How to find the non-blank value in column I in sheet1 then copy entire row and paste to sheet2 如何根据第1列中的值从表x复制(然后删除)一行到表y? - How to copy (and then delete) a row from sheet x to sheet y based on value in column 1? 如何通过工作表 openByID 中的索引行和列获取范围? - How can I getRange by index row and column from sheet openByID? 我如何使用谷歌应用程序脚本发送一封电子邮件,其中包含来自其列之一的条件的行中的信息 - how do i send an email with info from a row with criteria from one of its column using google app script 如果“var date = data [0] [0]”返回A列中的值,我如何获得值C列? - If “var date = data[0][0]” returns values from column A how do I get values column C?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM