Google Sheets中IMPORTXML导入价格丢失小数点后前导零的技术问询
解决Google Sheets导入价格丢失小数点前导零的问题
问题原因
IMPORTXML会自动将识别为数字的内容转换为数值格式,导致小数点后的前导零(如09)被简化为9,后续JOIN合并时就会出现1.9而非1.09的错误。单纯设置单元格文本格式无效,因为转换在IMPORTXML执行阶段就已完成。
解决方案
需要强制将IMPORTXML返回的每个部分保留为文本格式后再合并,以下是可行的修改方案:
方案一:强制转文本后合并
使用ARRAYFORMULA+TO_TEXT组合,确保每个价格分段以文本形式保留前导零:
=JOIN("", ARRAYFORMULA(TO_TEXT(IMPORTXML("https://www.ah.nl/producten/product/wi111767/ah-rucola","//div[@class='price-amount_root__Sa88q product-card-hero-price_now__zHsgu']/*"))))
TO_TEXT:把IMPORTXML返回的每个元素强制转为文本,避免前导零被自动移除ARRAYFORMULA:让TO_TEXT作用于IMPORTXML返回的整个数组JOIN:将转换后的文本片段合并为完整价格
方案二:提取完整文本去空格
如果目标元素的文本内容本身包含完整价格(含前导零),可以直接提取后清理多余空格:
=REGEXREPLACE(IMPORTXML("https://www.ah.nl/producten/product/wi111767/ah-rucola","//div[@class='price-amount_root__Sa88q product-card-hero-price_now__zHsgu']"), "\s+", "")
内容的提问来源于stack exchange,提问作者Max
相关产品推荐
相关产品推荐

