2017-09-01 76 views
0

概述:自动递增日期,如果日期已过

我不是一个程序员,但我设法弄到一些严重的编码成Gsheets跟踪我的团队项目,所以我们有多重变量下拉菜单,并与谷歌日历集成以跟踪项目开发等等。

为什么我在计算器:

我有点缺乏足够的知识,开始从划痕的代码,我通常是通过互联网和线索,他们在论坛上找到的代码零件在一起,它通常作品出奇的好,但这次我找不到多少消息。

我需要:

我有5个细胞,我们可以按照以下的说,

日期开始 - 结束日期 - 日期代码* - 号** - ***优先

*脚本中加入日期范围gcalendar

** & ***数量是是基于写在优先级单元的字数组,例如:如果优先级写入每周他们 该数字colunm将显示在左边的单元格和他们 去。 (月= 30和blablabla ...)


所以我想知道,如果有人能够给出一个手一个脚本,将工作(至少在我的头上)如下:

如果我将优先级设置为每周,它将在数字colunm和它们上显示7,每当“日期结束”已经通过时,它将自动将7天添加到“日期开始”和“日期结束”再次。

这样我就可以将项目保留在一个循环中,我将能够持续跟踪它们。

预先感谢提供任何见解,


PS:我已经看到了这个在SQL中的一些职位,但我不知道还就如何利用这一已提交的有优势的建议。

编辑: Spreadsheet picture EDIT2: Spreadsheet with a increment colunm

+2

取代冗长的口头描述,请向我们展示示例Excel数据集,描述与此数据相关的业务逻辑,包括您的代码并突出显示问题。 –

+0

@AlexBell现在好了吗? – DolfGalagham

回答

0

相关的数据集和说明,你可能不需要任何VBA的增量可以通过添加+1至基准指向先前的细胞来实现。例如,假设单元格A1被格式化为日期,请在单元格B1:=A1+1中输入,然后在单元格C1:=B1+1等中输入。结果应如下所示

A   B   C  
9/1/2017 9/2/2017 9/3/2017 

它可以用简单的逻辑允许做显示只有在先前的小区不为空,如增加的值被进一步扩展:=IF(A1,A1+1,"")

在你的情况,它可能是细胞F1含有=IF(E1,E1+1,"")。如果Date的基础值只是一个Integer值(Time表示为小数部分),那么可以应用算术运算。

更通用的解决方案将基于Excel的DATE()工作表式如以下所示样品(添加1个月到单元格A1输入的日期。):

=DATE(YEAR(A1), MONTH(A1)+1, DAY(A1)) 

为了实现附加的逻辑,您可以考虑使用Excel工作表IF()声明例如像B1单元格中包含:

=A1+IF(C1="week",7,1) 

A   B   C 
9/1/2017 9/8/2017 week 

因此基于该IF()条件它将增加或者7天如果C1包含“周”或1天的词 除此以外。它可以进一步扩展嵌套IF()

希望这会有所帮助。

+0

亚历克斯,感谢您的洞察力,但是,这是否会根据优先单元格上的更改生成一个循环? 此外,它会在“结束”日期过后更新吗? 想法是自动化日期变化以减少错误,因为如今我的团队必须手动更改开始日期和结束日期,现在我唯一能做的就是在日期较早的时候更改单元格颜色比今天。 – DolfGalagham

+0

你提出的这个概念我记得把一个单词赋值给一个单词,但是我发现它不会产生一个循环。 所以每周会是+7,每月+30,但最后它不会更新开始/结束日期。 – DolfGalagham

+0

不客气。我不太了解“循环”问题:如果更改参考单元格(E1)中的值,更改将在单元格F1中自动反映(自动增量)。问候, –