电竞比分网-中国电竞赛事及体育赛事平台

分享

強大的FILTERXML函數(shù)

 rogerkfl 2021-08-04

FILTERXML函數(shù)?感覺似曾相識。還記得有一個強大的英漢互譯公式嗎?好象有它的身影:

圖片

公式

 =FILTERXML(WEBSERVICE('http://fanyi.youdao.com/translate?&i='&B2&'&doctype=xml&version'),'//translation') 

在上面公式中,WEBSERVICE函數(shù)可以獲取網(wǎng)頁代碼(代碼中包話翻譯完成的結(jié)果),而FILTERXML函數(shù)則是根據(jù)網(wǎng)頁代碼提取字符。

語法

FILTERXML(xml, xpath

  • xml   有效 XML 格式的字符串

  • xpath   標準 XPath 格式的字符串

想完全掌握FILTERXML函數(shù),你需要首先熟悉網(wǎng)頁Xml代碼的結(jié)構(gòu),然后再掌握它的提取格式代碼Xpath。只是這些對于我們一般辦公人員有些難度,而且我們平時也用不了那么深入。所以蘭色就化繁為簡,分享一個傻瓜式的FILTERXML公式套路。

按分隔符拆分是經(jīng)常遇到的一個Excel難題。

圖片

下面介紹一下如何使用FILTERXML公式套路解決這個難題。

先在字符串前后分別添加<a><b></b></a>

='<a><b>'&B2&'</b></a>'

圖片

然后用substitute把分隔符-替換為</b><b>

=SUBSTITUTE('<a><b>'&B2&'</b></a>','-','</b><b>')

圖片

以上步驟的目的就是把我們要提取的內(nèi)容,分別放在</b><b>間,最外側(cè)是<a>和</a>

<a><b>河南</b><b>鄭州</b><b>金水區(qū)</b></a>

然后就可以用=FILTERXML(代碼,'//b')提取出所有字符了。

=FILTERXML(SUBSTITUTE('<a><b>'&B2&'</b></a>','-','</b><b>'),'//b')

圖片

最后再用index(數(shù)組,序號)分別提取省市區(qū)

=INDEX(FILTERXML(SUBSTITUTE('<a><b>'&B2&'</b></a>','-','</b><b>'),'//b'),2)

圖片

可能有同學說這樣的問題用Ctrl +E就可以輕松解決,為什么要學這么復雜的公式?

有些拆分用Ctrl+E可以,有些它就無能為力了。來看一個網(wǎng)友的真實提問。

如下圖所示:把D列中的數(shù)字提取出來求和。注意:只提取 “ : ”后的數(shù)字,如成品檢測1中的1不能參加運算。

圖片

 這個問題用一般的公式或Ctrl+E很難完成,而且用FILTERXML函數(shù)則可以完成。

=SUM(FILTERXML(SUBSTITUTE(SUBSTITUTE('<a>'&D1&'</a>',':','<b>'),',','</b>'),'//b'))

上面的公式中重點還是如何構(gòu)造成xml格式代碼,原理同本文開始,不再詳述。

蘭色說:今天分享的用法只是它的冰山一角,更多的用法同學們可以去網(wǎng)上搜一下,蘭色以后有機會再一個更詳細的教程。

長按下面二維碼圖片,點上面前往圖中包含的公眾號然后再點關注,每天可以收到一篇蘭色最新寫的excel教程。

工作中最常用的Excel函數(shù)公式,全印在一張超大的鼠標墊上(送40集配套視頻),點我查看詳情

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多