说到Excel里的电话号码,我真是一肚子苦水,这玩意儿绝对是每个办公室新人,甚至不少老油条,都踩过的大坑。它不像普通数字那么简单,也不像普通文本那么省心,它就是个“四不像”,专门在你想不到的地方给你埋雷。
你眼睁睁看着自己辛辛苦苦录入的一长串11位手机号,一回车,“啪”,变成了一串你妈都认不出来的科学记数法,什么“1.38E+10”,那一刻的心情,堪比写了三千字的文档没保存突然断电。或者,更常见的,那些以“0”开头的区号、座机号,前面的“0”莫名其妙就人间蒸发了,好像从来没存在过一样。
别问为什么。问就是Excel自作聪明。
在Excel那个榆木脑袋里,一长串数字,它就默认是“数值”,是用来加减乘除的。手机号那么长,超过了它的处理精度,得,给你简化成科学记数法,它觉得这是帮你呢。座机号前面的0,在数值计算里没意义,它也顺手给你“优化”掉了。
所以,在我们开始聊任何操作之前,请把下面这句话,刻在你的脑子里,刻在你的DNA里,以后每次打开Excel都默念三遍:
电话号码不是数字!电话号码不是数字!电话号码是文本!
它只是一串长得像数字的字符组合,它的本质,和“张三”、“李四”没有任何区别。你不会拿两个人的名字去相加,那你凭什么觉得电话号码就应该用数值格式呢?想通了这一点,所有问题都迎刃而解。
好,心态建设完成了,我们来点实际的。
防患于未然:从源头扼杀问题
最高明的医术是“治未病”,处理Excel电话号码也是一个道理。与其等数据毁了再去修复,不如从一开始就用正确的方式录入。
方法一:简单粗暴的“单引号”大法
这是最快、最无脑,但也最有效的方法。在你输入任何电话号码之前,先在英文输入法状态下,敲一个单引号 '。
比如,你要输入 13800138000,就在单元格里输入 '13800138000。
你要输入 021-88886666,就输入 '021-88886666。
回车之后,你会发现那个单引号不见了,但你的数据完好无损地待在单元格里,单元格左上角还会出现一个绿色的小三角,提示你“这个单元格里的数字是文本格式”。别管它,这正是我们想要的效果!这个单引号就像一个“结界”,它告诉Excel:“别动我的人,这里面的东西,你给我原样显示,别耍小聪明!”
方法二:釜底抽薪的“文本格式”设置
单引号法虽然好用,但每次都敲也挺烦的,而且如果数据量大,一个个敲简直是酷刑。更专业、更一劳永逸的方法是,在输入之前,就给单元格“定性”。
选中你准备输入电话号码的那一整列(直接点击列标,比如C列的“C”),然后右键,选择“设置单元格格式”(或者直接按快捷键Ctrl+1)。在弹出的对话框里,找到“数字”这个选项卡,然后在分类里,毅然决然地选择最下面的“文本”。
点击确定。
好了,现在这一整列都被你“格式化”了,它的“世界观”已经改变。在它眼里,你输进去的任何东西,哪怕是圆周率,它都只认作一串没有数学意义的文本。现在你再试试输入13800138000或者021-88886666,是不是一切正常?前面的0保住了,科学记数法也滚蛋了。
我强烈建议,只要你的表格里有一列是用来放电话号码的,第一件事就是把这一整列设置为文本格式。 这是一个习惯,一个能让你在未来的工作中避免无数次抓狂的好习惯。
亡羊补牢:拯救那些已经被毁掉的号码
道理都懂,但很多时候,我们拿到手的表格,数据早就被前任或者系统搞得一团糟了。面对满屏的“E+”和消失的“0”,怎么办?别慌,还有救。
情况一:修复“1.38E+10”这种科学记数法
这种最常见。首先,选中这些“妖魔鬼怪”,右键“设置单元格格式”,先把它从“常规”或者“科学记数”改成“数值”,并且把小数位数设置为 0。
点击确定,你会发现,1.38E+10 变成了 13800138000。数字是回来了,但它现在还是数值格式,这是个隐患。而且,如果原本是带“0”开头的号码,这个“0”还是回不来。
所以,这只是第一步。
情况二:找回消失的“0”以及彻底转为文本
假设我们有一列号码,有的被搞成了科学记数法,有的前面的0没了,现在我们想把它们统一恢复成11位的标准手机号文本。
这时候,就要请出我们的神器——TEXT函数。
这个函数简直是为格式化而生的。它的作用就是,把一个数值,按照你指定的“剧本”(格式代码),强制转换成文本。
比如,A1单元格是那个被我们修复回来的数值13800138000。我们在旁边一个空白单元格(比如B1)输入公式:
=TEXT(A1, "0")
这个公式的意思是,把A1单元格的数值,转换成一个整数文本。回车后,B1单元格就显示为13800138000,但这次,它是货真价实的文本了。
那丢失的“0”怎么办?比如一个座机号2188886666,原本应该是02188886666。
假设现在A2单元格是数值2188886666,我们知道它应该是11位的。那么我们在B2输入:
=TEXT(A2, "00000000000")
看明白了吗?后面引号里的 11个0,就是我们的“剧本”。它告诉TEXT函数:我不管你原来的数值是几位数,你必须给我输出一个11位长度的文本,如果不够,就在前面用0给我补齐!
“啪”,回车,02188886666 就回来了。
然后,选中B1或者B2单元格,把鼠标放在右下角,等光标变成一个黑色的十字,双击,就能把这个公式应用到整列。一列崭新的、格式正确的电话号码文本就诞生了。
最后,别忘了关键一步:选中这新生成的一整列,复制(Ctrl+C),然后再次右键,选择“选择性粘贴”,在里面选择“值”。这一步是为了把公式计算出来的结果,固化成真正的文本值,摆脱对原来那列错误数据的依赖。做完这步,你就可以把原来那列“事故现场”给删掉了。
进阶骚操作:号码的提取与重组
有时候,我们的号码更糟心,它们是和汉字混在一起的,像“张经理的电话是139xxxxxxxx,请联系”。
这时候就要用上文本处理的“三剑客”:LEFT、RIGHT、MID,再配合 FIND 或者 SEARCH 函数。这个过程就像做一场精密的文本外科手术。
比如,号码总是在“电话是”这三个字后面,那就可以用FIND找到“是”的位置,然后用MID从这个位置往后提取11位。公式可能会很长,很烧脑,但逻辑是通的。对于这种复杂情况,现在Excel的新函数比如TEXTSPLIT或者直接上Power Query是更现代化的降维打击,这里就不展开了,但你要知道,只要思想不滑坡,办法总比困难多。
还有一种常见需求,是给所有号码批量加“+86”或者加分隔符。
这简直太简单了。既然号码已经是文本了,那我们就可以像拼接字符串一样,为所欲为。
比如,A列是处理好的11位手机号,我们想在B列生成+86-13800138000的格式。
在B1输入公式:
="+86-" & A1
那个 & 符号,就是文本连接符,跟胶水一样。双击填充,搞定。
想变成138-0013-8000的格式?稍微复杂一点,要用上LEFT、MID、RIGHT函数来分段提取再拼接:
=LEFT(A1,3) & "-" & MID(A1,4,4) & "-" & RIGHT(A1,4)
这个公式看起来吓人,其实就是:取出左边3个字符,连上一个“-”,再从第4个字符开始取出4个字符,再连上一个“-”,最后再连上右边的4个字符。
看,一旦你从心底里承认了电话号码是文本,并且掌握了基础的文本处理函数,Excel在你面前就再也没有秘密可言。它那些自作聪明的小伎俩,反而成了你精准控制数据的工具。
记住,工具是死的,人是活的。别让Excel牵着你的鼻子走,你要去驯服它。
【怎么把excel的电话号码】相关文章:
好的,我们直接开始。12-06
excel的版本怎么看12-06
excel表格中怎么word表格12-06
Excel 怎么一行不动12-06
那瞬间,世界是静止的。12-06
excel是乱码怎么解决方法12-06
怎么把excel的电话号码12-06
怎么导出Excel表格12-06
excel怎么设置背景12-06
excel怎么方框打钩12-06
excel怎么数字排序12-06
excel日期怎么设置12-06
excel重复怎么设置12-06