双色球预测算法,居于 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个红色号码了。

相关推荐
小白学大数据11 小时前
超简单:用 Python 让 Excel 飞起来:用 openpyxl 把重复报表整理交给脚本
开发语言·数据库·python·excel
SunnyDays101118 小时前
如何使用 Python 添加和编辑 Excel VBA 宏(无需安装 Excel)
开发语言·python·excel·vba
GHL28427109019 小时前
codex操作excel学习
学习·ai·word·excel
一晌小贪欢3 天前
python-第15天:Python 列表推导式
开发语言·python·excel·数据可视化·python办公
tryxr3 天前
Chat2Excel 项目通用服务开发
java·开发语言·excel·java项目开发
Jazz_z3 天前
使用 Python 合并与取消合并 Excel 单元格
开发语言·python·excel
2601_962381864 天前
Python办公联动:Excel数据一键自动生成PPT图表
python·数据分析·自动化·excel·ppt
tryCbest6 天前
Excel常用公式(WPS vs Office)
excel·wps
taller_20006 天前
【006】何时用 Python?何时用 Excel 公式?一文讲清
python·excel·公式·pie·py
2601_949950636 天前
Word、PDF、Excel题目怎么快速整理?
pdf·word·excel