[问题] 循环取笔数重复值疑问

楼主: 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