双色球预测算法,居于 EXCEL 宏的推算程序

预测原理:

每一注彩票的随机性,跟大自然中的随机事件或随机过程是一样的。每一天的随机性事件,在第二天看来都是已经发生了的,并且是固定的。

如果把彩票抽奖当天当作是第二天,那么彩票的号码是已经定下来的,而且无法更改。

如果每天的分分秒秒,无时无刻,都在随机出现一注彩票,那么当天一整天出现的所有彩票中,有一注彩票出现了很多次,即相同号码的一注彩票

出现了很多次,可以理解这就是那天最应该出现的彩票,因为它是当天出现概率最高的一注号码。以下以双色球为例,用EXCEL实现的方法。

使用EXCEL实现预测步骤:

1.选中50000个单元格,每个单元格随机出现一个红球号码,然后统计 1 到 33 个红球号码的出现个数,并且从大到小排列。

每个单元格填入:=1+INT(RAND()*33) 表示该单元格自动产生 1 到 33 之间的随机一个号码。

第N列填上 1 到 33 的序列号;

第O列的第一个单元格填入:=COUNTIF(B1:K5000,N1) 表示统计50000号码里各个号码数量

2.取数量最多的前3红球个号码、数量最少的后3红色个号码和最中间的5个红球号码,通过编写宏的办法保存到EXCEL的另一列里。

宏程序如下:

Sub Macro1()

'

' Macro1 Macro

'

' 快捷键: Ctrl+a

'

Range("N1:O33").Select

Selection.Copy

Range("Q1").Select

Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _

xlNone, SkipBlanks:=False, Transpose:=False

Application.CutCopyMode = False

ActiveWorkbook.Worksheets("Sheet4").Sort.SortFields.Clear

ActiveWorkbook.Worksheets("Sheet4").Sort.SortFields.Add Key:=Range("R1:R35") _

, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal

With ActiveWorkbook.Worksheets("Sheet4").Sort

.SetRange Range("Q1:R33")

.Header = xlGuess

.MatchCase = False

.Orientation = xlTopToBottom

.SortMethod = xlPinYin

.Apply

End With

Range("Q1:Q3").Select

Selection.Copy

Range("U1").Select

ActiveSheet.Paste

Range("Q31:Q33").Select

Application.CutCopyMode = False

Selection.Copy

Range("U4").Select

ActiveSheet.Paste

Range("Q16:Q20").Select

Application.CutCopyMode = False

Selection.Copy

Range("U7").Select

ActiveSheet.Paste

Range("U1:U11").Select

Application.CutCopyMode = False

Selection.Copy

Range("U12").Select

Selection.Insert Shift:=xlDown

End Sub

当你每按一次 CTRL + a , 宏就运行一次,右边 第U列 的结果,就会把最新的预测数据插入,最顶端的11个格,以前的数据则下移。这样第 U 列就会产生很多每时每刻预测出来的红色球号码。

3.编写宏程序,不断重复1和2两个步骤,也把最前3号码 + 最后的3个号码 + 最中间的5个号码,插入加在刚才已有的11个号码的前面,并保持同列。

再编写宏程序,让 EXCEL 自动预测自动统计自动增加到第 U 列累积。

Sub Macro4()

'

' Macro4 Macro

'

' 快捷键: Ctrl+d

'

|-------------------------------------|
| Application.Run "双色球研究.xlsx!Macro1" |
| Application.Run "双色球研究.xlsx!Macro1" |
| Application.Run "双色球研究.xlsx!Macro1" |
| Application.Run "双色球研究.xlsx!Macro1" |
| Application.Run "双色球研究.xlsx!Macro1" |
| Application.Run "双色球研究.xlsx!Macro1" |
| Application.Run "双色球研究.xlsx!Macro1" |
| Application.Run "双色球研究.xlsx!Macro1" |
| Application.Run "双色球研究.xlsx!Macro1" |
| Application.Run "双色球研究.xlsx!Macro1" |
| Application.Run "双色球研究.xlsx!Macro1" |
| Application.Run "双色球研究.xlsx!Macro1" |
| Application.Run "双色球研究.xlsx!Macro1" |
| Application.Run "双色球研究.xlsx!Macro1" |
| Application.Run "双色球研究.xlsx!Macro1" |
| Application.Run "双色球研究.xlsx!Macro1" |
| Application.Run "双色球研究.xlsx!Macro1" |
| Application.Run "双色球研究.xlsx!Macro1" |
| Application.Run "双色球研究.xlsx!Macro1" |
| Application.Run "双色球研究.xlsx!Macro1" |

