4 个比 OFFSET 更好用的 Excel 提取函数
- 秋叶Excel
2024-05-03 12:47
锵锵~ 大家好哇!我是又在研究函数的卫星酱~
最近,卫某被 Excel 提取问题烦到了!
因为,要想在表格中提取出需要的内容,实在是太复杂了……
提取函数 MID、LEFT 等,只能提取指定个字符,每次使用还要先数一下提取对象的字符数
要是数据差异过大,这效率还不如手打(说好的用 Excel 避免无效加班呢?!)。
不想挨个数数,就得加上 FIND、SEARCH、OFFSET 等定位函数,可对于函数小白来讲就……
1、文本处理新选择:TEXTAFTER & TEXTBEFORE
提取表格编号中的数字:
旧方法:
使用 FIND 或 SEARCH 找到空格的位置,然后用 MID 提取数字。
=MID(D3,FIND(" "D3)+1,LEN(D3)-FIND(" "D3))
这个公式会找到 D3 单元格中第一个空格的位置,然后提取空格后的所有字符。
有些复杂哈?
但是使用 TEXTAFTER 提取,事情就简单多了。
新方法:
用 TEXTAFTER 函数,「text」文本 +「after」之后,非常好记~
=TEXTAFTER(D3," ")
这个公式会返回 B1 单元格中空格后的所有文本,即编号。
顺带也介绍一下 TEXTBEFORE 函数,「text」文本 +「before」之前,就是提取指定文本之前的内容了~
=TEXTBEFORE(D3," ")
新函数简化了公式,减少了辅助函数的使用,让数据处理门槛更低了呢!
同时,它也比需要好几个步骤才能完成的【分列】功能要更为迅捷灵活哦。
TEXTBEFORE 允许用户指定任意的分隔符,而不仅仅是逗号、分号等固定分隔符;
也可以嵌套在其他公式中使用,而不是像【分列】一样作为单独的步骤存在。
像本例中的情况,如果在源数据表中使用分列,就会造成这样的错误 ↓↓↓
还是用 TEXTAFTER 和 TEXTBEFORE 函数吧,既不会破坏源数据,又能自由选择结果存放区域!
2、行列操作更灵活:TAKE & DROP
还是上面的示例表格,想要删除第一列(序号),并保留后面三列的数据。
旧方法:
没有直接的函数可以很容易地删除一整列,但我们可以提取剩下的部分,反向删除指定列~
=OFFSET(B2,0,1,4,3)
定位到 B2 单元格向上偏移 0 行,向右偏移 1 列;高度为 4 行,宽度为 3 列的单元格区域。
搞不清楚位移的小伙伴们要被绕晕了!还是看看新方法 ↓↓↓
新方法:
DROP 函数,「drop」,使落下,丢弃 —— 用于删除指定行列。
删除第一列:
=DROP(B2:E5,0,1)
这个公式会删除指定范围的前 0 行和前 1 列,并输出表格剩下的部分。
还有一个提取函数 TAKE,「take」,拿走,也很容易记忆,它能直接提取所需行列。
比如本案例中我们可以选择,提取表格的前 4 行和后 3 列:
=TAKE(B2:E5,4,-3)
这两个新函数,能直接对行列进行操作,不需要我们再计算偏移量,这样一来,公式的编写就更加直观和简便了!
至于实际运用中,到底要选择哪个函数,取决于数据的特征。
比如,我们需要删除 UNIQUE 函数结果中的 0 值;
=UNIQUE(C:C)
在不知道去重的结果有多少行时,嵌套一个 DROP 函数删除第一行,显然比用 TAKE 函数要来得容易。
=DROP(UNIQUE(C:C)1)
同样的,如果我只是想提取表格的第一行,用 TAKE 函数:
=TAKE(B2:D21,1)
岂不是比费劲地数出,除掉第一行剩下还有几行,然后用 DROP 函数,要容易的多吗?
=DROP(B2:D21-19)
3、写在最后
好了,今天一口气介绍了 4 个 Excel 新函数哦~
它们都是能让我们更容易地提取文本或行列的好帮手:
❶ TEXTBEFORE
❷ TEXTAFTER
❸ TAKE
❹ DROP
这些好记又好用的新函数,你学会了吗?
本文来自微信公众号:秋叶 Excel (ID:excel100),作者:卫星酱
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。