excel每日算出一个不重复七位数,三菱触摸屏上用这七位数才能跳转画面。两地中间没有通讯网络等联系

各位大神该用什么具体思路,excel里面该用什么公式组合,七位数是整数。三菱触摸屏型号GS2110软件GT Designer3,用这七位数来跳转画面。

这是很点意思的问题,具有挑战性。花了点时间来弄,用了一个分两步完成的方法。

第1步,在7列中生成7个不重复的随机数

第2步,在另一列,把这7个数字组合起来,并固定,使之不再变化。

如图:

    在选项的公式选项卡,勾选“启用迭代计算”后确定

    在A列中输入日期,并下拉生成日期序列

    选择B2:H2(7列),输入公式:

=IF($A2>TODAY(),"",RIGHT(SMALL(RANDBETWEEN(COLUMN(A:G)^0,4^8)/1%%+COLUMN(A:G),COLUMN(A:G))))

同时按Ctrl+Shift+Enter三键在7个单元格一次完成数组公式输入

4. I列中组合7个数字

I2=IF(A2>TODAY(),"",IF(OR(I2="",I2=0),SUM(B2:H2*10^(7-COLUMN(A:G))),I2))

同时按Ctrl+Shift+Enter三键输入数组公式

选择B2:I2,下拉到与日期并齐。

现在当A列的日期在当天之后,B列到I列显示为空。当天打开文件时,B2:H2生成7个随机数,并在I列中组合为7位数。

PS:生成随机数后,B:H列的数字会变化,但I列的不会。所在图中20~21的I列与B:H列的不对应。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-22
估计你的问题难有人会解答啊,真看不懂哦
第2个回答  2019-11-23
' 产生7个1000000-9999999之间的不重复随机数
Sub RndNumberNoRepeat3()
Dim d As Object 'New Dictionary
Dim s As Integer

Randomize (Timer) '初始化随机数生成器
Set d = CreateObject("Scripting.Dictionary")

Do Until d.Count = 7
s = Int(Rnd * 9000000) + 1000000
d(s) = ""
Loop
[a21].Resize(d.Count, 1) = Application.Transpose(d.Keys)
End Sub
第3个回答  2019-11-22

用excel产生一个七位整数,每日自动变化不重复

方法一,直接用excel的RANDBETWEEN函数

=RANDBETWEEN(1000000,9999999)

每次打开文件或按F9键,都会随机变化7位数。很小概率会重复

方法二:

如果怕随机数重复性,可以复杂一下函数,比如下面

=RANDBETWEEN(1000000,9999960)+DAY(TODAY())

+DAY(TODAY())表示加上今天的日期

相似回答