=TEXT(-1^MID(A1,9,9),"女;男") 这是一段EXCEL根据身份证号判断性别的公式,但是我看不懂,求解释

-1^MID(A1,9,9) 是什么意思呢?

其实你这个公式编辑的人,有点故弄玄虚,基本道理就是因为二代身份证号里的倒数第二位和一代身份证号里的最后一位,奇数为男,偶数为女,这才是最基本的道理,知道这个以后可以用EXCEL里的很多函数来判断出奇偶性,进而判断男女性别,可以用取余数的函数,可以用乘除法的运算等等。但是,我为什么说这个公式有点故弄玄虚呢,MID()这个函数是从某个字段的第几位开始,取几位的意思,这个公式里的意思是,从身份证号的第9位开始取9位数组成一个新的字段,也就取身份证号里的9至17位,这样一来,如果对这里的道理不是很明白的人,看着这个取数的方法就觉得有点糊涂,为什么取这么长一个数啊?产生不知所以然的感觉。其实,你把这个公式里的两个9改成什么数都行,就一个原则,包括第17位数。因为最终要靠它来判断奇数还是偶数。mid(A1,10,8); mid(a1,11,7),mid(a1,17,1)……这些都可以。这样你就不能理解公式的意思了。追问

谢谢

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-02
=TEXT(-1^MID(A1,9,9),"女;男")
从身份证号地9位数开始取9位(最后一位是17位,性别识别位),-1的N次方,N就是那个取出来的9位数,-1的偶数次方是正数1,奇数次方是-1.如果是1,返回“女”,否则返回“男”。
这个函数是用以下格式更容易被理解。
=TEXT(-1^MID(A1,17,1),"女;男")
或者
=if(MOD(MID(A1,17,1),2)=1,"男","女")追问

谢谢你的答案

第2个回答  2012-05-02
因为身份证的第17位偶数是女,奇数是男
-1的偶次方是1
-1的奇数次方是-1

=TEXT(-1^MID(A1,9,9),"女;男")
当-1^MID(A1,9,9)大于0是是女
当-1^MID(A1,9,9)小于0是是男本回答被提问者采纳
第3个回答  2018-09-06
实名反对说公式故弄玄虚的答案。
MID(A1,9,9)的目的,是为了让这个公式同时匹配15位身份证号(最后一位判断性别)和18位身份证号(第17位判断性别)。
当然,取数也可以改成MID(A1,15,3)