回覆列表
  • 1 # 布衣公子

    1、新建一個EXCEL工作簿,命名為“隨機出題”,將第一個工作表命名為“題庫”,新建一個工作表,命名為“試卷”。具體方法請參見如上動圖。

    2、在名為“題庫”的工作表中,A列為編號,B列為英文,C列為中文。將題目對應貼上進去。在名為“試卷”的工作表A1單元格錄入“題目”二字作為標題。具體方法請參見如上動圖。

    Sub 隨機出題()

    Dim d As Object, arr, rng As Range, arr1, n As Integer, i As Integer, j As Integer, x As Long

    Set d = CreateObject("scripting.dictionary")

    x = Application.CountA(Sheets("題庫").Range("a:a"))

    line1: i = InputBox("請輸入隨機出題數量", "出題數量")

    If i > x Then

    MsgBox ("數量超出題目總數" & x & ",請重新輸入")

    GoTo line1

    End If

    line2: j = InputBox("請輸入隨機出題型別", "出題型別", "1為英文,2為中文")

    If j <> 1 And j <> 2 Then

    MsgBox ("輸入內容不符合要求,請重新輸入")

    GoTo line2

    End If

    Do

    d.Item(Application.RandBetween(1, i)) = ""

    Loop Until d.Count = i

    ReDim arr(1 To d.Count * 2)

    For Each arr1 In d.keys

    n = n + 1

    Set rng = Sheets("題庫").Range("a:a").Find(arr1)

    arr(n) = n & "、" & rng.Offset(0, j).Value

    Next

    Rows("2:1048576").Clear

    Range("a2").Resize(d.Count * 2, 1) = Application.Transpose(arr)

    End Sub

    5、將檔案另存為字尾名為.xlsm的格式。具體方法請參見如上動圖。

    6、具體使用方法如上動圖。

  • 2 # Excel到PowerBI

    用Excel做一個自動出題的表格非常簡單,上次我在陪兒子參加他們的詞彙比賽之前就做了一個簡單,即:從一系列單詞裡,隨機提取9個單詞放入九宮格內,然後給1分鐘的時間記憶……,具體如下:

    一、準備單詞表

    當然,準備單詞表的同時,還可以在Excel裡做個網路的解析(這個公式看起來長,其實就是一個函式而已,其中是一長串的網址)和背誦進度的記錄等等,如下圖所示:

    二、透過函式完成出題

    1、結合RandBetween函式、CountA函式隨機獲取單詞位置,如下圖所示:

    2、透過Index函式根據隨機位置抽取單詞,如下圖所示:

    當然,你可以將這些函式組合起來寫成一個公式,也非常簡單,自己動手試一下即可。總的來說,用Excel自動出題並不難,關鍵是對Excel中常用的函式掌握好。

    【60+函式彙總案例】

    【資料透視基礎精選10篇】

    【Power Query入門到實戰80篇】

    【Power Pivot 基礎精選15篇】

  • 3 # 不識真心

    先在某一列填入題庫,在另一列寫入隨機函式randbetween來得到隨機數,在另一列用indirect函式依靠隨機數抽取題庫列的單詞,會有少量重複,但是簡單容易實現。每次按一下空格鍵就可以重新出題。

  • 中秋節和大豐收的關聯?
  • DNF出現最強契約,全技能等級+1,冷卻-20%,這樣的契約國服會更新嗎?