本章主要展示有关程序逻辑的代码参考,比如将网格内的数据拼成序列、实现类似switch/case的结构、取得当前循环已进行的次数、继续、跳出外层循环、清除使用过的变量以节省内存、向子程序传递多个参数、子程序返回多个值、成片注释的写法写进多个单元格中、在代码中使用宏等。
|
A |
B |
C |
D |
|
1 |
1 |
2 |
3 |
4 |
|
2 |
=[A1:D1] |
|
|
|
|
|
A |
B |
|
1 |
=80 |
|
|
2 |
if A1>=90 |
|
|
3 |
|
> A10="excellent" |
|
4 |
else if A1>=80 |
|
|
5 |
|
> A10="good" |
|
6 |
else if A1>=60 |
|
|
7 |
|
> A10="pass" |
|
8 |
else |
|
|
9 |
|
> A10="fail" |
|
10 |
|
|
good |
|
A |
B |
C |
|
1 |
for |
if #A1==10000 |
break |
|
|
A |
B |
C |
D |
|
1 |
for [3,2,1] |
|
|
|
|
2 |
|
for [5,1,3] |
|
|
|
3 |
|
|
if A1>B2 |
next A1 |
继续下一个循环 |
4 |
|
|
if A1== B2 |
break A1 |
跳出循环 |
|
A |
|
1 |
>var1=to(100) |
|
2 |
=demo.query("select * from EMPLOYEE") |
|
3 |
… |
|
4 |
> var1=null,A2=null |
清除var1和A2单元格 |
|
A |
B |
|
1 |
func |
|
多个参数依次排列 |
2 |
|
=A1 |
|
3 |
|
=B1 |
|
4 |
|
return B2+B3 |
|
5 |
=func(A1,11,21) |
|
32 |
|
A |
B |
|
1 |
func |
|
|
2 |
|
return [1,2,3,4] |
|
3 |
|
|
|
4 |
=func(A1) |
|
|
|
A |
B |
|
1 |
//This is an example about… |
|
一到三行都是注释 |
2 |
|
1. Remark 1… |
|
3 |
|
2. Remark 2… |
|
4 |
=1+3 |
|
|
|
A |
B |
|
1 |
[1,2,3,4] |
|
|
2 |
func |
return A1.${A2}() |
|
3 |
func |
return A1.${lower(A3)}() |
|
4 |
=func(A2,"sum") |
|
返回A1.sum() |
5 |
=func(A3,"Avg") |
|
返回A1.avg() |
|
A |
|
1 |
=size.(char(65+rand(26))).concat() |
size是参数,从外部传入 |
2 |
return A1 |
返回A1 |
|
A |
|
1 |
=call(“D:/demo.splx”,5) |
调用demo.splx子程序,传入参数5 |
|
A |
B |
|
1 |
=demo.query("select * from EMPLOYEE") |
|
|
2 |
=A1.group(GENDER) |
|
按性别分组 |
3 |
fork A2 |
=A3.select(SALARY>10000) |
并行计算,A3汇总结果 |