|
在论坛求教,发现有些复杂的公式里要用循环的等差数列,一开始看得晕晕不知道人家是怎么设计出来的,后来发现规律啦,发出来分享一下。希望大家不要笑我火星=。。=
首先要知道等差数列如何生成:
我们知道,等差数列的公式是
an=a1+(n-1)*d
其中An为等差数列第n项
a1为数列第一项(是已知的)
d为等差数列的公差(已知)
an=a1+n*d-d=d*n+(a1-d)
如果希望公式是向下拉产生数列,那么用函数row(1:1)代入n;
如果向右拉产生数列,那么用函数column(a:a)代入n;
如果序列需要循环,就要用到mod函数
语法: =Mod(number,divisor) number是被除数,divisor是除数
假设所要的循环体长度是L
参数number应该代入上面的等差数列的公式参数divisor应为公差d*L
综上所述,产生一个循环等差数列的公式应该为
=mod(d*row(1:1)+(a1-d),d*L)
或者
=mod(d*column(A:A)+(a1-d),d*L)
举例:产生一个2,5,8,11,2,5,8,11……的序列
a1=2,d=3,m=4
公式为:=mod(3*row(1:1)+(2-3),3*4)=mod(3*row(1:1)-1,12)
完毕 请大虾们不要笑我白痴=。。= 跑
[ 本帖最后由 zaoyan 于 2010-11-23 21:43 编辑 ] |
|