我相信我现在遇到的问题应该在MS Excel中更容易。但是,由于我的公司使用谷歌电子表格,所以我必须找到一种方法。
基本上,我有一个包含日期值的单元格,如“12/19/11”,我有另一个单元格包含类似“DT 30”的值。分配给我的任务是将值30(天)添加到日期,因此结果应为“1/19/2012”。
我在Google电子表格中尝试了一些,我有两个问题。第一个是如何从字符串“DT 30”中提取数字值“30”,第二个问题是,Google Docs中似乎没有内置日期添加功能。
有专家可以提供一些建议吗?
答案 0 :(得分:51)
我喜欢保持简单。如果A1持有日期而B1持有要添加的月数,那么
=date(year(A1),month(A1)+B1,day(A1))
将计算所需的结果。同样的方式可以使用数天或数年
答案 1 :(得分:40)
您只需将数字添加到包含日期的单元格中。
因此,如果A1: 12/3/2012
和A2: =A1+7
则A2会显示12/10/2012
答案 2 :(得分:39)
要从字符串中提取数值,您可以使用这两个函数(假设您在单元格'A1'中有值):
=VALUE(REGEXEXTRACT(A1, "\d+"))
这将为您提供数值。
我在文档中找不到日期添加功能,但您可以将日期转换为内部日期编号,然后添加天数(如果您的值在单元格'A2'中):
=DATEVALUE(A2) + 30
我希望这会有所帮助。
答案 3 :(得分:10)
您可以使用DATE(年;月;日)在日期进行操作:
实例:
=DATE(2013;3;8 + 30) give the result... 7 april 2013 !
=DATE(2013;3 + 15; 8) give the result... 8 june 2014 !
这非常令人惊讶,但它确实有效......
答案 4 :(得分:8)
直接使用EDATE(Start_date, months)
执行ADDDate的工作。
例如:
考虑A1 = 20/08/2012
和A2 = 3
=edate(A1; A2)
计算20/11/2012
我的示例中的 PS:dd/mm/yyyy
格式
答案 5 :(得分:4)
与@ kidbrax 的回答一样,您可以使用+
添加天数。为了实现这一点,我必须明确地将我的单元格数据声明为日期:
A1: =DATE(2014, 03, 28)
A2: =A1+1
A2的价值现在是2014年3月29日
答案 6 :(得分:0)
使用与Burnash几乎相同的方法,您可以使用最终结果......
=regexextract(A1,"[0-9]+")+A2
其中A1包含带有文本和数字的字符串 和A2包含感兴趣的日期
答案 7 :(得分:0)
简单添加和转换回来有什么问题?
如果A1是日期字段,A2则保留要添加的天数: = TO_DATE((DATEVALUE(A1)+ A2)
答案 8 :(得分:0)
=TO_DATE(TO_PURE_NUMBER(Insert Date cell, i.e. AM4)
+ [添加数字的天数,例如3天])
在实践中看起来:
=TO_DATE(TO_PURE_NUMBER(AM4)+3)
基本上,您将日期转换为纯数字并再次转换为日期。
答案 9 :(得分:0)
在新的电子表格(美国语言环境)中,A1中为12/19/11
,B1中为DT 30
,然后:
=A1+right(B1,2)
说C1返回1/18/12
。
作为字符串函数,RIGHT返回Text,但是添加时可以将其强制转换为数字。在日期中加一个数字,将统一视为一天。在(非常宽的)范围内,会自动调整月份甚至几年。