在Excel中合并两个公式
这个公式给了我一个作者的名字,但是顺序是'姓氏名'
=IMPORTXML("http://www.libraccio.it/libro/"& L2 & "/ricerca.html","//a[@id='autore']")
这一个切换命令,所以它变成了“名姓”
=RIGHT(L2, LEN(L2)- FIND(" ",L2))&" "& LEFT(L2, FIND(" ",L2)-1)
但是这是一个两步的过程。 我怎样才能把它们合并成一个公式?
=importXML("http://www.libraccio.it/libro/"& L2 & "/ricerca.html","//a[@id='autore']") and =RIGHT(L2, LEN(L2)- FIND(" ",L2))&" "& LEFT(L2, FIND(" ",L2)-1)
是不正确的。
用第一个公式replace第二个公式中的每个L2实例:
=RIGHT(IMPORTXML("http://www.libraccio.it/libro/"& L2 & "/ricerca.html","//a[@id='autore']"), LEN(L2)- FIND(" ",IMPORTXML("http://www.libraccio.it/libro/"& L2 & "/ricerca.html","//a[@id='autore']")))&" "& LEFT(IMPORTXML("http://www.libraccio.it/libro/"& L2 & "/ricerca.html","//a[@id='autore']"), FIND(" ",IMPORTXML("http://www.libraccio.it/libro/"& L2 & "/ricerca.html","//a[@id='autore']"))-1)
这当然很长。 这里有一个更好的方法在Excel中:使用一个命名的公式来存储名称(FYI你也可以在Google表格中做到这一点)。
按Ctrl+F3->New
, AuthorLastFirst
在Name:
字段中inputAuthorLastFirst
=IMPORTXML("http://www.libraccio.it/libro/"& $L$2 & "/ricerca.html","//a[@id='autore']")
在“ Refers to:
字段中。 现在你可以简单地做:
=RIGHT(AuthorLastFirst, LEN(L2)- FIND(" ",AuthorLastFirst))&" "& LEFT(AuthorLastFirst, FIND(" ",AuthorLastFirst)-1)
为了让他人清楚,这只能在Google表格中使用(由于IMPORTXML和REGEXREPLACE函数,Excel本身不支持):
=REGEXREPLACE(IMPORTXML("http://www.libraccio.it/libro/"&L2& "/ricerca.html","//a[@id='autore']"),"^(.+) (.+)$","$2 $1")