我使用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")
答案 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, ", ")
并且所有字符串都将显示在一个单元格中: