怎樣用excel抽人名
① 如何在excel中把不同部門的人各抽取50%人員姓名提取出來
把下列代碼粘貼到模塊。在工作表建立個按鈕控制項,方便使用。
Sub 隨機提取部分和姓名()
Dim dic As Object, ran As Range, e_row As Long, Arr()
Set dic = CreateObject("scripting.dictionary")
With ThisWorkbook.ActiveSheet
.Range(Cells(2, 4), Cells(Cells.Rows.Count, 7)).ClearContents
e_row = .Range("A" & Cells.Rows.Count).End(xlUp).Row
For Each ran In Range("A2:A" & e_row)
If ran.Value <> "" Then dic(ran.Value) = ""
Next ran
s = -1
For Each xkey In dic.keys
For i = 2 To e_row
If Cells(i, 1).Value = xkey Then
s = s + 1
ReDim Preserve Arr(1, s)
Arr(0, s) = Cells(i, 1)
Arr(1, s) = Cells(i, 2)
End If
Next i
s = 0
Dim Arr2(), arr3()
Randomize (Timer)
nrnd = Int(UBound(Arr, 2) / 2) '50%取整
ReDim Arr2(nrnd)
Dim RndNumber, temp(), j, k, Maxrec As Integer, bm As Long, xm As Long
Randomize (Timer)
Maxrec = UBound(Arr, 2)
k = 0
ReDim temp(nrnd)
'不重復的隨機數
Do While k < nrnd
RndNumber = Int(Maxrec * Rnd) + 1
temp(k) = RndNumber
Arr2(k) = RndNumber
For j = 0 To k - 1
If temp(j) = RndNumber Then Exit For
Next j
If j = k Then k = j + 1
Loop
ReDim arr3(1, nrnd)
For g = 0 To nrnd
arr3(0, g) = Arr(0, Arr2(g))
arr3(1, g) = Arr(1, Arr2(g))
Next g
bm = .Cells(Cells.Rows.Count, 4).End(xlUp).Row + 1
.Cells(bm, 4).Resize(UBound(arr3, 2) + 1, 2) = Application.Transpose(arr3)
Dim h&, f&, arr5(), y&, Bool As Boolean
y = 0
For h = 0 To UBound(Arr, 2)
Bool = False
For f = 0 To UBound(arr3, 2)
If Arr(1, h) = arr3(1, f) Then
Bool = True
Exit For
End If
Next f
If Bool = False Then
ReDim Preserve arr5(1, y)
arr5(0, y) = Arr(0, h)
arr5(1, y) = Arr(1, h)
y = y + 1
End If
Next h
xm = .Cells(Cells.Rows.Count, 6).End(xlUp).Row + 1
.Cells(xm, 6).Resize(UBound(arr5, 2) + 1, 2) = Application.Transpose(arr5)
ReDim Arr(1, 0)
ReDim Arr2(0)
ReDim arr3(1, 0)
ReDim arr5(1, 0)
Next xkey
End With
End Sub
② 如何在excel裡面一行提取人名
是說在已經有的文章裡面找到你想要的那一個名字嗎,在你知道的情況下,在excel表格使用快捷鍵CTRL+h鍵,會彈出來一個用什麼字替換什麼字的對話框,裡面有個設置形狀格式,改為圖案,顏色,讓想要的文字替換為這個文字的另一種顏色就行,很輕易的就能看出來
③ 怎樣用excel製作抽獎姓名
公司每年年終都會搞抽獎活動,隨機從參會員工名單中抽取若干名員工發放年終實物大獎,身邊沒有搖獎機情況下,大家可以試著在EXCEL內通過公式來製作一個抽獎器,製作方法挺簡單的,大家可以參考本經驗製作,具體操作方法如下
注意事項
各版本EXCEL設置方法類似
按住F9鍵不放,保持多少時間放開可以自行規定,確保搖獎公平性
按F9鍵人與報數人分開,確保搖獎公正性
要同時產生多少個中獎人,只需在中獎人單元格列設置多少個公式
以上資料供參考
④ excel如何實現不重復抽人名
要完美實現可能需要編寫宏,所以簡單一點的辦法:
1.在姓名列的後一列用如下公式=INDIRECT("A"&TEXT(RANDBETWEEN(1,15),"#")) 並下拉公式;
2.其中公式中A為姓名列的列號,1為姓名的開始行,15為姓名結束行,樓主依實際情況改變,
3.在新產生的列用EXCEL的刪除重復項功能把重復項刪掉並取前10個結果 (刪除重復項前先把新列復制粘貼為文本)。
⑤ 怎麼在excel中隨機抽取人名
用INDEX配合隨機函數 RAND/RANDBETWEEN
⑥ excel相關,有多個工作表名單,如何實現一鍵從每個工作表裡隨機抽取一個人名出來,每個工作表抽一個
操作:
分別在不同單元格用公式:=INDEX(Sheet2!A:A,RANDBETWEEN(1,5))
=INDEX(Sheet3!A:A,RANDBETWEEN(1,5))
然後按F9鍵刷新即可。
解釋:
Randbetween(1,5),即在1到5之間取隨機數;
Index,即按這個隨機數取對應的值;
Sheet2,Sheet3,即對應說的多個工作表,可以按實際增加;
A:A列,即姓名列,可以根據實際情況換;
1,5, 即姓名列的開始和結束序號,根據實際情況改。
⑦ excel隨機抽取名字
名字在A1到A20,B1中輸入:
=indirect("a"&int(rand()*20+1))
即可
每次按下F9,B1中即可隨機產生一個名字,如果你有多個名字,類推就行啦,把公式中的20改成你的最大行數即可
為何按下F9會變為0,謝謝
你的數據區包含空格,即A1到A20中含有空白單元格
任何疑義,hi我
⑧ 如何用EXCEL在一列指定的學號中,隨機抽取一個並顯示姓名
很簡單啊,用VLOOKUP()粘貼函數即可。
VLOOKUP的作用是:
在表格或數值數組(學號列與姓名列構成數組)的首列查找指定的數值,並由此返回表格或數組當前行中指定列處的數值。
解決問題:
假設A列是學號,B列是姓名,數據區域為A1:B1000;隨機抽出的學號在D1單元格。則在D2單元格中輸入公式
=VLOOKUP($D$1,$A$1:$B$1000,2)
即可。
效果:隨著D1單元格中的學號發生變化,在D2單元格中顯示D1單元格學號所對應的姓名。
公式釋義:在A1:B1000單元格區域的首列(A列)查找等於D1單元格中的數值,並返回該數值所在行的第2列(B列)的數值(也就是學號所對應的姓名了)。
注意:你所書寫的公式RAND()871+58應該改成RAND()*(928-871)+871。
試試看!
查看原帖>>