在EXCEL中輸入隨機1 10的數字,不可重複

2021-05-04 13:27:01 字數 1480 閱讀 3987

1樓:匿名使用者

1、利用一個輔助列比如c3到c12,在c3輸入公式:=rand()向下拉到c12

2、然後在b3利用排序函式得到1~10的不重複數字,b3輸入公式:=rank(c3,$c$3:$c$12)

向下拉到b12。

如果你覺得c列礙眼,可以把c列隱藏,也可以先複製b列,再在b列選擇性貼上/數值/確定,就可以把c列刪除了。甚至還有一個更簡單的辦法:把輔助列建在其他工作表,比如在sheet2的c3(也可以其他單元格,但後面公式要相應更改)輸入公式:

=rand()向下拉到c12,然後在你的**sheet1的b3輸入公式:=rank(sheet2!c3,sheet2!

$c$3:$c$12)向下拉到b12

2樓:匿名使用者

這種類似洗牌的,不能用迴圈產生隨機數,然後判斷重複再重新取的方法,那樣有可能死迴圈。

下面**的基本思路就是,將產生的隨機數剔除,然後在剩下的數裡面取。

private function myfunction13() '無重複隨機數

dim i as long, arr() as long, s as long

randomize

redim arr(1 to 10)

for i = 1 to 10 '初始化

arr(i) = i

next

for i = 3 to 12 '行範圍

s = int(rnd() * ubound(arr) + 1) '產生隨機數

range("b" & i).value = arr(s)

arr(s) = arr(ubound(arr)) '將產生的隨機數和陣列最後一個元素交換

if ubound(arr) = 1 then exit for '如果只有一個元素 退出

redim preserve arr(1 to ubound(arr) - 1) '將陣列最後一個元素剔除

next

msgbox "完成!"

end function

3樓:四面生風

第一個隨機數,就直接從1到10中抽,即:

b3=int(rand()*10)+1

從第二個隨機數開始,使用以下的陣列公式(按組合鍵ctrl+shift+enter完成輸入):

b4=small(if(isna(match(row($1:$10),b$3:b3,0)),row($1:$10),""),int(rand()*(13-row()))+1)

將公式向下拉到b12。

4樓:是敬

用vba做一個隨機抽取程式就可以,前幾天我幫別人做過一個公司**程式,應該跟你這個差不多

如何在excel**中設定隨機不重複數字?比如在1-100個數字中隨機出現 ,且不重複?

5樓:

這個要用vba**的,如果需要,可以聯絡我。

excel中如何輸入角度符號,在EXCEL中怎麼輸入表示角度的那個小圈圈呀?

41443 41444 41445 41423 excel要輸入上述符號,在按住alt鍵的同時,輸入上述編碼數字 1 計算 excel中,對於角度的運算是用 弧度 的,所以計算時要注意,若是 角度 則要進行轉換,入sin30 公式應為 sin 30 180 pi 結果為0.5。2 輸入和顯示 exc...

在Excel中,在單元格中輸入公式時,輸入的符號是

肯定是 啊 公式的標誌就是第一個字元是 要想在a1中計算a1 b1 c1 d1,應該在a1中這樣寫 b1 c1 d1 在excel中輸入公式時,首先要在單元格中輸入什麼符號?在excel中輸入公式之時,首先要在單元格中輸入 比如 a1 b1 則結果求得a1和b1的各值 sum a a 則結果為列a中...

怎樣在excel中輸入希臘字母,excel如何輸入希臘字母

插入 符號 在右上角的子集選取 希臘字元 然後插入就可以了!輸入希臘字母可以用輸入法自帶的功能,一般輸入法都有軟鍵盤功能,如果你實在找不到,可以在word裡用選單 插入,符號裡找到,然後複製貼上到excel裡 excel如何輸入希臘字母 你黏過去吧.字母是要在輸入法裡面找的.excel裡面怎麼輸入希...