You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Google Forms响应表日期计算返回整数而非格式化日期问题

解决方案

你遇到的是Google表单提交新行时,自动继承默认格式覆盖列设置的问题,按优先级可以选以下方法解决:

方法1:整列固定格式(优先推荐)

  • 点击due date列顶部的列标,选中整列
  • 点击顶部菜单栏「格式」→「数字」,选择你需要的日期格式即可,也可以选「自定义日期和时间」设置dd/mm/yyyy这类自定义规则
  • 只要选中整列设置,后续表单新增的行都会自动继承这个格式,不会再返回日期序列号

方法2:公式内置格式化

如果第一种方法还是偶发失效,可以直接修改ARRAYFORMULA公式,用TEXT函数强制输出指定格式的日期:

ARRAYFORMULA(if(D2:D<>"",TEXT(TO_DATE(D2:D+10),"dd/mm/yyyy"),""))

注意:该方法输出的是文本格式的日期,如果后续需要用due date字段做日期计算、筛选等操作,不推荐使用该方法。

方法3:触发器强制格式(极端场景使用)

如果上述两种方法都不生效,可以通过设置表单提交触发器,每次新提交时自动给新增行的due date字段设置格式:

  1. 点击顶部菜单栏「扩展程序」→「Apps 脚本」
  2. 清空默认代码,粘贴以下代码:
function formatNewSubmission() {
  // 引号内替换为你的表单响应工作表名称
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('表单响应 1');
  // 替换为due date列的序号,A列对应1、B列对应2,以此类推
  const dueDateCol = 5;
  const lastRow = sheet.getLastRow();
  // 引号内替换为你需要的日期格式
  sheet.getRange(lastRow, dueDateCol).setNumberFormat('dd/mm/yyyy');
}
  1. 左侧菜单栏选择「触发器」→「添加触发器」,事件源选择「电子表格」,事件类型选择「表单提交时」,完成授权保存即可。

内容的提问来源于stack exchange,提问作者e902d894cc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 09:15:02