在FILTERXML函数中使用last()

时间:2017-07-19 11:18:55

标签: excel xpath

假设我在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值;

如果我输入:

FILTERXML(A1,"//GlobalHistoricalQuote[4]/Date")

我得到了正确的价值。

但如果我输入:

FILTERXML(A1,"//GlobalHistoricalQuote[last()]/Date")

我收到#VALUE错误。

1 个答案:

答案 0 :(得分:1)

这是正确的定位器:

  

(// GlobalHistoricalQuote /日期)[最后()]

获取最后一个元素使用下面的xpath。您将获得所有Date元素并选择最后找到的元素。

(locator)[last()]

获取另一个元素中的每个最后一个元素使用下面的路径。您将获得每个GlobalHistoricalQuote

中的最后一个Date元素(如果有多个,或唯一存在)
//GlobalHistoricalQuote/Date[last()]