这个生僻函数能帮我们解决很多传统的难题!

Excel中生僻的函数不在少数,其中大部分生僻是指普通用户用不到,专业性的方式,但是有这么一个函数,他虽然生僻,但是却很好用!
他就是 FILTERXML!

FILTERXML这个函数之所以生僻,是因为涉及到XPath,Xpath是什么,一般用户不太了解,但是对于前端开发人员就比较熟悉了,其实就是一种提取网页内容的语法!
大家不用畏惧,html其实是非常的简单的,就我们这个函数而言,大家掌握
html中大部分标签都是成对出现就差不多了!
比如 <h1> 我是一级标题 </h1>
<h1>是开始,多加一个/ 的 是结果标签!
关于XPATH,大部分用户,简单看一下,即可明白,并不是很难!学习可以参考
https://www.w3cschool.cn/xpath/xpath-syntax.html
一般网页的内容都有一堆标签包裹!这种语法可以按照规则,提取这些标签中的内容!
部分语法截图如下!
学习不用过于着急,都是从不会过来了!我们具体通过一些案例来看看用法!
案例 | 提取指定分隔符之间的内容
我们先写一下公式,然后带大家解析一下思路和原理,这个才是我们的目的!
▼公式如下:一般看不懂是正常的!
=INDEX(FILTERXML("<ul><li>"&SUBSTITUTE(SUBSTITUTE($A2,"[","</li><li>"),"]","</li><li>")&"</li></ul>","//li"),{1,3})

思路及公式解析:
1、想要使用这个函数,我们就需要按照xml或者html语法,构建出类似的网页结构
这里我们使用表示文章段落的ul标签放在最外层,内部都是li标签!
提供公式部分:
="<ul><li>"&SUBSTITUTE(SUBSTITUTE($A2,"[","</li><li>"),"]","</li><li>")&"</li></ul>"
如图中,这样结构比较混乱看不出什么
我们格式化一下来看就非常的清晰:
所有的内容都包裹在li标签中,最外层是一个ul!那么只要提取所有li标签中的内容就可以了!
查一下XPATH语法
//标签名称
就可以获取指定标签的全部内容
所以我们案例中,只要 //li 即可!这也是比较常用的XPATH语法!
提取后是一个数组,我们可以通过F9来查看!
我们要的内容是第1个和第3个,所以我们直接使用INDEX这个可以从数组中获取数据的函数来处理,逗号表示同行(左右关系),所以是{1,3}!
这是一个区域数组,我们需要选中B2:C2,使用Ctrl+Shift+Enter来录入
本文由“壹伴编辑器”提供技术支持
XPATH语法非常的丰富的,基本可以完成我们大部分的网页内容提取需要的!对于FILTERXML 这个函数来说,更不在话下!
这里我们使用的是列表标签,其实XML更宽松,你可以使用自定义的标签
比如 <学习> 6个小时</学习> 这样都可以!
我是一个爬虫爱好者,所以前端和后端都懂一些!所以可以直接上手,一般用户,应该多看看,应该不用一天基本也可以搞定!
案例2 | 配合 WEBSERVICE 获取网页源码解析
比较典型的案例就是有道翻译了!但是基本没有人讲其中的原理!
=FILTERXML(WEBSERVICE("http://fanyi.youdao.com/translate?&i="&A2&"&doctype=xml&version"),"//translation")
我们来说一下!
拿我们第一个内容来讲!
WEBSERVICE 可以根据给定网址获取到对应的源码:
我们要的内容就在 translation 标签中,所以我们XPATH语法就是
//translation

本文由“壹伴编辑器”提供技术支持

这个函数,我们就简单聊这么多,想要用好这个函数,最好把常见的XPATH学习一下!

(0)

