谷歌表格中使用IMPORTXML时如何将换行分隔的日期纵向排列?
解决Google Sheets IMPORTXML抓取分隔日期到同一列的问题
方案1:使用精准定位文本节点的XPath
原公式选中整个<div id="scadenza">后,Google Sheets会将<br>分隔的内容解析为横向单元格。修改XPath直接提取div下的独立文本节点,即可让结果自动排列在同一列的不同行:
=IMPORTXML("https://www.rendimentibtp.it/quotazione-btp/IT0005439275";"//*[@id='scadenza']/text()[normalize-space()]")
//*[@id='scadenza']/text():定位到目标div下的所有直接文本节点(也就是被<br>分开的两个日期)[normalize-space()]:过滤掉空文本节点(比如换行、空格组成的无效内容),只保留有效日期
方案2:文本拼接+转置(备用方案)
如果网页结构变动导致方案1失效,可通过拼接+拆分+转置的组合函数实现需求:
=TRANSPOSE(SPLIT(TEXTJOIN("|";TRUE;IMPORTXML("https://www.rendimentibtp.it/quotazione-btp/IT0005439275";"(//*[@id='scadenza'])"));"|"))
TEXTJOIN("|";TRUE;...):将IMPORTXML返回的横向内容用竖线(可替换为其他无冲突字符)拼接成单字符串,忽略空单元格SPLIT(...):按拼接符拆分字符串为横向单元格TRANSPOSE(...):将横向结果转置为纵向,排列到同一列的不同行
内容的提问来源于stack exchange,提问作者Herzer Skerzer
相关产品推荐
相关产品推荐

