儿子上小学开始,每天至少30道口算题,这可难坏了我们,其实说难也不难,每天想点,写出来让孩子去算呗,但是心里作用,总觉得孩子这个题出过了,这个题太简单了,这个题重复了,抓耳挠腮、吭哧瘪肚半天才弄出30道题,后来想到自己简直就是个傻子,怎么不用表格函数自动出题呢,嗯,说办就办。
出题这个随机函数主要是用到randbetween,比如,想给孩子出加法,就可以在A1单元格输入=randbetween(1,20)&"+"&randbetween(1,20)&"="
那么它出来的就是酱婶儿的
图1
但是随着孩子学问的增加,光是加法已经无法满足了,加减乘除都来了,挡都挡不住,咋办?
好办,我们就将上面的函数分成三个,填到三个单元格
首先,我们先说说符号,就是“+、-、×、÷”,这个符号也是可以随机的,我用了到两个函数,分别是vlookup和上面说到的randbetween函数。
嗯~~,A1暂时先空着,因为孩子还没学负数和分数、小数,也就是减法和除法是需要设置的,我们由简单到难分别讲解。
先在其他格处竖向输入1、2、3、4,右侧对应+、-、×、÷,就是酱婶儿的
图2
在B1格输入=VLOOKUP(RANDBETWEEN(1,4),L1:M4,2)
randbetween(1,4)函数的意思是随机生成1-4之间的数,vlookup就是查找显示1-4对应的第二列的数据,就是随机生成了加、减、乘、除号
图3
好了,符号完成了,那么C1单元格的数字就可以随机,就是利用randbetween(1,20)就好了,哦,对了,randbetween(1,20)的意思是最小数字为1,最大为20,可自行修改里面的数值。
那么关键的来了,如果是随机时出现了减法,而按照上面的函数,可能会出现结果为负数的情况,就像图3,那应该怎么做?很简单,函数randbetween(最小值,最大值),只要最小值大于减数就可以了,那么最小值是多少呢?
最小值就是C1单元格中的数字,那么A1就填上=randbetween(C1,20),注意,并未完,如果现在出题,也可以完成,但A1的数字永远大于等于C1单元格数字,而且除法的问题呢?请继续往下看
如果随机出现除法怎么办?孩子还没学过分数小数,还是涉及到C1单元格中的数字,那么A1就等于随机的一个数字乘上C1就可以了,在A1填上=RANDBETWEEN(1,9)*C1,好了,除法也出来了,现在需要把加、减、乘、除四个随机算式组装在一块儿
A1=if(B1="-",randbetween(C1,20),if(B1="÷",RANDBETWEEN(1,9)*C1,randbetween(1,20))
因为我在表格中列入了+、-、×、÷,所以我把式子改成
A1=IF(B1=M2,RANDBETWEEN(C1,20),IF(B1=M4,RANDBETWEEN(1,9)*C1,RANDBETWEEN(1,20))
m2单元格就是-,m4单元格就是÷
然后除法就是这样了
减法就是这样了
OK,都满足了要求!这下一次1000道我也不用浪费脑细胞出题了!
儿子还有认识钟表,也可以利用表格的饼状图来实现。