ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > 综合应用 > 如何将彩票中的俩码转化为三码?

如何将彩票中的俩码转化为三码?

作者:绿色风 分类: 时间:2022-08-18 浏览:115
楼主
lrlxxqxa
Q:如何将彩票中的俩码转化为三码?

A:
一、单码转换:


 

方法1数组公式
  1. =IF(ISERR(FIND("0",E$26&(ROW(A1)-1))),"","0")&SUM(SMALL(--MID(E$26&(ROW(A1)-1),ROW($1:$3),1),ROW($1:$3))*{100;10;1})


方法2
  1. =TEXT(-SUM(LARGE(-MID(E$26&ROW(A1)-1,{1,2,3},1),{1,2,3})*{100,10,1}),"000")


二、多码转换:


 

方法1:数组
  1. =IFERROR(TEXT(SUM(SMALL(--MID(MOD(ROW(A1)-1,10)&MID(A$1,INT((ROW(A1)-1)/10)*3+1,2),{1,2,3},1),{1,2,3})*10^{2,1,0}),"000"),"")
方法2:区域数组
  1. =IFERROR(TEXT(SUM(SMALL(--MID(MOD(ROW()-1,10)&MID(A$1,ROUNDUP(ROW()/10,)*3-2,2),{1,2,3},1),{1,2,3})*10^{2,1,0}),"000"),"")
方法3:VBA法

  1. Sub 转置()
  2.   Const str1$ = "23 04 55" '二码设置
  3.   Dim str2$, dic, i%, k%, arr, arrt(), m%, j&, n%, str3$
  4.   Set dic = CreateObject("scripting.dictionary")
  5.   str2 = Cells(4, 2).Value '三码设置
  6.   arr = Split(str1)
  7.   For i = 0 To 9
  8.     If InStr(1, str2, i) > 0 Then
  9.       k = k + 1
  10.       ReDim Preserve arrt(1 To k)
  11.       arrt(k) = i
  12.     End If
  13.   Next i
  14.   For i = 0 To UBound(arr)
  15.     m = CInt(Mid(arr(i), 1, 1))
  16.     n = CInt(Mid(arr(i), 2, 1))
  17.     For j = 1 To k
  18.       If arrt(j) <= Application.Min(m, n) Then
  19.         str3 = "'" & arrt(j) & IIf(m >= n, n & m, m & n)
  20.         ElseIf arrt(j) >= Application.Max(m, n) Then
  21.           str3 = "'" & IIf(m >= n, n & m, m & n) & arrt(j)
  22.         Else: str3 = "'" & IIf(m >= n, n & arrt(j) & m, m & arrt(j) & n)
  23.       End If
  24.       If Not dic.exists(str3) Then dic.Add str3, ""
  25.     Next j
  26.   Next i
  27.   Range("e4:e" & Rows.Count).ClearContents
  28.   If dic.Count > 0 Then
  29.     Cells(4, "e").Resize(dic.Count, 1) = Application.Transpose(dic.keys)
  30.   End If
  31.   Set dic = Nothing
  32. End Sub

两码变三码.rar
2楼
wjc2090742
方法一二三的结果明显不一样嘛。提问者题目绕,咱不能被绕晕啊,几种方法改成指向同一种结果比较好吧?
3楼
lrlxxqxa

呵呵,修改了一下,这样就一致了
4楼
wjc2090742
单码的
  1. =TEXT(-SUM(LARGE(-MID(E$26&ROW(A1)-1,{1,2,3},1),{1,2,3})*{100,10,1}),"000")
5楼
wqfzqgk
下了功夫了,学习一下
6楼
huangzhihua
正好进来学习一下

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap