Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1205|回复: 8

[已解决]通过身份证号码求性别

[复制链接]
发表于 2022-8-31 11:37 | 显示全部楼层 |阅读模式
通过18位身份证号码求性别有几种方法,如果我直接用left截取17位后,用mod对2求余就出错,不知为什么?
2022-08-31_112446.jpg yy.rar (8 KB, 下载次数: 3)
发表于 2022-8-31 12:30 | 显示全部楼层
本帖最后由 SlimEvans 于 2022-8-31 12:32 编辑

你这17位的数太大了,超出上限报错了=Mod(number,divisor)

number最大为:=divisor*134217728-1

评分

参与人数 2学分 +4 收起 理由
ccq000000 + 2
hcm19522 + 2 学习了

查看全部评分

回复

使用道具 举报

发表于 2022-8-31 16:58 | 显示全部楼层
Excel 只有15位有效数字 ,
16,17位的数字 只能是0

即便 Mod 不出错 , 方法3 依然不行
回复

使用道具 举报

 楼主| 发表于 2022-9-1 00:08 | 显示全部楼层
SlimEvans 发表于 2022-8-31 12:30
你这17位的数太大了,超出上限报错了=Mod(number,divisor)

number最大为:=divisor*134217728-1

你好:number最大为:=divisor*134217728-1是否有出处?想你能详细点谢谢!
回复

使用道具 举报

 楼主| 发表于 2022-9-1 00:10 | 显示全部楼层
砂海 发表于 2022-8-31 16:58
Excel 只有15位有效数字 ,
16,17位的数字 只能是0

你好:“即便 Mod 不出错 , 方法3 依然不行”,为什么不行?
回复

使用道具 举报

发表于 2022-9-1 09:51 | 显示全部楼层
ccq000000 发表于 2022-9-1 00:08
你好:number最大为:=divisor*134217728-1是否有出处?想你能详细点谢谢!

divisor*134217728-1这个应该是03老版本的最大上限了,10版本和19版本试了最大上限是 除数*1125900000000-1,目前没有参考资料,可能就是个bug吧。你自己可以试试,你只要知道问题出在哪里就够了,没必要非得纠结有具体的证明文献

评分

参与人数 1学分 +1 收起 理由
砂海 + 1 日常而言, 没有意义(精确值,来源,原理...)

查看全部评分

回复

使用道具 举报

发表于 2022-9-1 10:01 | 显示全部楼层    本楼为最佳答案   
=1*LEFT(B2,17)  -  (LEFT(B2,17)+1)
计算结果=0

⑴-⒄  【是文本 , (17位数字)  LEFT(B2,17) 】
⑴-⒂00 【是15位有效数字 , 超出部分用0填充 , 1*LEFT(B2,17) 的计算结果】
⑴-⒂00 【是15位有效数字 , 超出部分用0填充 ,  (LEFT(B2,17)+1)的计算结果】

数值 中超过15位 的 部分 ,  +1 没有效果
必须 用文本的方式 , 让数值在 15位 以内



回复

使用道具 举报

 楼主| 发表于 2022-9-2 00:18 | 显示全部楼层
砂海 发表于 2022-9-1 10:01
=1*LEFT(B2,17)  -  (LEFT(B2,17)+1)
计算结果=0

非常感谢你的答案!
回复

使用道具 举报

 楼主| 发表于 2022-9-2 00:19 | 显示全部楼层
SlimEvans 发表于 2022-8-31 12:30
你这17位的数太大了,超出上限报错了=Mod(number,divisor)

number最大为:=divisor*134217728-1

感谢你的答案
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-14 21:54 , Processed in 0.298514 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表