[問題] 迴圈取筆數重複值疑問

作者: Jerome0511 (Jerome)   2019-07-24 18:36:03
(若是和其他不同軟體互動之問題 請記得一併填寫)
軟體:EXCEL
版本:2010
目前要寫一段程式,遇到的問題是
當i=1 k =1時 =>j=2 to 26.1 ->25筆資料
i=1 k=2時 =>j=26.1 to 50.2
作者: soyoso (我是耀宗)   2019-07-25 15:48:00
https://i.imgur.com/aKwqDS3.jpg 類似這樣https://i.imgur.com/9vYPzJn.jpg 修改一下變數s、e和cnt忘了宣告,請自行宣告,看要integer或long再依實際情況自行調整
作者: Jerome0511 (Jerome)   2019-07-25 15:20:00
用1的方式
作者: soyoso (我是耀宗)   2019-07-25 15:06:00
但我把筆數假設是11好了,那如果roundup平均筆數則會是2那7~10等分就不存在了或是筆數72,roundup回傳一樣8,那第10筆分也沒有儲存格可以平均所以這方面平均筆數原po再看看是要幾筆1.保持以roundup來取得平均筆數,但這有可以不滿十等分,舉例就如上2.以int來取平均筆數,多出的筆數,如10/1有73筆,int來取平均筆數整數為7,餘3,而這3筆則將第1~3等分各增加1,也就是第1~3取8個儲存格,4~10取7個儲存格來平均
作者: Jerome0511 (Jerome)   2019-07-25 15:03:00
不好意思 再一次https://reurl.cc/ExXVK對哦 每天10等份 最後一等份沒關係 1筆也可以
作者: soyoso (我是耀宗)   2019-07-25 14:55:00
但測試執行後g3:p5並不同所提供的值https://i.imgur.com/aMdqKLq.jpg另外每天都要十等分嗎?因為以10/1來看筆數73,如果每等分都8個儲存格來平均的話,那第10等分時就只會有1筆而已
作者: Jerome0511 (Jerome)   2019-07-25 14:54:00
對的
作者: soyoso (我是耀宗)   2019-07-25 14:46:00
所以是執行程序 Computing_every_season_10等分 嗎?
作者: Jerome0511 (Jerome)   2019-07-25 14:42:00
紅字代表手算與程式算有差異https://reurl.cc/q7Z1E
作者: soyoso (我是耀宗)   2019-07-25 12:20:00
問題3不太了解,7.3*4=29.2進位成30,程式計算變成25~32如何計算?
作者: Jerome0511 (Jerome)   2019-07-25 12:04:00
謝謝,明白了,再多一個問題第3點,再麻煩了
作者: soyoso (我是耀宗)   2019-07-25 09:20:00
(k>1)為真,在運算後為-1,減-1的話為+1的意思迴圈j=26.1到50.2 step沒設,就是每執行一次迴圈就加1所以要排除26.1而是從27.1的話,就是我回文寫的至於是否前後要加,這要由原po依實際要的去判斷我只是依內文要的"排除26.1和50.2"來回文而已
作者: Jerome0511 (Jerome)   2019-07-25 09:11:00
請問-(K>1)他是怎麼運算方式是什麼?(.. *0.1*(k-1))-(k>1)to(..* 0.1 * k) -(k>1) 前後都要加-(K>1)才能保持 每一等分相同的筆數吧?
作者: soyoso (我是耀宗)   2019-07-24 23:12:00
就回文(...*(k-1))-(k>1),j會是27.1和j=51.2來排除26.1和50.2int寫法,如原po內所寫cells(int(j),6)
作者: Jerome0511 (Jerome)   2019-07-24 22:53:00
不好意思,我有詳細描述問題了,再麻煩你謝謝
作者: soyoso (我是耀宗)   2019-07-24 18:52:00
問題1.所以第二次起(k為2,3,4,5)時,j的第一筆26.1+1(跳到第二筆)嗎?如果是的話(...*(k-1)) - (k>1)問題2,cells內的變數j會四捨五入,cells(26.8,6)取的是儲存格f27如果要取26的話,配合int取整數
作者: Jerome0511 (Jerome)   2019-07-25 18:51:00
筆數是70筆 10等份為每份7筆,但程式會進位變成8筆這部分要怎麼排除呢?
作者: soyoso (我是耀宗)   2019-07-25 19:40:00
這方面以worksheetfunction.roundup方式排除試試或是原本iint內e滅s的部分再多加上減1
作者: Jerome0511 (Jerome)   2019-07-25 23:09:00
在這裡-1 Int((e - s) / 10) 不就全部都會扣掉1嗎?
作者: soyoso (我是耀宗)   2019-07-25 23:18:00
是e-s內減,外面還是保留加1的部分
作者: Jerome0511 (Jerome)   2019-07-25 23:22:00
Int((e - s - 1) / 10) + 1 這樣嗎?試過了還是會進位
作者: soyoso (我是耀宗)   2019-07-25 23:23:00
假設e-s是61~70再減1,就是60~69,除10,取整數就是66+1=7,不就符合是7筆了;那80筆,減1,79/10取整為7+1=8
作者: Jerome0511 (Jerome)   2019-07-25 23:28:00
照理說是這樣但實際好像不是https://reurl.cc/vY0Zy
作者: soyoso (我是耀宗)   2019-07-25 23:37:00
當然,start(3)=143,start(4)=216,216-143=73筆73筆就會是8,要70筆,start(4)要改為213改為213且e-s-1下,檔案內紅字上下是可以相同的https://i.imgur.com/aKZrQmk.jpg
作者: Jerome0511 (Jerome)   2019-07-28 12:02:00
謝謝你 可以了

Links booklink

Contact Us: admin [ a t ] ucptt.com