提取数据?除了vlookup还有它

作者: 暴走的老西儿 | 来源:发表于2019-07-22 23:29 被阅读0次

excel函数是处理数据化问题的一个利器,在了解常用函数的基础用法后,面对实际问题时更需要的是合理地拆解问题、选择嵌套使用的函数。下面我们针对实际问题,重点讲解下问题分析的思路,以及如何选择函数。

写在前面:解题中用到的函数match、index、mid、ifna,以及通配符*。

一、问题背景:某天,老西儿收到如下一个数据表格(下图是其中的一部分)。表格中显示的是多个产品的具体参数,但是数据混在一起,仔细检查发现有如下两个问题:1. 参数位置错乱,同一行中,信息没有显示在对应的标签下;2. 重复显示了标签信息,如定位功能,标签下只需要显示”是/否“即可,表格中重复显示了标签信息;3. 有不属于标签内容的信息(如保修期),或有空值。怎么优化这个表格呢?

二、问题:如何使对应的信息显示在对应的标签下?

三、问题分析:

1. 明确问题要做什么,并将问题转换为系统可执行的描述。

问题1:将对应的内容显示在对应标签下(系统看不懂)

转换描述:在每一行中找到包含“定位”的信息,并将信息显示在同一行定位的标签下。“防爆”“显示屏”“电池容量”三个标签下的信息与此相同。

问题2:重复显示了标签内容(系统看不懂)

转换描述:找到的信息中,只需显示标签以后(或":"以后)的信息即可。

问题3:有不属于标签内容的信息(如保修期),或有空值(系统看不懂)

转换描述:如果不相关或为空值,需要进行特殊处理。

根据以上问题,我们对表格进行了扩充,增加了新的数据显示区域。

2. 根据转换后的描述确定函数

① 从单元格区域中取出某个单元格内的内容,想到index函数

index(要引用的区域,返回的是区域中的第几行,[返回的是区域中的第几列])。用处:返回选定行列的单元格内的内容

② 以“定位”为例,由于包含定位的信息在不同行中的位置不固定,因此需要在同一行中查找“定位”,以确定在改行的第几列。在一行的单元格中查找固定的内容,并确定位置,想到match函数;另,由于查找值除“定位”两个字外,前后还有内容,因此想到通配符*,查找的内容写为“*定位*”。

因此函数结构可写为=index(一行区域,1,match("*定位*",一行区域,0))

1. match(要查找的值,要查找的区域,[查找的类型])。用处:在一行或一列单元格中查找,并返回查找值所在单元格的位置,返回数值。第二项必须为一行或一列;第三项为0时表示精确查找。

2. 通配符*,表示任意多个字符。*定位*,表示查找包含“定位”两个字的内容。

③ 针对信息包含了标签的问题,仔细查看可以发现规律。以“定位”为例,所有包含“定位”的信息结构是:“是否可定位:X”,前面是固定的6个字符,我们需要的是第7个(及以后)的字符。从字符串中截取,想到mid函数

函数结构可增加为=mid(index(一行区域,1,match("*定位*",一行区域,0)),7,2)。最后的2表示返回两个字符。

mid(要被截取的字符,从第几位开始,截取几位)

④ 经过前三步,函数的主体就完成了。考虑到会有无关的信息或空值,可能会存在在一行中找不到值的错误“#N/A”,因此想到用ifna函数,对出现NA错误的区域进行处理。

因此,最后的函数结构可以确定为=ifna(mid(index(一行区域,1,match("*定位*",一行区域,0)),7,2),"")

ifna(求值公式,出现NA错误时显示的值)

#N/A:"值不可用"错误,表示某个值对于该公式或函数不可用。

注:以上以“定位”为例,防爆等标签与上述内容类似,只是在mid函数截取时,起始的字符和要截取的长度不同

重复以上步骤,就可以将新的数据整理到右边的区域中。对于该问题,换用不同的解法也能达成该需求,欢迎讨论。


喜欢可以点赞鼓励一下老西儿,后面还会逐步分享一些更复杂的操作,以及excel常用函数,以及PPT、Word等办公软件使用中的一些提升生产效率的小技巧。

相关文章

  • 提取数据?除了vlookup还有它

    excel函数是处理数据化问题的一个利器,在了解常用函数的基础用法后,面对实际问题时更需要的是合理地拆解问题、选择...

  • T1.5 Excel-Data Extraction

    数据提取——匹配、分列与合并 数据匹配:VLOOKUP() 数据分列:Left()/Right() MID(tex...

  • Excel-VLookup

    Vlookup:查找引用的函数 1、在某个位置找到想要的数据,并根据需求提取想要的关键内容。 2、=Vlookup...

  • vlookup和lookup姐妹函数,对比下才知道多好用

    Excel中常用的查询函数就vlookup函数,各类数据的提取汇总都需要用到它,但是有一个比它更简单实用的函数,很...

  • Excel交叉查询四大金刚出动,告诉你最强的组合套路(附案例)

    前面数据州给大家讲解了Excel表界匹配查询最常用的函数公式VLOOKUP。除了这个主力之外,还有OFFSET、M...

  • 【OFFICE 365】Power Query 合并查询

    在连载的上两篇文章中,小鱼通过多次使用 VLOOKUP 函数完成了数据的合并。其实,除了 VLOOKUP 函数之外...

  • Excel中通过Vlookup函数提取数据

    上次曾写过一篇《通过“Vlookup”函数比对表格》(http://www.jianshu.com/p/80a0a...

  • SUM函数

    繁忙的一天,来到特训营开营第15天了。今天很开心的是在做数据汇总用VLOOKUP函数时,因为某些提取的数据编号有了...

  • Tableau进阶

    一、应用提取筛选器 数据的提取通过遵循菜单【数据→编辑数据源筛选器】。它创建了许多选项,例如对要提取的行数应用限制...

  • 2018-01-06

    一、应用提取筛选器 数据的提取通过遵循菜单【数据→编辑数据源筛选器】。它创建了许多选项,例如对要提取的行数应用限制...

网友评论

    本文标题:提取数据?除了vlookup还有它

    本文链接:https://www.haomeiwen.com/subject/whiglctx.html