Luo240186376
大家好,我是頭條號:Excel自學成才
抽獎小程序,要求的是結果隨機,在Excel裡面有隨機數函數rand()和randbtween來進行製作的,我們分三種情況來製作,1、單人抽獎,2、多人不重複抽獎,3、內定抽獎
我們首先準備抽獎的名單,放在A列,這個表格裡面有88個人員
1、單人抽獎模式
我們在某個空白的單元格中輸入公式
=index(a:a,randbetween(1,88))
這個時候,我們按住F9鍵,屏幕就會滾動起來,鬆開F9鍵,就得到了抽獎的結果(如果是筆記本電腦,按FN+F9鍵),抽獎效果如下所示:
2、多人不重複抽獎
我們需要在第2列中輸入公式=rand()函數,然後向下填充,它會隨機的生成0-1之間的隨機數
然後我們在中獎名單裡面輸入公式:=index(a:a,rank(b1,b:b)),希望幾個人中獎的話,就向下拉動幾個單元格,便可以得到不重複的多人中獎抽獎模式
3、內定抽獎
如果希望抽獎的時候,內定抽到自己的話,那麼我們可以藉助VBA來實現製作過程如下,首先我們按ATL+F11,打開VBA編輯器,在裡面輸入如下三個模塊的代碼
因為在代碼中,我們是對D1單元格產生隨機數,所以在表格中,輸入的公式是:=index(a:a,d1)
然後我們插入三個按紐,其中內定的按紐放的隱蔽一點,分別綁定開始,結果,內定代碼
這個時候就製作完成了,當我們正常點擊開始,結束抽獎時,是正常的
當我們提前點了一下內定按紐之後,再點開始,結束時,抽獎的結果100%是作者本身了
因為插入了VBA代碼,所以表格需要另存為一下,將格式更改成xlsm格式的文件。
這就是3個Excel用來製作抽獎的小程序技巧
頭條號:Excel自學成才,主頁有更多精彩內容~
Excel自學成才
EXCEL可以抽獎,通過Randbetween、rand等函數來獲取隨機結果,也是可以的,但不直觀,不明白的也不知道這個結果怎麼來的,公不公平。
現在給大家分享一個PPT+EXCEL來實現的抽獎程序。
到年底了,很多公司都在準備年會,但年會抽獎是少不了的,為了使抽獎程序更直觀,通過VBA在PPT中調用後臺EXCEL中的抽獎人員名實現隨機滾動的效果,在滾動過程中按回車實現抽獎結果隨機定位,中獎的人員將不再進行後續的抽獎,並將抽獎結果寫入EXCEL的中獎人員中。
功能如下:
座位號循環隨機滾動
按回車鍵抽獎一次抽出一名員工,並將中獎的員工信息寫入EXCEL中獎人員表中,同時此員工不再參加後續抽獎
可以簡單修改後設定一等獎、二等獎、三等獎等獎項
抽獎結果在EXCEL抽獎人員中隨機抽取,絕對公平,程序代碼不控制抽獎結果,抽獎結果取決於抽獎時按回車時隨時循環滾動的名單確定。
抽獎主界面,可以添加圖片及動畫效果
抽獎界面,可以添加圖片及動畫效果
抽獎後記錄中獎人員名單
抽獎時,通過座位號隨機滾動抽獎人員
部分VBA代碼
用戶52170484998
Excel抽獎小程序是一種簡單而有意思的應用,抽獎小程序的製作需要掌握以下知識:
RAND函數:生成隨機數
RANK函數:排名次
INDEX函數:引用相應單元格內容
F9鍵的作用:強制執行重算
如果只抽取一個人,只需按下F9鍵,抽取效果如下圖所示:
如果一次抽取多人,按下F9鍵則如下圖所示:
製作過程如下:
首先,準備好參與抽獎的人員名單,為了簡單起見這裡選擇20人作為樣本。
然後,新建兩個輔助列,在“輔助1”列對應的B2單元格輸入公式“=RAND()”,並雙擊向下填充,生成一系列隨機數。隨之在“輔助2”列對應的C2單元格輸入公式“=RANK(B2:B$2:B$21)”,並雙擊向下填充,得到每一個隨機數對應的前後名次。
然後,最重要的一步,在E2單元格用INDEX函數引用A列姓名,具體公式如下:
=INDEX($A$2:$A$21,C2)效果如下圖所示:
然後按F9鍵即可隨機抽取一人,如下圖所示。
如果想要一次抽取多人,可以拖動E2單元格向下複製到需要的位置,比如再向下拖動兩個單元格的位置,到E4單元格,如下圖所示。
然後按F9鍵即可隨機抽取不重複的3人,如下圖所示。
拓展:如果只是抽取一個人的話,還有更加簡單高效的方法,如下圖所示,在C2單元格輸入如下公式即可
=INDEX($A$2:$A$21,RANDBETWEEN(1,20))這裡的RANDBETWEEN函數與RAND函數類似,可以生成指定範圍內的隨機數。
師說新語
用EXCEL製作抽獎小程序,用RAND函數即可實現,可實現以下功能:
1、不重複中獎。
2、自動記錄中獎者。
操作流程如下:
1、準備數據
排序公式=COUNTIFS($B$2:$B$25,">="&B24)
序號公式=IF(D25="√\
excel圖表
如何利用Excel製作出抽獎小遊戲呢?接下來給大家介紹兩種方法。
方法一:使用VLOOKUP和RANDBETWEEN函數
首先介紹下這兩個函數:
1.VLOOKUP是一個查找和引用函數,通過搜索表區域首列滿足條件元素,在表格或區域中查找某個值。 VLOOKUP 函數語法是=VLOOKUP(要查找的值、要在其中查找值的區域、區域中包含返回值的列號、精確匹配或近似匹配 – 指定為 0/FALSE or 1/TRUE)。2.RANDBETWEEN是一個隨機函數,返回位於兩個指定數之間的一個隨機整數,RANDBETWEEN函數語法是RANDBETWEEN (下限值,上限值)我們打開參與抽獎的人員信息表,並作出中獎樣式
其次在中獎人員名單下方輸入=VLOOKUP(RANDBETWEEN(1,18),$A$2:$B$59,2,FALSE)
函數解析:
- RANDBETWEEN(1,18)表示隨機生成1到18中的一個整數。
- VLOOKUP(RANDBETWEEN(1,18),$A$2:$B$59,2,FALSE)表示RANDBETWEEN(1,18)隨機生成的數字中,在$A$2:$B$59區域內精確查找與之對應的值,2表示查找的值,在數據區域的第二列。
其次根據需求調整單元格中獎人員文字樣式
最後按【F9】鍵不放,就可實現抽獎功能了。
完整動圖演示:
方法二:使用index和RANDBETWEEN函數
Index函數介紹:
Index函數用於返回行與列交叉處的單元格引用或單元格的數值;返回的單元格引用可以是一個單元格,也可以是一行或一列。語法:INDEX(對單元格的引用, 第幾行 [第幾列], [第幾個區域])。首先我們在中獎人員名單下方輸入=INDEX(C2:C19,RANDBETWEEN(2,19))
函數解析:
- RANDBETWEEN(2,19)表示,隨機生成2到19中的一個整數。
- =INDEX(C2:C19,RANDBETWEEN(2,19))表示隨機生成的整數中,在C2:C19區域中查找該行的數值。
最後按【F9】鍵不放,就可實現抽獎功能了。
完整演示:
如果我們想實現在抽獎過程中,抽獎名單單元格樣式跟著變化,那麼,我們可以選中抽獎人員區域,點擊【開始】——【樣式】組中——【條件格式】——【突出顯示單元格規則】——【等於】,在打開的對話框中,點擊輸入框右側【圖標】按鈕,選中中獎人員單元格,在右側選中指定顏色即可實現。
以上就是Excel中製作抽獎小遊戲的方法,您要覺得不錯的話,記得點贊支持下哦,歡迎大家留言交流。
點擊上方"關注",每天學習office知識技巧。
全民影廳
小白也可以自己製作的抽獎小程序
我們學習一下,如何製作不重複抽取的 抽獎小程序
1、準備可以抽取的姓名
第三列剩餘可抽取公式:
=IFERROR(INDEX(A:A,SMALL(IF(COUNTIF($C$2:$C$27,$A$2:$A$27)=0,ROW($2:$27)),ROW(A1))),"")
錄入注意是事項:數組公式,按下CTRL+SHIFT+ENTER完成錄入
公式含義:從全部名單中刪除已抽取剩下的可以抽取數據,一般可以直接套用
注意數區域大小,按案例中全部數據27行,具體根據實際修改
2、製作隨機抽取
選擇區域合併單元格,錄入公式:
=INDEX(E:E,RANDBETWEEN(2,LOOKUP(1,0/(E1:E27<>""),ROW(2:27)-1)))
公式簡述:RANDBETWEEN(最小值,最大值)然後最新值和最大值的隨機數
LOOKUP(1,0/(E1:E27<>""),ROW(2:27)-1))
返回E列最後一個有內容的單元格
3、使用演示
在不配合VBA的情況下,需要複製一下粘貼到已抽取中
4、完美方案,配合VBA
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
'Excel辦公實戰-小易
Sub 抽獎()
If ActiveSheet.Buttons(Application.Caller).Caption = "停止抽獎" Then
Cells(Rows.Count, "C").End(3).Offset(1, 0).Value = Range("G3")
ActiveSheet.Buttons(Application.Caller).Caption = "開始抽獎"
ElseIf ActiveSheet.Buttons(Application.Caller).Caption = "開始抽獎" Then
ActiveSheet.Buttons(Application.Caller).Caption = "停止抽獎"
End If
Do
Randomize
If ActiveSheet.Buttons(Application.Caller).Caption = "開始抽獎" Then Exit Do
irow = Int((Columns("E:E").Find("*\
Excel辦公實戰
1.INDEX+RANDBETWEEN函數
如下圖,在D2單元格輸入公式:=INDEX($A$2:$A$11,RANDBETWEEN(1,10)) 按F9刷新可實現抽獎效果。RANDBETWEEN(1,10)表示姓名的個數,從1-10個姓名之間隨機抽取。
2.OFFSET+RANDBETWEEN函數
如下圖,在D2單元格輸入公式:=OFFSET($A$1,RANDBETWEEN(1,10),,) 按F9刷新可實現抽獎效果。
3.同時抽取多個不重複中獎者
首先在B2單元格輸入:RAND()生成隨機小數
然後在E2單元格輸入公式:=INDEX($A$2:$A$11,MATCH(LARGE($B$2:$B$11,ROW(A1)),$B$2:$B$11,0)) 使用LARGE函數提取第1、第2、第3最大值,使中獎姓名不會出現重複。
excel函數教程
用Excel製作抽獎小程序,可以利用函數INDEX函數在結合其它函數用公式法實現。
具體制作方法如下:
例一:假設現在我們要抽一等獎1名
步驟1、把需要參與抽獎的人員姓名整理記錄在Excel表格中同一列,並設置抽獎結果要放置的單元格位置及格式。表格整理設置後如下:
步驟2、在E6單元格里輸入以下公式: =INDEX(A$2:A$13,RANDBETWEEN(1,12));
步驟3、選中A列名字區域,然後點擊菜單欄目的【條件格式】—【突出顯示單元格規則】—【等於】,
在彈出的【等於】對話框中,設置:=E6單元格,填充顏色可以設置為:淺紅填充色深紅色文本,如下圖:
步驟4、最後按住F9鍵不停,就可以看到E6單元格的名字開始滾動起來,停下按F9鍵時,一等獎的幸運兒就產生啦。
公式解析:
公式=INDEX(A$2:A$13,RANDBETWEEN(1,12))有用到兩個函數,INDEX函數和RANDBETWEEN函數。
RANDBETWEEN函數:
含義:返回一個介於指定的數字之間的隨機數;
語法格式:=RANDBETWEEN(bottom,top);
參數意義:
Bottom參數: 將返回的最小整數。
Top參數: 將返回的最大整數。
所以RANDBETWEEN(1,12)表示隨機抽取產生1 ~ 12之間的任意數。
INDEX函數:
含義:返回表或區域中的值或對值的引用;
語法格式:=index(array,row_num,column_num);
參數意義:
Array參數:表示單元格區域或數組常數;
row_num參數:表示要引用的行數;
column_num參數:表示要引用的列數;
(注意:如果省略row_num,則必須有column_num;如果省略column_num,則必須有row_num);
INDEX函數最終結果就是引用出區域內行列交叉處的內容。
比如:公式:=index(A$2:A$13,6),意思就是返回A列第6個姓名。
所以,上述抽獎程序中的公式:=INDEX(A$2:A$13,RANDBETWEEN(1,12)),就是先用RANDBETWEEN函數產生1 ~12之間的隨機數,在用index函數引用出A2:A13區域中,由RANDBETWEEN函數產生的隨機數所在的單元格姓名。
例二、假如中獎者有多名,比如:一等獎有2名。
上述INDEX函數+RANDBETWEEN函數的公式法,適合在中獎者只設置1名的情況,當中獎者設有多名時,上述的公式在抽取多名中獎人員時,會抽到重複的人員。為了避免抽到重複人員,我們可以用以下方法:
步驟1、插入輔助列B列,在B2單元格輸入以下公式:= RAND(),公式向下填充;
步驟2、在E2單元格里輸入以下公式:=INDEX(A$2:A$13,RANK(B2,B$2:B$13)),公式在向下填充;
步驟3、選中A列名字區域,然後點擊菜單欄目的【條件格式】—【突出顯示單元格規則】—【新建規則】,如下圖所示:
在彈出的【新建規則】對話框中,選擇“使用公式確定要格式化的單元格”,輸入公式:
=NOT(ISNA(VLOOKUP(A2,$E$6:$E$7,1,0))),然後點擊【格式】,設置填充顏色,即可,如下圖:
步驟4、最後按住F9鍵不停,就可以看到E6單元格的名字開始滾動起來,停下按F9鍵時,一等獎的幸運兒就產生啦。
公式解析:
RAND函數
含義:返回0~1之間的小數,包含0,但不包含1;
語法格式:=RAND(),它是無參數;
RANK函數
含義:排名函數,常用來是求某一個數值在某一區域內的排名;
語法格式:= rank(number,ref,[order])
參數意義:
number 參數:為需要求排名的那個數值或者單元格名稱(單元格內必須為數字);
ref 參數:為排名的參照數值區域;
order參數:為0和1,默認不用輸入,得到的就是從大到小的排名,若是想求倒數第幾,order的值請使用1。
所以,上述公式:=INDEX(A$2:A$13,RANK(B2,B$2:B$13))中,
RANK(B2,B$2:B$13),是對B2:B13單元格產生的隨機數字排序,生成了隨機的1-12的數字。RANK函數產生的排序結果將用於INDEX函數的參數。
INDEX函數返回表格(B2:B13)中的元素值,此元素由行號的索引值(也就是RANK函數的運算結果)給定。
因為B列的數字是完全隨機的,所以任何數字出現在前2行的概率都相同。
當然,最後你可以把表格美化一下,讓整個抽獎器看過去更美觀一點。
Office學習
分享一個很好用的抽獎工具以及製作方法!(文末有免費獲取方法)
用excel製作抽獎小程序,有幾個問題,如果需要很多人一起用時不方便,而且用戶的權限也不能控制,別人改了設置也不知道,這樣就會導致一些錯誤的出現。
而今天給大家帶來一個好用的工具, 雲表,這是原金山WPS一支創業團隊開發的,設計界面和EXCEL很像,也兼容excel\\WPS,所以會excel的用戶按說都是會用雲表的。
用雲表設計抽獎程序很簡單,你可以像畫表格一樣設計軟件界面,比如哪裡有個圖案, 哪裡有按鈕,哪裡可以填寫文字……。等,你完全可以按照自己的意願來設計。通過全中文的公司來設置抽獎的規則,也可以設置每個人只能抽獎一次,也可以設置獎品,獎品,獎金數額,總之你想要的功能,都能輕鬆實現。而且可以設置公司的所有人一些使用,只有系統管理員才可以設置,其他人只有抽獎的權限和查看結果的權限,沒有修改的權限,所以就很方便。
電腦上使用,手機上也可以使用,可以一鍵生成手機APP
適合企業團建活動時使用。很省心也方便。
如果每次活動抽獎形式和規則會有變化,你可以隨時更改程序就是了,方便簡單。
除了做抽獎程序,還可以做各用管理軟件!
不用編程,做OA、進銷存、人事管理、行政管理、 考勤管理、生產管理。……總之比傳統的管理軟件都要好用,而且普通人都可以使用,不用會編程的。一行代碼都不用寫
免費獲取
1、麻煩您關注、轉發、評論一下,謝謝了,
2、你通過今日頭和手機APP發送私信:123或者雲表 ,即可收到自動回覆的軟件下載地址。
樂圖軟件
1.首先把抽獎的獎品輸入到一列單元格當中,設定一個顯示中獎的單元格(可以大一點方便顯示),在單元格輸入公式【=INDEX(A:A,RANDBETWEEN(4,9))】
2.按住F9鍵不放就可以實現隨機抽獎功能了!我們可以把獎品那一列隱藏起來,這樣子抽獎就更有神秘感了!
公式解析:RANDBETWEEN函數是返回一個介於指定數字的隨機數,顯示一個數字,INDEX是返回給定單元格的值,用INDEX把這個數字代表的值(獎品)顯示出來!
詳細教程可觀看視頻:
\n
{!-- PGC_VIDEO:{"thumb_height": 412, "file_sign": "3938512f9947af1dee6b9dcbaf110ecf\