我在 Google 表格中使用来自 Form 的信息设置了一项 Autocrat 作业,之后我会在同一张答题纸上处理该作业。处理过程的一部分包括 VLOOKUP 搜索,该搜索会在另一张表格中查找日期。
问题在于,由于新的表单条目是作为一个全新的行输入的,使用默认设置,日期会以数字形式显示,而不是我在列中设置的格式(一种情况下为 DD/MM/YYYY,另一种情况下为长日期(即 2025 年 1 月 13 日星期一)。
是否有一个公式可以在整列中设置这个(例如,使用带有数组公式的公式?)。
提前感谢您的任何意见。
我尝试在单独的工作表中处理数据,然后使用 importsheet 回调该数据,但对于 Autocrat 来说处理速度太慢,并且该作业生成文档的速度比工作表处理完成的速度更快,导致文档不完整且缺少标签。
表单回复总是插入到无法预先格式化的新创建的行中。
通常的解决方法是插入>工作表并使用单元格中的公式
A1
复制所有答复,如下所示:新的工作表可以正常格式化,并且随着进一步的表单响应到来,格式将会保持不变。
问题表明表单响应将通过AutoCrat进行进一步处理。如果您在“提交表单响应时”触发器上运行该附加组件,因此必须直接从表单响应表中检索数据到 AutoCrat,则可能需要添加一个辅助列,其中包含所需格式的文本字符串形式的日期。将此公式放在表单响应表中自由列的第 1 行中:
问题还提到了 的使用
vlookup()
。正如Harun24hr指出的那样,该函数使用日期序列而不是格式化的日期进行操作,因此现有的数字日期应该可以用作搜索键,前提是查找表还包含数字日期而不是看起来像日期的文本字符串。您可以通过使用 测试值来分辨差异isnumber()
。请参阅在 Google 表格中使用日期和时间值。
更改日期格式
备查
我理解您提供示例表的限制。但是 Stackoverflow 并不要求这样做,您可以共享一个纯文本表来获取示例数据,它可以是完美复制实际数据的虚拟数据。
建议的解决方案
您可以使用
=To_Date
。To_Date 函数是 Google Sheet 公式,您可以在 Arrayformula 中使用它并处理每个单元格值以获取您期望创建的格式
DD/MM/YYYY
。还有其他方法可以更改日期的格式。我建议不要更改值的属性,与其他方法不同,因为在 Staging Ground 上,OP 不愿意共享我可以看到整体工作流程的 Sheet。此格式的目标是实现您共享的首选格式,而不会提供任何限制,以防您需要处理结果列。示例输出
参考:
迄今为止