Google Spreadsheets Importxml输出到一个单元格

时间:2015-03-20 07:08:14

标签: html xpath google-sheets

我使用google电子表格importxml功能从社区中抓取用户。

细胞= A1

http://inbound.org/members/all/top?&per_page=48

细胞= B1

=IMPORTXML(A1,"//div[@class='title name']//a/@href")

当我使用b1公式来刮擦用户时,输出跨越B列中的48个单元格。有没有办法可以自定义输出?我在单元格A1上有很多入站页面,我想通过拉下B1上的下拉标签来应用公式,将公式应用于A1上的每个网址,但我不能这样做,因为B列已经是充满了第一次刮伤。

有没有办法将所有用户名划分为只用逗号分隔的B1?

我试过A:A看看它是否会一次性从A栏中删除所有网址,但我想这不起作用。

=IMPORTXML(A:A,"//div[@class='title name']//a/@href")

2 个答案:

答案 0 :(得分:2)

为什么要编写脚本函数? Google Spreadsheets中有JOIN版本

=JOIN(CHAR(10), IMPORTXML(A1,"//div[@class='title name']//a/@href"))

CHAR(10)用于新行字符

答案 1 :(得分:0)

没有办法让XPath表达式返回以逗号分隔的值,因为Google表格只支持XPath 1.0(甚至支持也非常错误)。

但是你可以write your own function将一系列单元格作为输入并返回以逗号分隔的字符串列表:

function rangeToStringSep(range, sep) {
  return range.join(sep);
}

这取自here。然后,在您的Google表格中,使用

=rangeToStringSep(B1:B48, ", ")

并且所有字符串都将显示在一个单元格中:

  

enter image description here