EXCEL隨機抽出不重複的資料,excel如何隨機不重複抽取一組資料

2021-05-23 11:01:39 字數 2958 閱讀 8448

1樓:毅子尚猛

1、如果資料在sheet2 的a:d列,在sheet2的a列前插入兩列輔助列;

2、在左上角的名稱框中,輸入a2:a953,按enter鍵,將a2:a953單元格選中,輸入=rand(),按ctrl+enter組合鍵結束,快速向a2:

a953單元格中輸入隨機數(隨機數的重複機率極低);

3、在b2單元格輸入以下公式,然後向下填充公式,得到a列資料的排名(同樣沒有重複排名)

=rank(a2,a:a)

4、在sheet1的a2單元格輸入以下公式,然後向右向下填充公式到d361單元格,得到由sheet2工作表中隨機取得的不重複的360行資料

=vlookup(row()-1,sheet2!$b:$f,column(b1),0)

公式表示:以當前行號在sheet2的b列精確匹配對應行,並返回對應第2列(sheet2的c列)資料。

5、因隨機取數時,工作表只要輸入乙個資料,就會在「自動計算」中 重新得到一組資料,因此,可以將sheet2的a列,「複製」並「選擇性貼上」為「數值」,避免資料不斷變換。或者將「公式」選項中的「計算選項」設定為「手動」。

6、注意:通過randbetween函式得到隨機函式的方法,會出現重複資料,從而達不到既隨機又唯一取數的目的,沒有rand得到一列不重複的隨機數再排名來得科學有效。

2樓:

這個題不是那麼簡單

b2輸入公式

=index(a:a,small(if(countif(b$1:b1,a$1:

a$100),101,row($1:$100)),roundup(rand()*(102-row()),)))

公式以ctrl+shift+enter三鍵組合結束輸入然後公式下拉即可

3樓:

可採用選擇一隨機數,然後根據隨機數取值的方法取得該名字。

公式為:=index(a:a,int(rand()*100),1)

注:本處未考慮不重複的現象,你可在生成的隨機數上判斷一下,避免重複數。

4樓:excel基礎學習園地

=large($a$1:$a$100,int(rand()*100))

三個單元格複製公式即可

5樓:水無憂因風皺

= index(a:a,round(rand()*100,0))

excel如何隨機不重複抽取一組資料

6樓:匿名使用者

假定姓名在sheet1!a列

在b1:b20 寫入公式: =rand()sheet2! a1寫入公式:

=index(sheet1!a:a,rank(sheet1!b1,sheet1!$b$1:$b$20))下拉

7樓:桖山

這裡舉個簡單的例子

假如有名字51個,在a列

現在d列按你的要求把它們打亂排序

輸入 陣列公式,輸完後 按crtl+shift+enter=index(a$1:a$51,large(if(isna(match(a$2:a$51,d$1:

d1,)),row(a$2:a$51)),1+int(rows(a1:a$50)*rand())))

用excel函式隨機選取數值並且不重複

8樓:退休畫線工

不是很明白題主的要求,主要是對什麼情況不能再沒理解透。是不是任意行任意列都只能取一次,就是5個數必須5列中各取乙個,且均不同行?

如果是,仍然有乙個如何確定是達到了目的的問題,因為所給的資料存在大量重複資料,即使取自不同的行和列,單看結果,也無法確定是否是按要求的取的數。所以下面的解答中,先在g1:k1中用公式確定從哪些單元格取數(公式的結果用r1c1引用方式,即r後的數字表示第幾行,c後面的數字表示第幾列)

因為隨機取數,要達到上面的目的,就要取數確定,不再變化。所以要先在選項的公式選項卡中勾選「啟用迭代計算」後確定,且因為迴圈計算次數較多,要把迴圈次數設定得大一些,如10000。主要是因為正好5列,每列都要取到且不重複,導致隨機迴圈計算量大。

確定取數的單元格位置:

g1=if(or(g1=),address(randbetween(1,13),randbetween(1,5),1,0),g1)

h1=if(or((h1=),right(h1)=right($g1:g1),left(h1,3)=left($g1:g1,3)),address(randbetween(1,13),randbetween(1,5),1,0),h1)

同時按ctrl+shift+enter三鍵輸入陣列公式,右拉到k1

觀察是否還有重複的行號或列順序號,如有,按f9,直到沒有重複後再按f9也不會發生變化。這樣就在g1:k1中確定要引用資料的單元格位置。

且這些位置既是隨機確定的,又保證沒有重複的行和列。

3. 在g2:k2中從a1:e13中引用g1:k1確定的引用位置的資料:

g2=indirect(g1,)

右拉到k2

圖中資料是複製的題主提問中的資料。

9樓:

1、可以用vba程式來解決。

2、先用迴圈。每一次迴圈選取每行的乙個數字。

3、至於選哪個可以用隨機數函式來決定。

4、一次迴圈結束後就是想要的值。

5、可以上傳附件到論壇,讓網友幫助解答。

10樓:匿名使用者

1.選中a列 資料 篩選 高階篩選

勾選 選擇不重複的記錄

可將篩選結果複製到b1為首的b列。

2.公式法

在b1中輸入或複製貼上此公式

=index(a:a,small(if(match($a$1:$a$16,$a$1:

$a$16,)=row($1:$16),row($1:$16),65536),row(a5)))&""

按ctrl+shift+enter結束公式輸入下拉填充

EXCEL自動隨機不重複的函式,且不能等於指定資料,怎麼做

應該不叫 號,開始還被你這 號 帶到坑里去了。開始以為是 100個人有對應的編號1 100,加上截圖也已有編號對應更加證實這樣的理解。要從這100個編號中 若干人,其中66號和88號已先指定。按這個理解編寫完公式時,發現並沒有說 人數為多少,再重新來看,才貌似是要把100個人隨機編號,其中有兩個人指...

怎麼從excel中篩選出不重複的資料

專注精品優選 excel工作表使用小技巧,如何快速篩選excel 中的不重複資料,具體步驟如下 excel怎麼篩選不重複的資料? excel精選課 excel怎麼快速篩選不重複資料? office辦公技巧 excel如何快速篩選不重複資料? 你另一表的任何一列的第一行輸入 if countif sh...

EXCEL母生成三位字母的隨機不重複組合

26個字bai 母任意3個組合 理論上可以du產生zhi26 26 26 17576個組合。可以dao用公式先將所有版組合產生出來放在權a列。然後在b列用公式隨機抽取a列中的組合。a1公式 將公式向下複製到17576行。然後用複製 選擇性貼上 數值,將a列公式結果固定下來。b2公式 index a ...