求教Excel高手!图中这个公式什么意思?

图中这个公式是根据出生日期推算生肖,请高手解释一下这个公式。

=MID("鼠牛虎兔龙蛇马羊猴鸡狗猪",MOD(YEAR(F2)-4,12)+1,1)

公式分解通常从内而外。

1、YEAR(F2) 返回1979年12月31日的年份,返回1979

2、MOD(YEAR(F2)-4,12)+1 公式相当于 MOD(1979-4,12)+1,公式的意思是1979减4,结果是1975,然后用1975除以12,得到的余数为7,再加上1,返回结果为8.

3、最后整条公式为:=MID("鼠牛虎兔龙蛇马羊猴鸡狗猪",8,1),意思是从"鼠牛虎兔龙蛇马羊猴鸡狗猪"当中第8位开始起,取出1位,所以返回结果是“羊”。

希望我说明白了。追问

你对公式本身解释的很清楚!其实公式本身我也看得懂。我搞不懂就是为什么年份要减去4?为什么要求余?求余后为什么又加上1?总之一句话,写这个公式的思路是什么?

追答

什么减 4什么加1,只是为了能在"鼠牛虎兔龙蛇马羊猴鸡狗猪"中,用MID找到合适的位置。不用太在意这些。当然还有其它的方法。
在EXCEL的计算中,经常需要一些特别的数字,比如一列中需要1、1、2、2、3、3或1、2、3、1、2、3这种序列的数字,如果手工输入又不现实。这种情况下就可以用比如说MOD、ROW()、COLUMN()等一些函数,再结合简单的加、减、乘、除来达到我们需要的数字。

最后总结一下:这个题的思路就是:用MID函数通过运算,在12生肖中找到合适的位置,并返回相应位置的文本。(这种题至少还有3至4种解法,但核心问题最重要)
这个核心问题就是,这个位置如何来找,要找这个位置如何计算,这了得到这个数字在做以前就得有大概印象。这个是学不来的,只有通过大量的练习业锻炼思路,长久以往,但能运用自如。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-26
求属相的公式
应该是今年适用的公式:从字符串中取第几个
可简化为
=MID("鼠牛虎兔龙蛇马羊猴鸡狗猪",MOD(YEAR(A1)-3,12),1)
===========
试试吧,但愿能够帮助您!
第2个回答  2014-05-26
MID函数是从一个字符串的指定位置截取一个子字符串
MOD是取余
YEAR是取的年数
首先计算 YEAR(F2)-4 从F2的值中去的1979再减去4=1975
MOD(1975,12)+1是用1975除以12得到余数为7再+1等于8
最后是mid("鼠牛虎兔龙蛇马羊猴鸡狗猪",8,1)是从鼠牛虎兔龙蛇马羊猴鸡狗猪中从第8个开始取长度为1的字符串也就是”羊“

不过这公式只是近似,因为这是公历日期
第3个回答  2014-05-26
YEAR(F2) 提取F2单元格的年度 ,在这里为1979

MOD(YEAR(F2)-4,12) MOD为求余数的函数,在这里是1979减4的差除以12的余数,其值为7。这个答数加1后,作为提取的起始位数

MID为提取字符串中字符的函数
语法为
MID(字符串,提取的起始位数,提取的位数)
第4个回答  2014-05-26
这个是取年份的生肖,(2014-4)/12的余数是6 6+1=7 取前面第七个字符“马”
第5个回答  2014-05-26
这个你要懂生肖是怎么推的才行,要先减3再算,你可以理解为从公元第四年才开始有生肖说法
12年轮一圈,所以要取12的余数,,为避免出现0,所以先减1取余后再加回去,然后把十二生肖按顺序排取对应的文本