当前位置:首页 » 办公资讯 » 怎样用excel抽人名

怎样用excel抽人名

发布时间: 2022-04-25 08:45:50

① 如何在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。
    试试看!
    查看原帖>>

    热点内容
    马路上汽车的噪音在多少分贝 发布:2023-08-31 22:08:23 浏览:1740
    应孕棒多少钱一盒 发布:2023-08-31 22:08:21 浏览:1238
    标准养老金一年能领多少钱 发布:2023-08-31 22:05:05 浏览:1524
    湖北通城接网线多少钱一个月 发布:2023-08-31 21:59:51 浏览:1604
    开随车吊车多少钱一个月 发布:2023-08-31 21:55:06 浏览:1365
    京东付尾款怎么知道前多少名 发布:2023-08-31 21:52:58 浏览:1686
    在学校租铺面一个月要多少钱 发布:2023-08-31 21:52:09 浏览:1822
    2寸有多少厘米 发布:2023-08-31 21:50:34 浏览:1457
    知道电压如何算一小时多少电 发布:2023-08-31 21:46:20 浏览:1444
    金手镯54号圈周长是多少厘米 发布:2023-08-31 21:44:28 浏览:1618