2017-09-01 36 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中自動反映(自動增量)。問候, –