使用Excel创建随机小学数学四则运算

经常给小朋友找题练习四则运算的时候,就会发现有时候花点时间在网上找现成的四则混合运算,是比较麻烦的。一方面,题目是否合适得先打个问号;此外,百度文库豆丁文库现在都要下载券或者VIP了。所以很有必要借助强大的Excel来完成这项工作。

先上成品:

图1.excel四则运算产品

可以看出题目都比较简单,在设定的范围内进行四则运算。其次可以通过设定范围来使得相应的数字不会超出,避免出现错误或者超纲。打印的时候可以选择去掉E、F列或者隐藏起来即可。并且刷新即随机出现新的计算式,两个数字都是随机出现,重复的可能性也相对几率非常小。万一真有重复,那也是再刷新一次的事情。

一、表格使用的Excel函数

整个表格中主要借助了Excel中的FIND、CHOOSE、RANDBETWEEN、EVALUATE 这四个函数。下面先简单介绍下这几个函数。

FIND函数

说明:从字串中找到对应的项,并返回相应的值。通过这个函数来判断使用四则运算的符号是哪一个。

语法

FIND(find_text, within_text, [start_num])

FIND 和 FINDB 函数语法具有下列参数:

find_text    必需。 要查找的文本。

within_text    必需。 包含要查找文本的文本。

start_num    可选。 指定开始进行查找的字符。 within_text 中的首字符是编号为 1 的字符。 如果省略 start_num,则假定其值为 1。

CHOOSE 函数

说明:根据相应的数值参数,选择对应的公式或单元格引用。通过与上一个函数FIND的配合,FIND提供相应的数值参数,CHOOSE来输出对应的四则运算的公式。

CHOOSE(index_num, value1, [value2], ...)

CHOOSE 函数语法具有以下参数:

index_num    必需。 用于指定所选定的数值参数。 index_num 必须是介于 1 到 254 之间的数字,或是包含 1 到 254 之间的数字的公式或单元格引用。

如果 index_num 为 1,则 CHOOSE 返回 value1;如果为 2,则 CHOOSE 返回 value2,以此类推。

如果 index_num 小于 1 或大于列表中最后一个值的索引号,则 CHOOSE 返回 #VALUE! 错误值。

如果 index_num 为小数,则在使用前将被截尾取整。

value1, value2, …    Value1 是必需的,后续值是可选的。 1 到 254 个数值参数,CHOOSE 将根据 index_num 从中选择一个数值或一项要执行的操作。 参数可以是数字、单元格引用、定义的名称、公式、函数或文本。

RANDBETWEEN函数

说明

返回位于两个指定数之间的一个随机整数。 每次计算工作表时都将返回一个新的随机整数。从这里就可以实现相应的随机数字,与RAND不同的是,本函数是返回一个整数,从而避免出现小数等情况,也无需再使用ROUND、INT等函数来取整。

语法

RANDBETWEEN(bottom, top)

RANDBETWEEN 函数语法具有下列参数:

Bottom    必需。 RANDBETWEEN 将返回的最小整数。

Top    必需。 RANDBETWEEN 将返回的最大整数。

EVALUATE函数

说明:EVALUATE为宏表函数,需要进行定义后使用。

用法:

返回单元格中以文本形式表示的算术表达式的值。

二、公式的套用

首先需要建立辅助值,用来限定相应运算的范围,并且列举出四则运算的运算符,在Excel中加减乘除的符号是+-*/。例如我们现在需要算100以内的减乘除,200以内的加法,可以设定相应的范围为[1,9],[1,99]。

图2.辅助区域输入范围

其次,先随机获得四则运算的符号,相应的公式如下:

=CHOOSE(RANDBETWEEN(1,4),L$2,L$3,L$4,L$5)

公式的大致含义是,随机从1-4这四个数字中抽取一个数字,并输出对应的单元格,即相应的运算符。

再次,设定好第二项的数字的公式,这里的公式如下:

=IF(FIND(C2,"+-/*")<3,RANDBETWEEN(J$2,J$3),RANDBETWEEN(K$2,K$3))

这里公式大致意思是,先使用FIND函数找到运算符在+-/*中的位置,如果是+-,通过IF函数输出一个随机数,该随机数的范围在J$2,J$3之间,即1-99之间。如果是/*,则输出的随机数在K$2,K$3之间,即1-9之间。

再再次,设定好第一项的数字公式:

=CHOOSE(FIND(C2,"+-*/"),RANDBETWEEN(J$2,J$3),RANDBETWEEN(D2,J$3),RANDBETWEEN(K$2,K$3),RANDBETWEEN(D2,J$3))

大致意思是,通过FIND函数确定四则运算后,输出对应的随机值。注意下减法务必确保随机值的下限是被减数,使得结果不要出现负数。如果是除法的情况下,确保被除数最小值为除数。

三、输出答案

要输出答案,要要借住一个辅助列,并且借用名称管理器自定义一个函数来输出文本型计算式的值。

辅助列的公式为:

="="&B2&C2&D2

也比较容易理解,即为输出一个文本计算式,结果类似=67+56

名称管理器自定义函数的操作如下:

图3.调出名称管理器
图4.新建名称使用EVALUATE函数
  • 点出名称管理器,或者使用快捷键Ctrl+F3调出。
  • 在弹出的名称管理器中选择新建,在新建名称窗口中输入名称,这里输入的是计算值,引用位置输入公式为

=EVALUATE(Sheet2!e2)

  • 即为这里输出辅助列文本项计算式的值。

在结果列输入公式:

="="&IF(C2="/",QUOTIENT(B2,D2)&"余"&MOD(B2,D2),计算值)

这里考虑到除法没有整除的情况,使用了IF判断一下,如果是除法,则同步输出结果是商和余数。这里也借用了QUOTIENT、MOD两个函数,前一个计算商,后一个计算余数。

这样基本上完成了相应的设置,下拉公式即可。

最后就是要将文件保存为xlsm格式,保留了宏函数。