如何在Google电子表格中使用日期添加功能?

Kev*_*vin 53 formula google-sheets

我相信我现在遇到的问题应该在MS Excel中更容易.但是,由于我的公司使用谷歌电子表格,所以我必须找到一种方法.

基本上,我有一个包含日期值的单元格,如"12/19/11",我有另一个单元格包含像"DT 30"这样的值.分配给我的任务是将值30(天)添加到日期,因此结果应为"1/19/2012".

我在Google电子表格中做了一些尝试,我有两个问题.第一个是如何从字符串"DT 30"中提取数字值"30",第二个问题是,Google Docs中似乎没有内置日期添加功能.

有专家可以提供一些建议吗?

小智 51

我喜欢保持简单.如果A1持有日期而B1持有要添加的月数,那么

=date(year(A1),month(A1)+B1,day(A1))
Run Code Online (Sandbox Code Playgroud)

会计算出所需的结果.同样的方式可以使用数天或数年

  • 它有效,但分号必须在那里而不是逗号 (5认同)
  • 聪明的方法.这是我见过的唯一一个允许你添加月份的解决方案 (3认同)
  • 这不是OP要问的。OP 显然需要 30 天,而不是 1 个月,可以是 28 到 31 天。那么,这个解决方案是不可靠的,在 12 月份的一个月内都不起作用。要添加迄今为止的 X 个月,请使用“=EDATE(cell;months)”,例如“=EDATE(A1;2)”。 (2认同)

kid*_*rax 42

您只需将数字添加到包含日期的单元格即可.

所以如果A1: 12/3/2012A2: =A1+7那么A将显示2012年12月10日


Bur*_*ash 40

  1. 要从字符串中提取数值,您可以使用这两个函数(假设您在单元格'A1'中有值):

    =VALUE(REGEXEXTRACT(A1, "\d+"))

    这将获得一个数值.

  2. 我在文档中找不到日期添加功能,但您可以将日期转换为内部日期编号,然后添加天数(如果您的值在单元格'A2'中):

    =DATEVALUE(A2) + 30

我希望这将有所帮助.


cou*_*ric 10

您可以使用DATE(年;月;日)在日期进行操作:

例子:

=DATE(2013;3;8 + 30) give the result...  7 april 2013 !
=DATE(2013;3 + 15; 8) give the result... 8 june 2014 !
Run Code Online (Sandbox Code Playgroud)

这非常令人惊讶,但它有效......

  • 为什么说这是一个不可靠的解决方案?https://support.google.com/docs/answer/3092969 上的说明:DATE 将默默地重新计算超出有效月份或日期范围的数字日期。例如,DATE(1969,13,1) 指定非法月份 13,将创建日期 1/1/1970。同样,DATE(1969,1,32) 指定不存在的 1 月 32 日,将创建日期 2/1/1969。 (2认同)

Ade*_*uno 8

直接使用EDATE(Start_date, months)ADDDate的工作.例:

考虑A1 = 20/08/2012A2 = 3

=edate(A1; A2)
Run Code Online (Sandbox Code Playgroud)

计算20/11/2012

PS:dd/mm/yyyy我的例子中的格式

  • edate增加了几个月,而不是几天,https://support.google.com/drive/bin/static.py?hl = zh-CN&topic = 25273&page = table.cs&tab = 1240285 (2认同)

Rik*_*Rak 5

@kidbrax的回答一样,您可以使用+来添加天数。为了让它工作,我必须明确地将我的单元格数据声明为日期:

A1: =DATE(2014, 03, 28)

A2: =A1+1
Run Code Online (Sandbox Code Playgroud)

A2 的值现在是 2014 年 3 月 29 日