在这里学了很久了。但还是没有实践成功。EXCEL试过INDIRECT,ACCESS的RND,都试了。重复,结果不随机等问题同样出现。。呵呵由于数据量比较大,例如,表A里sheet1的B列数据,可能有10W+,10W+有重复的记录,我要从B列种随机抽取1W个不重复记录,怎么选取?(B列中不重复数据条肯定大于1W个)请各位大神指教,EXCEL的方法和ACCESS的方法。坛子里有一位大神的帖子,我看不懂啊如何用时间做种子啊?ACCESS中直接在SQL的查询视图里写代码吗?代码应该如何写呢?

解决方案 »

  1.   

    Excel:
    步骤如下:
    在Sheet1中: 
    1、先在O列用函数=CountIf()对第一次出现的数据标记上1,大于1的设置为0
    2、在P列使用随机数函数=if(O1=1,rand(1-500000),"")
    在Sheet2中:
    1、根据行取得最小的10000个数所在位置并引用(Sheet2的A1输入公式,假设Sheet1没有表头)
     =Offset(Sheet1!A1,match(Small(Row(),Sheet1!P:P),Sheet1!P:P)-1,Column()-1)Access的原理是一样的。只是Access中可以做个视图(View),加上随机数进行排序即可。