【问题标题】:Google sheets' IMPORTHTML() fails to keep the original format of the dataGoogle 表格的 IMPORTHTML() 未能保持数据的原始格式
【发布时间】:2023-03-30 04:31:01
【问题描述】:

我想使用 IMPORTHTML() 从http://www.cophieu68.vn/atbottom.php; 的表中导入数据,但 IMPORTHTML() 未能保持数据的原始格式,导致信息误导。 具体来说,我将 =IMPORTHTML("http://www.cophieu68.vn/atbottom.php";"table"; 2) 输入到 Google 表格的 A1 单元格中。 Google 表格成功导入表 2,但错误地将符号 * 添加到我的数据中。因此,SVD 变为 starSVDstar(请注意下面屏幕截图中的单元格 B2)或 9.3 变为 star9.3star(请注意单元格 C2)。 而且; 401,300 变为 401,3(请注意单元格 H2 )。 此外,29.1 被理解为 29/01/2021(请注意我在下面截图中的单元格 K2 上单击鼠标)

这是我要导入的原始表格的屏幕截图:

https://drive.google.com/file/d/1wgJcO4O-ivpsXk0XetXzwdhSs4d_8Cjy/view?usp=sharing

这是导入到我的 Google 表格中的表格的屏幕截图

https://drive.google.com/file/d/1DLipA3o85MTGo2ktumTU_0A45vhuLSA6/view?usp=sharing

谁能告诉我我的公式有什么问题,我该如何解决这个错误? 非常感谢您的帮助。

【问题讨论】:

    标签: function google-apps-script google-sheets google-sheets-formula


    【解决方案1】:

    我建议使用正则表达式,用一个公式解决表格导入:

    =arrayformula(regexreplace(to_text(IMPORTHTML ("http://www.cophieu68.vn/atbottom.php ", "table", 2)),"\*(.*\/?)\*","$1"))
    

    (我添加了函数to_text以避免丢失以千为单位的数字末尾的两个零)

    【讨论】:

      【解决方案2】:

      解释:

      源页面 HTML 由 JavaScript 控制,因此无法更改 =IMPORTHTML 的原始输出。但是,您可以在新工作表上使用此公式从原始表格中删除星号。

      如果您的 IMPORTHTML 在 Sheet1 中,您可以使用:

      =ARRAYFORMULA(SUBSTITUTE(Sheet1!A2:M,"*",""))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-29
        相关资源
        最近更新 更多