03.04 excel怎麼製作抽獎小程序?

Luo240186376


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可以抽獎,通過Randbetween、rand等函數來獲取隨機結果,也是可以的,但不直觀,不明白的也不知道這個結果怎麼來的,公不公平。

現在給大家分享一個PPT+EXCEL來實現的抽獎程序。

到年底了,很多公司都在準備年會,但年會抽獎是少不了的,為了使抽獎程序更直觀,通過VBA在PPT中調用後臺EXCEL中的抽獎人員名實現隨機滾動的效果,在滾動過程中按回車實現抽獎結果隨機定位,中獎的人員將不再進行後續的抽獎,並將抽獎結果寫入EXCEL的中獎人員中。

功能如下:

  • 座位號循環隨機滾動

  • 按回車鍵抽獎一次抽出一名員工,並將中獎的員工信息寫入EXCEL中獎人員表中,同時此員工不再參加後續抽獎

  • 可以簡單修改後設定一等獎、二等獎、三等獎等獎項

  • 抽獎結果在EXCEL抽獎人員中隨機抽取,絕對公平,程序代碼不控制抽獎結果,抽獎結果取決於抽獎時按回車時隨時循環滾動的名單確定。

抽獎主界面,可以添加圖片及動畫效果

抽獎界面,可以添加圖片及動畫效果

抽獎後記錄中獎人員名單

抽獎時,通過座位號隨機滾動抽獎人員

部分VBA代碼


用戶52170484998


大家好,我是頭條號: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製作抽獎小程序,用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)

函數解析:

  1. RANDBETWEEN(1,18)表示隨機生成1到18中的一個整數。
  2. 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))

函數解析:

  1. RANDBETWEEN(2,19)表示,隨機生成2到19中的一個整數。
  2. =INDEX(C2:C19,RANDBETWEEN(2,19))表示隨機生成的整數中,在C2:C19區域中查找該行的數值。

最後按【F9】鍵不放,就可實現抽獎功能了。

完整演示:



如果我們想實現在抽獎過程中,抽獎名單單元格樣式跟著變化,那麼,我們可以選中抽獎人員區域,點擊【開始】——【樣式】組中——【條件格式】——【突出顯示單元格規則】——【等於】,在打開的對話框中,點擊輸入框右側【圖標】按鈕,選中中獎人員單元格,在右側選中指定顏色即可實現。

以上就是Excel中製作抽獎小遊戲的方法,您要覺得不錯的話,記得點贊支持下哦,歡迎大家留言交流。

點擊上方"關注",每天學習office知識技巧。


守住l堅持


用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或者雲表 ,即可收到自動回覆的軟件下載地址。


樂圖軟件


歲末年初,很多公司都會舉辦年度酒會。在年度酒會上一般都會進行抽獎。如果用傳統的紙條抽獎,既繁瑣又招人懷疑是否有內幕。很多人會選擇編程來進行抽獎,其實我們可以用excel函數公式來製作抽獎小程序。今天就讓我們一起來學習如何製作Excel 抽獎小程序。

大觀園內舉辦一場年度酒會,準備從三十六釵中抽取5個幸運者。每個人不能重複上榜,重複中獎。

1、先在B列插入隨機數1-36,B2=RANDBETWEEN(1,36),雙擊下拉填充到底。

公式解讀:

RANDBETWEEN函數:返回大於等於指定的最小值,小於等於指定最大值之間的一個隨機整數。其函數語法為:RANDBETWEEN(bottom,top)Bottom參數: RANDBETWEEN將返回的最小整數。Top參數: RANDBETWEEN將返回的最大整數。RANDBETWEEN(1,36)是產生隨機整數1至36。

2、在D1中輸入幸運名單,在D2輸入公式:=INDEX($A$2:$A$37,RANK(B2,$B$2:$B$37)),往下拖動五行,就能產生五個幸運者。

公式解讀:

