如何做一个excel抽签,而且抽过的内容不再被第二次抽出

如何做一个excel抽签,而且抽过的内容不再被第二次抽出,第1张

Excel中,由952组数据中随机抽取360组不重复的数据。

开启分步阅读模式

工具材料:

安装Excel程序的电脑

*** 作方法

01

如果数据在Sheet2 的A:D列,在Sheet2的A列前插入两列辅助列;

02

在左上角的名称框中,输入A2:A953,按Enter键,将A2:A953单元格选中,输入=RAND(),按Ctrl+Enter组合键结束,快速向A2:A953单元格中输入随机数(随机数的重复机率极低);

03

在B2单元格输入以下公式,然后向下填充公式,得到A列数据的排名(同样没有重复排名)

=RANK(A2,A:A)

04

在Sheet1的A2单元格输入以下公式,然后向右向下填充公式到D361单元格,得到由Sheet2工作表中随机取得的不重复的360行数据

=VLOOKUP(ROW()-1,Sheet2!$B:$F,COLUMN(B1),0)

公式表示:以当前行号在Sheet2的B列精确匹配对应行,并返回对应第2列(Sheet2的C列)数据。

05

因随机取数时,工作表只要输入一个数据,就会在“自动计算”中 重新得到一组数据,因此,可以将Sheet2的A列,“复制”并“选择性粘贴”为“数值”,避免数据不断变换。或者将“公式”选项中的“计算选项”设置为“手动”。

特别提示

通过RANDBETWEEN函数得到随机函数的方法,会出现重复数据,从而达不到既随机又唯一取数的目的,没有RAND得到一列不重复的随机数再排名来得科学有效。

思路:

1、生成随机数,与范围相乘;

2、判断已生成的数是否存在,若不存在则添加到原数组中,若存在则继续重新生成;

3、判断已生成数量,达到要求则停止生成。

曾经帮别人答过,代码如下:

#include <stdioh>

#include <stdlibh>

#include <timeh>

int main()

{

    int nAppValue, nUserValue, iCount = 0;

    srand( time( 0 ) );

    nAppValue = rand() % 100 + 1;

    printf( "请猜我选中的是哪个数字(1-100)\n" );

    do

    {

        scanf( "%d", &nUserValue );

        ++iCount;

        if( nUserValue == nAppValue )

        {

            printf( "猜了%d次, 猜中了!\n",iCount );

            break;

        }

        else if( nUserValue > nAppValue )

        {

            printf( "错了!再小点, 继续猜!\n" );

        }

        else

        {

            printf( "错了!再大点!继续猜!\n" );

        }

    }while(1);

    printf( "游戏结束!\n" );

    return 0;

}

以上就是关于如何做一个excel抽签,而且抽过的内容不再被第二次抽出全部的内容,包括:如何做一个excel抽签,而且抽过的内容不再被第二次抽出、labview如何抽取不重复的随机数、C语言程序设计:用电脑设计一个猜数游戏,电脑从1-100中随机选一个数让玩家猜,如果玩家猜错了电脑等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10109557.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存