五个Excel函数公式,简单又实用_excel函数公式大全及举例
Excel不再手忙脚乱:五个实用公式,帮你秒查重复、算年龄、从身份证一口气提出生辰和性别
前几天我朋友小李在HR群里崩溃了,说月末发工资时有好几个人被重复记账,原因就是名单里姓名重复但没人认真核对。说实话,这类低级错误其实完全可以靠几个小公式避免。不得不说,掌握几条查重和提取的公式,能让你的工作流顺滑很多,少出错也省时间。
首先讲查重复的思路。把需要核对的姓名放在A列,在C2里输入=IF(COUNTIF(A:A,A2)>1,"重复",""),回车后向下填充,这个公式的意思是统计整列里和当前单元格一样的名字,如果超过一个就标为“重复”。不过要注意性能问题,当表很大时尽量别用整列引用,改用确定范围或把数据转换为表格,效率会好很多。
其次如果你只想提示那些不是首次出现的重复项,可以把范围设为从数据第一行到当前行的动态范围,在C2输入=IF(COUNTIF(A$2:A2,A2)>1,"重复",""),这样公式随行下拉时统计范围会跟着扩展,首次出现的名字不会被标为重复,后续重复才会提示。对HR和销售名单这种需要保留首条信息的场景非常实用,能把误判率降下来。
再者关于年龄的计算,很多人直接手算或用粗略方法,很容易出错。推荐用=DATEDIF(B2,TODAY(),"y"),以出生日期B2为起点,TODAY()取当前日期,DATEDIF会返回整岁的差值。说实话,DATEDIF有时候在Excel函数列表里看不到,但它确实好用。如果你想要更精确的带小数年龄,也可以用YEARFRAC,再用INT或ROUND处理。关键是确保B2是真正的日期格式,否则结果会乱套。
还有一个常见场景是从身份证号里提取出生日期。对18位身份证,出生信息从第7位到第14位是8个数字,比如19790607。可以先用MID 提取,再用 TEXT格式化成带中划线的日期文本,最后用双负号把文本转换为真正的日期值,写成类似=--TEXT(MID(B2,7,8),"0000-00-00")。这一步很重要,因为只有把它变成日期格式,DATEDIF等日期函数才能正常工作。要注意的是,有些老旧的15位身份证需要在年段前补上“19”,所以在实际表里最好先判断长度再处理,像用IF(LEN(B2)=18, …, …) 这样的结构会更稳妥。
此外从身份证提取性别也能自动化。性别码通常在第17位(18位证号)或第15位(15位证号),奇数为男性,偶数为女性。简单的思路是用MID 抽出那一位,再用 MOD 去判断奇偶性,比如=IF(MOD(MID(B2,17,1),2),"男","女")。同样如果存在15位号码或者身份证中含有空格、换行等脏数据,先用TRIM 和 SUBSTITUTE 清洗再提取,会少很多麻烦。
最后给几条实操建议,帮你把这些公式在真实工作表里稳稳用起来。先把原始名单复制到另一个工作表做清洗,去掉前后空格并统一为文本或数值格式,然后按需要添加辅助列来放出生日期和性别,再用条件格式高亮“重复”项做人工二次确认。对于大表格,优先考虑把数据做成Excel表格(Ctrl+T),这样公式自动扩展且引用更稳;当数据量巨大时,学习用PowerQuery做清洗会比一堆公式更高效。记住一个简单的记忆口令:先清洗、再提取、最后判断,三步走能把很多错误拒之门外。
说白了,这些看似小技巧的公式,能把你从“做表菜鸟”变成“稳妥的执行者”。我自己在整理旧员工库时用这些方法,原本要花半天对账的活儿,最后半小时就搞定了。不要怕动手试,给自己定个小任务:今天花半小时,把最近一份名单用上面的方法清洗一遍,体验一下省心的感觉。
你有没有因为名单重复或身份证格式导致过尴尬的错误?说说你遇到的最头疼的那次,或者分享你自己常用的一个公式和理由,咱们互相学习交流。