从Excel混合字符串单元格,提取自第一个中文起的连续中文

boyanx2周前技术教程2

很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。

现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。

回答读者提问:有一列中文、字符和数字混合的单元格,如果第一个字符是中文的话,请将第一个起的连续中文字提取出来;如果第一个字符不是中文,则不需要提取。


这个案例其实并不简单,分列、Ctrl+E 和 Power Query 都不太好使,反而函数特简单。


案例:


将下图 1 中每个单元格中的第一个中文开始的连续中文字符提取出来,第一个字符不是中文的则不需要提取。


效果如下图 2 所示。


解决方案:


1. 在 B2 单元格中输入以下公式 --> 下拉复制公式:

=LEFTB(A2,SEARCHB("?",A2)-1)


公式释义:

  • SEARCHB("?",A2):
    • SEARCHB 函数的作用是按字节搜索关键字,并返回查找结果在字符串中的字节编号;
    • 在 Excel 中,英文字母、数字、英文半角字符都只占一个字节,而一个中文字占两个字节;
    • "?" 是通配符,表示 1 个字节;
  • ...-1:将上述结果减去 1,就得到第一个单字节字符前面的字节编号;
  • LEFTB(A2,...):
    • LEFTB 的作用是基于所指定的字节数返回文本字符串中的第一个或前几个字符;
    • 简单来说,就是从 A2 单元格的第一个字节开始提取,直至第一个单字节字符前面的所有字符


这个案例中比较特别的知识点是对于通配符“?”的使用。

相关文章

Excel如何合并字符串?CONCAT/PHONETIC/TEXTJOIN函数功能对比

多个单元格的内容如何合并到一个单元格?Excel一共提供四个函数,可以实现字符串的合并,但是会受到Excel版本的限制,且功能各有优异。PHONETIC函数PHONETIC存在于2016及以上版本中,...

简单易懂的KMP字符串匹配算法(使用kmp算法进行字符串匹配)

什么是KMPKMP算法是Knuth、Morris和Pratt三人设计的线性时间字符串匹配算法。算法的核心思想是尽可能地利用已知信息,减少尝试匹配的次数,从而降低时间复杂度。要想彻底地弄懂KMP算法,需...

Java字符串是否相等的三种判断方法

程序代码园发文地址:Java字符串是否相等的三种判断方法 -程序代码园方法一:==在java中字符串的值是不可改变的,相同的字符串在内存中只会存一份public static void f1(){ /...

多语言的字符串处理记录(多字符集)

各个语言的字符串处理记录。目的日常中会用到很多语言:比如工作中常用java,python,javascript;家里常用go,python,rust;偶尔也会折腾下c/c++。汇总下各个语言的字符串处...

一文教你Java字符串处理(String,StringBuffer,StringBuild)

前言本文篇幅较长,但都是满满的干货,请大家耐心观看,相信会有不小的收获。本人在总结的过程中也收获了很多的知识,也希望大家可以一起借鉴学习下,希望大家最后都能有所收获!再言字符串的分类在java.lan...

鸿蒙开发:ArkTs字符串string(鸿蒙ar字幕)

前言本文代码案例基于Api13。字符串在实际的开发中还是非常重要的,牵扯到的用法也是比较多的,比如字符串中的查找,替换,切割等等,字符串(String)是由零个或多个字符组成的有限序列,在计算机编程和...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。