End Sub

当你每按一次 CTRL + d , 宏 Sub Macro1() 就运行20次 , 第 U 列就多了 20 组采集数据。

4.编写宏程序,重复1、2和3,那么到最后停下来的时候,就可以得到一列当天概率最高的号码。再统计 1 到 33 个号码,各号码出现的次数,

并按号码出现的次数从多到少排列起来。

再编写宏程序,让 EXCEL 自动预测自动统计自动增加到第 U 列累积。直到人为停止。

Sub Macro5()

'

' Macro5 Macro

'

' 快捷键: Ctrl+e

'

|-------------------------------------|
| Application.Run "双色球研究.xlsx!Macro4" |
| Application.Run "双色球研究.xlsx!Macro4" |
| Application.Run "双色球研究.xlsx!Macro4" |
| Application.Run "双色球研究.xlsx!Macro4" |
| Application.Run "双色球研究.xlsx!Macro4" |
| Application.Run "双色球研究.xlsx!Macro4" |
| Application.Run "双色球研究.xlsx!Macro4" |
| Application.Run "双色球研究.xlsx!Macro4" |
| Application.Run "双色球研究.xlsx!Macro4" |
| Application.Run "双色球研究.xlsx!Macro4" |
| Application.Run "双色球研究.xlsx!Macro4" |
| Application.Run "双色球研究.xlsx!Macro4" |
| Application.Run "双色球研究.xlsx!Macro4" |
| Application.Run "双色球研究.xlsx!Macro4" |
| Application.Run "双色球研究.xlsx!Macro4" |
| Application.Run "双色球研究.xlsx!Macro4" |
| Application.Run "双色球研究.xlsx!Macro4" |
| Application.Run "双色球研究.xlsx!Macro4" |
| Application.Run "双色球研究.xlsx!Macro4" |
| Application.Run "双色球研究.xlsx!Macro4" |

End Sub

当你每按一次 CTRL + e , 宏 Sub Macro4() 就运行20次 , 而宏 Sub Macro1() 就运行 20X20次,第 U 列就多了 400 组采集数据。以此类推,可以采集100万组数据或更多。

5.在最后排列的从多到少的号码当中,选取出现次数最多的前3个号码和出现次数最少的后3个号码,就得到了当天的双色球6个红色号码了。

当停下来了之后,对100万采集到的数据进行统计,在第 P 列写入公式=COUNTIF(U1:U1000000,N1)

可以得到从1 到 33 各球的所有次数,然后按次数从多到少排列。

选取出现次数最多的前3个号码和出现次数最少的后3个号码

就得到了当天的双色球6个红色号码了。

相关推荐
bing_15834 分钟前
Excel 如何进行多条件查找或求和?
excel
秀儿还能再秀35 分钟前
基于Excel的数据分析思维与分析方法
数据分析·excel
bing_15836 分钟前
Excel 如何处理更复杂的嵌套逻辑判断?
excel
weixin_4723394637 分钟前
高效处理大体积Excel文件的Java技术方案解析
java·开发语言·excel
灵犀学长39 分钟前
EasyExcel之SheetWriteHandler:解锁Excel写入的高阶玩法
spring boot·excel
全干engineer12 小时前
Spring Boot 实现主表+明细表 Excel 导出(EasyPOI 实战)
java·spring boot·后端·excel·easypoi·excel导出
Fireworkitte12 小时前
Java 中导出包含多个 Sheet 的 Excel 文件
java·开发语言·excel
chemddd19 小时前
excel 工作需要会的
excel
醇氧21 小时前
【wps】 excel 删除重复项
excel·wps
盛夏绽放1 天前
Vue3 中 Excel 导出的性能优化与实战指南
vue.js·excel