相关推荐

  • 高手一般不会告诉你的几种高阶用法!

    如下图所示,A1:G11是数据源,A12:G12是结果区域.现在的要求是计算黄色行中非空单元格的前三行的总和.如A列求A2,A4,A6之和,E列是求E2,E4,E10之和,F列是求F2,F8,F10之 ...

  • 鲜为人知但很有用的函数——filterxml

    你好,我是刘卓.欢迎来到我的公号,excel函数解析.今天来分享一个冷门函数filterxml的用法,此函数的用法是由很多人(包括我)敬仰的海鲜老师所创.在我的心中,海鲜老师就是宝藏级别的存在. fi ...

  • EVALUATE函数:“我真的香,还不快来尝尝!”

    你好,我是刘卓.欢迎来到我的公号,excel函数解析.今天来分享一个好用的函数--evaluate的用法.我们通常用它来计算一些文本算式,比如"2+3*4". 其实它不仅可以计算文 ...

  • 利用 Python 一键下载网易云音乐 10W+ 乐库

    来源:Python 技术「ID: pythonall」 如果你常听音乐的话,肯定绕不开网易云,作为一款有情怀的音乐 App,我对网易云也是喜爱有加.虽然说现在都已经是 5G 时代了,大家的手机流量都绰 ...

  • WEBSERVICE函数通过网页链接获取网络数据

    你好,我是刘卓.欢迎来到我的公号,excel函数解析.今天来分享两个web类函数:encodeurl和webservice.它们可以通过网页链接直接用公式从web服务器获取网络数据.常见的有有道翻译, ...

  • Python|快速掌握Python爬虫XPath语法

    Python|快速掌握Python爬虫XPath语法

  • 又又又来了,多工作表单列提取不重复姓名!

    你好,我是刘卓.欢迎来到我的公号,excel函数解析.总有小伙伴执迷用函数来解决函数不好解决的问题,比如,多工作表提取不重复值,这就很尴尬了doge.这对我来说是一个挑战,也促使我去寻找解决方法.今天 ...

  • 字符串拆分、去重、合并,你会吗?

    你好,我是刘卓.欢迎来到我的公号,excel函数解析.今天来分享一个字符串拆分.去重.合并的案例. -01- 具体应用 下图A列是数据源,每个单元格都是一个字符串.每个字符串都是由一些近义词连成的,并 ...

  • 强大的FILTERXML函数

    FILTERXML函数?感觉似曾相识.还记得有一个强大的英汉互译公式吗?好象有它的身影: 公式 =FILTERXML(WEBSERVICE('http://fanyi.youdao.com/trans ...

  • Excel技巧—一个公式实现中英文翻译

    点赞再看,养成习惯: 金玉其外,败絮其中. 接着上一章用Excel实现汉字转拼音,不禁让小编想到那是否可以用Excel实现中英文翻译呢? 毕竟现在中国发展越来越快,和国际间交流越来越多,可能有些人的领 ...

  • 分列提取你还在用老套路吗?该尝试个新套路了。

    你好,我是刘卓.欢迎来到我的公号,excel函数解析.分列这个基础命令,想必各位小伙伴都很熟悉.但是用函数实现分列的效果,可能只有部分小伙伴才知道,它的常用套路是trim+mid+substitute ...

  • Excel里内嵌在线翻译

    本来寻思着继续写点系统运行日志跟踪技术的,但早晨哥家领导从单位打来电话,让帮助她的闺蜜搞一个excel翻译的问题,总部IT搞不定.我过去是用excel做了几年工作,却都是些数学计算,跟翻译也扯不上啊: ...

  • FILTERXML函数用过没?

    今天给大家聊一个比较陌生的函数:FILTERXML 语法格式:FILTERXML(xml, xpath) 这个函数有两个必需的参数,第1参数是有效的xml格式的字符串,第2参数是指定的xpath. 正 ...

  • Excel实战技巧103:使用FILTERXML()通过位置提取单词

    excelperfect 本文介绍FILTERXML函数的一个奇特用法. 假设在单元格中有一些文本(句子/短语/关键字,等),你想要提取其中的第n个单词,然而Excel并没有SPLIT函数,那就需要编 ...