我在Google云端硬盘中有一个电子表格,其中一栏表示输入日期。是否有一个按钮可以做到这一点?我知道函数=NOW()=TODAY(),但它们的描述为“文档重新计算时值会更新”。但是,几分钟后,我重新打开了文档,但文档的打开时间仍然相同。为什么会这样?

当我开始在新行中键入日期时,日期栏会自动填充。

#1 楼

我能够重现您的发现,但是,打开电子表格不会导致重新计算。

按Ctrl + R可以重新计算整个工作表。有关此方法的一个问题:它将所有NOW()公式的值更改为当前日期/时间。
因此,您可能需要考虑按Ctrl +;在创建日期单元格中,然后手动添加日期。

参考:重新计算图纸

评论


因此Ctrl + R和Ctrl +;之间的区别;是+ R更新所有的NOW()和+;才不是?

– Celeletas
13年7月24日在19:21

Ctrl + R为您提供了解决问题的方法,但它可能同时创建一个。这就是为什么我添加了Ctrl +;因为这会“实际”添加日期。

–雅各布·扬·图恩斯特拉(Jacob Jan Tuinstra)
13年7月24日在19:30



#2 楼



ctrl +;插入当前日期

ctrl + shift +; (ctrl + :)插入当前时间

ctrl + alt + shift +; (ctrl + alt + :)插入当前日期和时间

在Mac OS上使用⌘代替ctrl

,但是在Google Sheets移动应用中不起作用。似乎移动应用没有类似功能。当对电子表格进行任何编辑时,=now()将更新为当前日期和时间,因此不适合注册时间。它甚至没有“仅粘贴值”。

评论


这在国际键盘上不起作用。

–鲁本♦
18年4月20日在16:07

@Rubén现在选中了,它可以在俄语键盘布局中使用(通常,键盘提示不能在该布局中使用,因此在键入每个西里尔字符后,我有足够的记忆力切换到en-US布局,但是在Google Docs中可以使用)。 Chrome 66.0.3359.106,Mac OS 10.13.4。

–科伦
18年4月20日在20:25

@Rubén我知道已经很晚了,但是如果您在MacOS上用ñ代替分号,而在Windows上则将反斜杠`换成P右边的命令,那么在我的西班牙语键盘中,这些命令就会起作用。因此插入日期和时间将是Ctrl + Alt + Shift +`(在MacOS上为Cmd + Alt + Shift +ñ)

– fixmycode
19-2-26在19:56



另外,您不能(使用光标)编辑选定的单元格,而只需突出显示该单元格(没有光标,只有边框)即可使用这些命令。

–约翰
19年9月1日,下午3:56

alt + shift为我更改了键盘语言,因此它不起作用。

– yukashima huksay
20 Mar 18 '20 at 17:59

#3 楼

我认为问题是如何将今天的日期保存到电子表格单元格中,以便随着时间的推移而保持不变。这随着日期的改变而改变。

当我需要今天的日期时,我将该单元格复制并粘贴special> Paste值,仅将其粘贴到所需的单元格中。

#4 楼

要插入静态DateTime值,请使用宏:

在工作表工具->脚本编辑器中。
粘贴此代码:

function currentStaticDate() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getCurrentCell().setValue(new Date());
};


保存并返回到工作表。

使用工具->宏->导入导入脚本。

通过工具->宏->管理宏添加快捷方式。

评论


1.困惑如何将单元格的值设置为“ new Date()”不会返回错误。那不是整个对象。在任何情况下,它的工作谢谢。 2.有趣的是,不知道脚本可以很容易地在宏中更改。

–杰米
20 Aug 25 '16:50



#5 楼

注意:由于GoogleClock()已由NOW()函数代替,因此此答案不再起作用。

要考虑的另一个选项是=GoogleClock()。此功能与=NOW()有所不同,它的粒度为一分钟(而不是一秒钟),但是可以保证每分钟更新一次,并且在打开/刷新电子表格时正确(到最近的整分钟)。

如果您使用:

=NOW()+GoogleClock()*0

您将拥有一秒钟的粒度,它将随着每次编辑而更新,并且不少于打开电子表格时,请过一分钟。但是无论编辑如何,它也会每分钟更新一次,这可能是不希望的。

评论


GoogleClock不再可用。

–鲁本♦
19-2-26在21:54

#6 楼

除了@RasAlhague的出色答案,我还添加了一个菜单来插入日期,方法是添加以下功能:

function onOpen(){
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var menuEntries = []
menuEntries.push({name: "Insert current static date", functionName: "currentStaticDate"})
spreadsheet.addMenu("Insert current static date", menuEntries);