今天,我們就來給大家做一個自動生成規定範圍内數字的四則運算的Excel自動生成方法。效果如下:
同時可以通過設置一些參數控制數字的範圍以及運算符的範圍:
也可以直接生成帶有答案的試題,如下圖:
下面,我就帶領大家一起來實現以上的效果吧。按照我們的習慣,還是先來給大家介紹一下使用到的幾個函數。
一、RAND函數語法:=RAND()
說明:該函數不需要任何的參數,返回的是大于等于0,小于1的随機數。
二、RANDBETWEEN語法:= RANDBETWEEN(bottom,top)
參數解釋:bottom返回的最小的随機數;
Top返回的最大的随機數。
結果:返回位于bottom和top之間的一個随機整數。
三、choose函數語法:Choose(index_num, value1, [value2], ...)
返回結果:對應的value的值。
參數解釋:Index_num 必要參數,數值表達式或字段,它的運算結果是一個數值,為 1 至254之間的數字。 或者為公式或對包含 1 到 254 之間某個數字的單元格的引用。
Value1:index_num為1時候的返回的結果。依此類推。
四、FIND函數語法:FIND(find_text,within_text,start_num)
返回結果:返回的結果為查找的字符串出現的位置。
參數解釋:Find_text 是要查找的字符串。
Within_text 是包含要查找關鍵字的單元格或者字符串。就是說要在這個單元格(字符串)内查找關鍵字
Start_num 指定開始進行查找的字符數。比如Start_num為1,則從單元格(字符串)内第一個字符開始查找關鍵字。如果忽略 start_num,則假設其為 1。
五、SQRT函數語法:SQRT(number)
返回結果:返回正平方根。
參數解釋:number為要計算平方根的數。
六、INT函數語法: INT(number)
返回結果:将number向下取整到最接近的整數。
參數解釋:需要進行取整的實數。
七、案例的實現要實現開頭演示的效果,我們需要做一些輔助的單元格。如下所示:
1.在【符号】欄生成運算符号,公式如下:
=CHOOSE(RANDBETWEEN($X$5,$Y$5)," ","-","×","÷")
公式解釋:使用RANDBETWEEN生成指定返回的随機數,我們在X5和Y5中分别制定下限和上限,就可以控制生成的符号的範圍。比如X5中為1,Y5中為2,則生成的随機數就隻能為1或者2,此時通過choose函數就隻能選擇出" "或者"-"。要生成其他的符号範圍,以此類推。
2.在【第二項】欄生成計算式的第二項,公式如下:=IF(FIND(C3," -×÷")>2,INT(SQRT(RAND()*$X$4)) 1,RANDBETWEEN(1,$X$4-1))
公式解釋:如果是加法或者減法,此時第二項可以直接生成1到範圍最大值-1的數字即可。但是當為乘法或者除法時,為了要控制結果在指定的範圍内,此時最大值隻能是範圍的最大值開平方根。所以我們就控制第二個數字為RAND()*$X$4的開平方根後進行取整,因為rand函數的結果會出現0,因為在除法中0做除數是沒有意義的,所以我們讓最後的結果加1。
3.在【第一項】欄生成計算式的第一項,公式如下:=CHOOSE(FIND(C3," -×÷"),RANDBETWEEN(1,$X$4-D3),RANDBETWEEN(D3,$X$4),RANDBETWEEN(0,INT($X$4/D3)),RANDBETWEEN(1,INT($X$4/D3))*D3)
公式解釋:先使用find函數查詢出符号欄是哪種運算,然後依次根據不同的運算符号來生成第一項的值。如果是加法,則第一項的值需要控制在1到(最大值-第二項)的範圍内;如果是減法,則第一項需要控制在第二項到最大值的範圍内(我們隻考慮計算結果為正數的情形);如果為乘法,第一項控制的最大範圍是總範圍/第二項的結果取整;如果為除法,我們要控制計算結果為整數,此時計算結果範圍是1到(控制的最大範圍/第二項),那麼第一項的值就等于結果*第二項。
4.在【輔助1】中生成計算式子,公式如下:="="&B3&C3&D3
5.在【結果】中生成式子的計算結果。我們要讓輔助1中的式子計算出結果,可以有多種方式(請參考文章Excel中計算單元格中文本算式的值),此處使用宏表函數EVALUATE進行計算。EVALUATE函數不能直接使用,需要通過定義名稱的方式使用。如下:
然後在結果欄中輸入:
=計算式
6、在【算式】中生成最終的結果,公式為:=IF($X$6="ssyy",B3&C3&D3&"="&F3,B3&C3&D3&"=")
題号的格式我們通過自定義單元格格式來實現,代碼為【(G/通用格式)】。
最終結果如下所示:
經過以上的步驟就可以得到最終的算式,最後我們可以把1-5的輔助計算全部隐藏,然後複制成三列,就可以得到我們最後需要的結果啦。
如果需要獲取本教程的演示文件,請點擊我名字後面的關注,然後私信【四則運算】獲取。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!