今天,我們就來給大家做一個自動生成規(guī)定范圍內數字的四則運算的Excel自動生成方法。效果如下: 同時可以通過設置一些參數控制數字的范圍以及運算符的范圍: 也可以直接生成帶有答案的試題,如下圖: 下面,我就帶領大家一起來實現(xiàn)以上的效果吧。按照我們的習慣,還是先來給大家介紹一下使用到的幾個函數。 一、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) 返回結果:返回的結果為查找的字符串出現(xiàn)的位置。 參數解釋:Find_text 是要查找的字符串。 Within_text 是包含要查找關鍵字的單元格或者字符串。就是說要在這個單元格(字符串)內查找關鍵字 Start_num 指定開始進行查找的字符數。比如Start_num為1,則從單元格(字符串)內第一個字符開始查找關鍵字。如果忽略 start_num,則假設其為 1。 五、SQRT函數 語法:SQRT(number) 返回結果:返回正平方根。 參數解釋:number為要計算平方根的數。 六、INT函數 語法: INT(number) 返回結果:將number向下取整到最接近的整數。 參數解釋:需要進行取整的實數。 七、案例的實現(xiàn) 要實現(xiàn)開頭演示的效果,我們需要做一些輔助的單元格。如下所示: 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函數的結果會出現(xiàn)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&'=') 題號的格式我們通過自定義單元格格式來實現(xiàn),代碼為【(G/通用格式)】。 最終結果如下所示: 經過以上的步驟就可以得到最終的算式,最后我們可以把1-5的輔助計算全部隱藏,然后復制成三列,就可以得到我們最后需要的結果啦。 |
|
來自: 加肥qhq463lhr4 > 《電腦技巧》