Rank函數最常用的是求某一個數值在某一區域內的排名。rank函數語法形式:rank(number,ref,[order])函數名後面的參數中 number 為需要求排名的那個數值或者單元格名稱(單元格內必須為數字),ref 為排名的參照數值區域,order的為0和1,默認不用輸入,得到的就是從大到小的排名,若是想求倒數第幾,order的值請使用1。RANK(B2,$B$2:$B$37)意思是B2在B2至B37中排名第幾,B2至B37必須採用絕對引用,否則公式下拉之後會導致排名區域發生變動,導致出錯。

Index函數語法:INDEX(reference,row_num,column_num,area_num)Reference是對一個或多個單元格區域的引用。· 如果要對引用輸入一個非連續區域,請使用括號將該引用括起來。· 如果引用中的每個區域都只包含一行或一列,則可以不使用相應的 row_num 或 column_num 參數。例如,對於單行引用,可以使用 INDEX(reference,,column_num)。Row_num是要從中返回引用的引用中的行編號。Column_num是要從中返回引用的引用中的列編號。當然index函數還有數組形式,在本公式中是採用引用形式,因此只談它的引用形式。INDEX($A$2:$A$37,RANK(B2,$B$2:$B$37))意思是先求出B2在B2至B37中的位置,再算出相對應的A2至A37的單元格,最終產生出幸運者。

因為是採用隨機函數來產生,所以最終產生的幸運者都是隨機的。

如果要更新幸運者,只要按F5就能進行更新,產生新的幸運者名單。

Gif動圖如下:


小蝸牛達人


很多公司每年年終都會搞抽獎活動,隨機從員工名單中抽取若干名員工發放年終幸運大獎。如何利用EXCEL製作抽獎小程序抽獎呢?介紹2種EXCEL製作的抽獎小程序,看是不是有您需要的。

第一種:運用公式製作的簡單抽獎小程序。如果要求不高,抽的人數也不是很多,可以通過EXCEL公式來製作一個簡單的抽獎器。比如我們要從96名員工中抽出3名幸運員工,主要有3個步驟:

1、B2單元格內輸入公式=RAND(),並填充到B97單元格

2、設計好中獎人員名單顯示區域格式,然後在H9單元格錄入公式:

=INDEX($A$2:$A$97,RANK(B2,$B$2:$B$97))

3、通過鍵盤F9開獎,比如按住您可以按住F9鍵不放,此時隨機數及中獎人會不斷變化,倒數幾秒,放開F9鍵隨機生成三個中獎人姓名。

第二種:運用VBA製作的多功能抽獎小程序。如果要求高,比如要求自定義設置獎項名稱、個數、每次抽取人數;抽獎界面的背景圖片、背景音樂、字體樣式、字體顏色、中獎名單顯示位置等設置;此外還包含抽獎名單去重複、從指定名單中篩除、抽獎結果導出等輔助功能,或者是以身份證號、手機號及照片抽獎等功能。建議用VBA代碼寫的比較專業的抽獎程序。我原來為朋友公司做年會PPT時,在網上下載過一個VBA代碼寫的抽獎程序《縉哥哥Excel多功能抽獎器》感覺非常好用。有需要這個抽獎器程序的可以關注今日頭條“EXCEL學習微課堂”,點贊、評論轉發後私信聯繫我。

\n

{!-- PGC_VIDEO:{"thumb_height": 360, "file_sign": "a0ff621270eb1695e41134b2624be886\

EXCEL學習微課堂


抽獎小程序製作最簡的方式,就是間接指定一個含有姓名的單元格(其單元格行號隨機而已),使用下圖函數組。
=INDIRECT("D"&RANDBETWEEN(4,23))

如果你不清楚,可以看我的視頻
http://www.365yg.com/i6595174380832031236/#mid=1608943286868995
應該說得很清楚。
如果看完後,仍然不懂,就直接找我,索要源文件,拿去用就是了,免費哦!


希望這個答案能對大家會有所幫助,若你對電子表格的使用點興趣,請關注的我頭條號: excel實戰小課堂,專門講解電子表格與工程造價實際需要的TIPS。wish you to come to my channel and thank you so~~so~ much!


分享到:


相關文章: