excel用VBA寫從1加到100的程式

時間 2021-07-08 20:34:05

1樓:wol之歌

你好,很高興為你回答這個問題。

樓上的回答也很好,這裡我提供另一種思路,各位大佬自行比較。

sub fillingexample()

dim i

for i = 1 to 100

cells(i, 1).value = ((1 + i) / 2) * i

next

end sub

sub sumexample()

dim i

dim result

result = 0

for i = 0 to 100

result = result + i

next

cells(1, 2).value = resultend sub

2樓:貓之大神

sub test1()

dim i as integer

range("a1") = 1

for i = 2 to 100

range("a" & i) = range("a" & i - 1) + range("a" & i).row

next

end sub

---------

sub test2()

dim i as integer

dim j as integer

i = 0

for j = 1 to 100

i = i + j

next

range("b1") = i

end sub

3樓:匿名使用者

可以自己錄製巨集,試試。

excel怎麼在某一範圍內生成隨機數?

4樓:低調額低調額

1、excel中可以利用randbetween函式生成指定範圍內的隨機整數,如下圖所示,在b1:b4中生成1到100內的隨機數字,選擇區域,輸入公式如下:

2、按下ctrl+enter結束輸入,得到隨機數字如下所示:

3、按下f9,隨機數字會重新整理,如下圖所示:

4、如果要生成隨機小數,可以考慮在randbetween後面除以10的倍數,如下圖所示生成10到100之間的包含兩位小數的隨機數字:

5、得到結果如下圖所示,f9可以重新整理數字:

擴充套件資料

5樓:匿名使用者

excel隨機數函式

6樓:solo獨行者

那個標準答案不夠6,我來個通用的方法,大家可以舉一反三

其實關鍵就是一個rand()函式,用它生成0-1的隨機數(帶小數),然後就可以起飛了:

比如要0-5之間的隨機數,那就是=rand()*5,要0-10就是=rand()*10;

要1-5,那就再加一個加法,=rand()*4+1,要1-10就=rand()*9+1;

如果要求是整數,其實可以不用randbetween,用round(rand(),0),比如整數1-5,可以=round(rand()*4+1,0)

下面有個人希望得到正5到正10以及負5到負10的,也有辦法,可以=round((randbetween(1,2)*2-3)*(rand()*5+5),0)(我直接從我excel裡複製的,所以就大寫了,excel不區分函式的大小寫)

7樓:匿名使用者

=rand()

生成0-1之間的隨機數(小數,包含0不包含1)=randbetween(1,10)

生成1-10之間(包含1和10,數字可以自己修改為自己要的範圍)的隨機數(整數)。

拓展思路:

=rand()*100 大於等於0但小於100的一個隨機數(帶小數)

8樓:難堪

開啟excel,在excel單元格類輸入函式=rand(),按enter鍵後,就得到0-1之間的一個隨機數。

在excel單元格類輸入函式=randbetween(),填入區間上下限,例如1-100,按enter鍵後,就得到,1-100之間的一個隨機數。

9樓:本本經銷商

可以直接使用randbetween函式生成一定範圍內的隨機數。

可以使用rand函結合其他函式來生成一定範圍內的隨機數。

randbetween【語法】

randbetween(bottom,top)

bottom引數: randbetween將返回的最小整數。

top引數: randbetween將返回的最大整數。

示例:=randbetween(1,100)

大於等於1小於等於100的一個隨機整數(變數)

=randbetween(-1,1)

大於等於-1小於等於1的一個隨機整數(變數)

注意:randbetween函式只會生成隨機整數。如需要隨機小數可結合rand函式來使用。

2003版以上的excel中,直接在單元格輸入=rand()

得到大於等於0,小於1的隨機數

其他生成方法示例:

生成a與b之間的隨機數字(a≤隨機數在第一個格子中輸入:=rand()*(b-a)+a

如,生成1到10之間的隨機數字,輸入:=rand()*9+1

其餘數字,將滑鼠置於該格子右下角,變為十字時,向下拖拉即可。

生成a與b之間的隨機整數(a≤隨機數在第一個格子中輸入:=int(rand()*(b-a)+a)

如,生成1到10之間的隨機整數,輸入:=int(rand()*9+1)

其餘數字,將滑鼠置於該格子右下角,變為十字時,向下拖拉即可。

生成a與b之間的隨機數字(a≤隨機數≤b)

在第一個格子中輸入:=rand()*(b-a+1)+a

如,生成1到100的隨機數字,輸入:=rand()*100+1

10樓:匿名使用者

產生-10到5之間的整數:=randbetween(-10,5) 產生-10到5之間的任意實數:=15*rand()-10

11樓:匿名使用者

就是專業帶出問題,裡邊是是指代數生成了基礎。

12樓:匿名使用者

兄弟:非常簡單用到rnd函式留下郵箱發給你可用vba編寫或直接資料rnd函式.

13樓:溜到被人舔

其實關鍵就是一個rand()函式,用它生成0-1的隨機數(帶小數),然後就可以起飛了:

比如要0-5之間的隨機數,那就是=rand()*5,要0-10就是=rand()*10;

要1-5,那就再加一個加法,=rand()*4+1,要1-10就=rand()*9+1;

如果要求是整數,其實可以不用randbetween,用round(rand(),0),比如整數1-5,可以=round(rand()*4+1,0)

下面有個人希望得到正5到正10以及負5到負10的,也有辦法,可以=round((randbetween(1,2)*2-3)*(rand()*5+5),0)(我直接從我excel裡複製的,所以就大寫了,excel不區分函式的大小寫)

excel如何將一個數字分成多個隨機數字?隨機數字之和等於總數?

14樓:小文

隨機數字之和等於總數:你可以在另一單元格輸入=sum(b1:b25)做檢驗

excel中大量的公式函式可以應用選擇,使用microsoft excel可以執行計算,分析資訊並管理電子**或網頁中的資料資訊列表與資料資料圖表製作,可以實現許多方便的功能,帶給使用者方便。

15樓:匿名使用者

第一步:a1輸入100

第二步:b1至b25 分別輸入rand()函式,得出25個隨機數第三步:b26=sum(b1:b25)

第四步:c1輸入b1/b26 得出b1佔b26的比率,依次往下填充至c25,分別得出b列佔b26的比率

第五步:在d列 用a1分別乘以c列的相應比率即可得出。

16樓:

比如要求生成60-100的6個隨機數,總和為450第一行不要填寫任何數字

a2=randbetween(max(60,450-sum(a1:a$1)-100*(6-row(a1))),min(100,450-sum(a1:a$1)-60*(6-row(a1))))

下拉至a7

17樓:匿名使用者

咦!怎麼沒有看到有這提問的?

之前剛剛回答過類似問題:

修改一下,還行。

假設,“一個數字”在a1。“分成25個隨機數字”(就設定為整數吧):

b1輸入

=round(rand()*(a$1-25)+1,0)回車;

b2輸入

=round(rand()*(a$1-sum(b$1:b1)+row(a1)-25)+1,0)

回車並向下填充至b24;

b25輸入

=a1-sum(b1:b24)回車。

公式採用隨機函式,可按f2+enter更新運算結果!

(隨機數字之和等於總數:你可以在另一單元格輸入=sum(b1:b25)做檢驗)

18樓:匿名使用者

這題有點難度,給你個思路,

使用rnd()函式,每次迴圈rnd()會產生一個0~1之間的隨機數,本例中:25個數可以相同,如果想不通,在加一個迴圈判斷;另外本例中25個數可以有0。如果不想可以再加判斷。

希望能幫到你。

如果不用vba,excel函式為:rand()**如下:

private sub commandbutton1_click()dim n as integer

dim total as integer

dim m as integer

for n = 1 to 25

m = 100 * rnd()

if m < 1 then

m = 1

else

m = cint(m)

end if

if total + m > 100 thenm = 0

end if

cells(1, n) = m

if n = 25 then

cells(1, n) = 100 - totalend if

total = total + m

next n

end sub

1加到10000用FOR迴圈怎麼寫?

您的程式是從 1 2 999 結果是 50005000是對的啊。如果您的答案不對 那麼是您的資料定義出錯了。在電腦中 資料型別都有自己的精度。signed int 位元數是 16 取值範圍 32768 32767 2 15 1 unsigned int 位元數 16 0 65535 2 16 1 s...

求用ARM組合語言編寫從1加到100的程式

呆呆的書童樂園 mov r0,0 mov r1,1 loop add r0,r0,r1 add r1,r1,1 cmp r1,101 bne loopend dseg segment tab db 0123456789abcdef str db 4 dup dseg ends cseg segmen...

c語言用四種迴圈語句編寫從1加到100的算式

會飛的小兔子 1 include include intmain inti 1 intsum 0 while i 100 sum i i printf d sum return0 2 include voidmain inti 0,sum 0 while i 100 sum i printf d n...