在FILTERXML函数中使用last()
假设我在A1中有以下XML
<GlobalHistoricalQuote> <Date>5/25/2017</Date> <Quote>85.24</Quote> </GlobalHistoricalQuote> <GlobalHistoricalQuote> <Date>5/26/2017</Date> <Quote>84.31</Quote> </GlobalHistoricalQuote> <GlobalHistoricalQuote> <Date>5/29/2017</Date> <Quote>84.56</Quote> </GlobalHistoricalQuote> <GlobalHistoricalQuote> <Date>5/30/2017</Date> <Quote>84.24</Quote> </GlobalHistoricalQuote>
我想在Excel中提取最后一个Date值;
如果我input这个:
FILTERXML(A1,"//GlobalHistoricalQuote[4]/Date")
我得到正确的价值。
但是,如果我input:
FILTERXML(A1,"//GlobalHistoricalQuote[last()]/Date")
我收到#VALUE错误。
这是正确的定位器:
(// GlobalHistoricalQuote /date)[最后()]
得到下面最后一个使用xpath的元素。 您获取所有Date元素,并选取最后find的元素。
(locator)[last()]
获取下面的另一个元素的每个最后一个元素使用path。 您将在每个GlobalHistoricalQuote
获取最后一个Date元素(如果有多个,或唯一存在)
//GlobalHistoricalQuote/Date[last()]