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

相关推荐
E-iceblue2 天前
Excel 列转行/行列转换全指南:从 4 种常见解法到 Python 批量自动化
python·excel·python库·spire.xls
Data-Miner2 天前
AI处理数据的脚本复用与逻辑复用有什么区别?哪种方式更能沉淀工作成果
数据分析·excel
福兮说2 天前
在浏览器里写一个“够用就好“的 Excel 公式求值器
前端·javascript·excel·编译原理
慧都小妮子3 天前
标签打印如何减少手工抄数?用Bartender 直连 Excel 批量打印
excel·bartender·条码打印·标签打印软件·数据驱动打印·工业打印机
SunnyDays10113 天前
Java 设置 Excel 数据验证:整数、日期、文本长度、下拉列表和时间
java·excel·数据验证·下拉列表
Metaphor6923 天前
使用 Python 设置 Excel 行列自适应 【代码示例】
python·excel
用户0332126663674 天前
使用 Python 设置 Excel 行列自适应 【代码示例】
python·excel
企业数字化笔记4 天前
固定资产Excel批量导入怎么防重复?资产编码、重复检查和错误回执
java·后端·excel
CORNERSTONE3654 天前
低代码开发有哪些应用场景?
低代码·excel·erp·mes·企业数字化
小葱炖豆腐4 天前
python绘制excel折线图
python·excel·numpy·pandas·matplotlib