【问题标题】:Google Sheet importXml by default converts time value in decimal valueGoogle Sheet importXml 默认将时间值转换为十进制值
【发布时间】:2016-06-10 11:44:24
【问题描述】:

我正在尝试通过 importXml google sheet 函数从 html 表中获取时间值。当我将 单元格格式设置为“纯文本” 时,对于 html 表中的值“06:50”,我会在表单元格。我正在使用 xpath "//tr[1]/td[1]"。

如何在纯文本中获得与 html 表格中相同的值? Google“自动”格式在“时间”格式中显示正确的值但我只想要纯文本,因为我在脚本中使用它。

【问题讨论】:

  • 你可以试试这个功能=IMPORTXML("http://www.calculatehours.com/Military_Time_Conversion_Table_Sheet.html","//div[1]/div[2]/table[1]/tr[2]/td[1]")只需复制并粘贴到谷歌表格单元格并将格式设置为“纯文本”。

标签: xpath google-sheets


【解决方案1】:

像“1:00”这样的字符串会自动转换为日期时间对象。在内部,日期和时间由刻度 1 = 一天的浮点数表示,这就是您通过直接施加纯文本格式得到的结果。要创建人类可读的字符串,请使用text 公式:

=text(importxml(...), "HH:mm")

还有其他变体,例如“hh:mm”或“h:mm”:请参阅上面链接的文档。

【讨论】:

  • 在 html 的某些单元格中,我有逗号分隔的值也带有星号(即 12:20、13:50*),并且在这种格式中“纯文本”可以正常工作并给我一个字符串值但是当值是单个(只有一个值)时,就会出现问题。
  • 可以,因为 "12:20, 13:50" 已经是字符串了;它没有时间的意义。但是“12:20”是一种被表格自动解释为时间的字符串,因此将其转换回字符串需要工作。同样,这与 imporxml 无关;在单元格中手动输入此文本,您将获得相同的行为。
  • 当然,在单元格表中手动输入此文本会将其解释为时间,但是当您将其设置为“纯文本”格式时,值保持不变。对于importXml 不是这样,值显示为十进制值。
  • 好的,那里的行为有点微妙,我编辑了第一句话。无论如何,这是一个切题的评论。
猜你喜欢
  • 1970-01-01
  • 2023-03-22
  • 2014-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-15
  • 2016-05-09
相关资源
最近更新 更多