Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4676|回复: 14

[已解决]如何将组合字变成单元格数字

[复制链接]
发表于 2014-2-5 12:20 | 显示全部楼层 |阅读模式
如题,见附件 输出.rar (21.05 KB, 下载次数: 17)
发表于 2014-2-5 12:27 | 显示全部楼层
回复

使用道具 举报

发表于 2014-2-5 12:40 | 显示全部楼层
有一种办法,就是在一个区域中,列出0~9这10个数字的图型,再一一对应进行对比,就可以完成将力转为数字了。
回复

使用道具 举报

 楼主| 发表于 2014-2-5 12:47 | 显示全部楼层
CheryBTL 发表于 2014-2-5 12:40
有一种办法,就是在一个区域中,列出0~9这10个数字的图型,再一一对应进行对比,就可以完成将力转为数字了。 ...

老师讲的“在一个区域中,列出0~9这10个数字的图型,再一一对应进行对比,就可以完成将力转为数字了”我不太了解,能否有个例子?
补充说明:组合字中1是不能变成其他数字的,这样话可以用你说的方法吗?
回复

使用道具 举报

发表于 2014-2-5 12:53 | 显示全部楼层
759857387 发表于 2014-2-5 12:47
老师讲的“在一个区域中,列出0~9这10个数字的图型,再一一对应进行对比,就可以完成将力转为数字了”我不 ...

你自己先做好0~8的例子吧
回复

使用道具 举报

发表于 2014-2-5 13:23 | 显示全部楼层
见过高手用E把图片或AV视频 变成楼主这样的E里的组合图形,也知道怎么把数字变成楼主这样的E里的组合数字
上述的做法,1是高手炫技,2在实际中也有用武之地,到底做组合图片是个N大的体力活

反过来,类似图片的识别吧,干嘛不把网格线去除了,截图成图片,用专门的图片识别工具来识别?非要用E来做,在E里输入个楼主这样的组合数字比输入个数字难多了吧
回复

使用道具 举报

发表于 2014-2-5 13:39 | 显示全部楼层
按3楼的思路,在Sheet2中做了对比,楼主有空补充完整即可以统计其它数字了:
  1. Sub test2()
  2.     Dim ar, ar2, re As String, b As Boolean
  3.     Dim i As Integer, j As Integer, k As Integer, m As Integer
  4.     ar2 = Sheets(2).Range("A1:BQ10")
  5.     For i = 1 To 4
  6.        ar = Sheets(1).Cells(8, i * 7 - 1).CurrentRegion
  7.        For j = 0 To 9
  8.             b = True
  9.             c = j * 7
  10.             For k = 1 To UBound(ar)
  11.                 For m = 1 To 6
  12.                    If ar(k, m) <> ar2(k, c + m) Then b = False: Exit For
  13.                 Next
  14.                 If b = False Then Exit For
  15.             Next
  16.             If b Then re = re & j: Exit For
  17.        Next
  18.     Next
  19.     [am4] = re
  20. End Sub
复制代码
输出.rar (9.4 KB, 下载次数: 11)
回复

使用道具 举报

发表于 2014-2-5 13:46 | 显示全部楼层
本帖最后由 香川群子 于 2014-2-5 13:49 编辑

用条件判断:
If 没有中间短横的 Then
   '可能是 0,1,7
   If 没有上面一横的 Then
      是 1
   Else
      If 没有下面一横的 Then
         是 7
      Else
         是 0
      Endif
  Endif
Else
   '有中间短横的可能是 2.3,4,5,6,8,9
   If 没有上面一横的 Then
      是4
   ElseIf 没有下面一横的 Then
      是9
   Else
      If 没有右下竖线的 Then
        是2
      Else
        If 没有左下竖线的 Then
           If 没有右上竖线的 Then
              是5
           Else
              是3
           Endif
        Else
           If 没有右上竖线的 Then
              是6
           Else
              是8
           Endif
        Endif
      Endif
   Endif
Endif


回复

使用道具 举报

发表于 2014-2-5 13:53 | 显示全部楼层
呵呵,怎么样?很神奇吧!
0,1,7一组
2,3,4,5,6,8,9一组
其中,2,3,4,6,8一组,4、9各一组
2,3,4,6,8中
2一组,3,5一组,6,8一组

然后每一组有各自的不同……

回复

使用道具 举报

发表于 2014-2-5 14:38 | 显示全部楼层    本楼为最佳答案   
  1. Sub test() 'by kagawa
  2.     [f7].Select '代码从F7单元格开始计算 这个可以自己修改起始位置
  3.     Do
  4.         a = ActiveCell.Offset(, i * 7).Resize(10, 6)
  5.         If a(5, 4) = 0 Then '没有中间短横的 可能是 0,1,7
  6.             If a(1, 4) = 0 Then '没有上面一横的 是1
  7.               t = 1
  8.             Else
  9.                 If a(10, 4) = 0 Then '没有下面一横的 是7
  10.                     t = 7
  11.                 Else '上下都有一横的 是0
  12.                     t = 0
  13.                 End If
  14.             End If
  15.         Else   '有中间短横的可能是 2.3,4,5,6,8,9
  16.             If a(1, 4) = 0 Then '没有上面一横的 是4
  17.                 t = 4
  18.             ElseIf a(10, 4) = 0 Then '没有下面一横的 是9
  19.                 t = 9
  20.             Else
  21.                 If a(8, 6) = 0 Then '没有右下竖线的 是2
  22.                     t = 2
  23.                 Else '有右下竖线的 可能是3,5,6,8
  24.                     If a(8, 1) = 0 Then '没有左下竖线的 可能是3,5
  25.                         If a(3, 6) = 0 Then '没有右上竖线的 是5
  26.                             t = 5
  27.                         Else '有右上竖线的 是3
  28.                             t = 3
  29.                         End If
  30.                     Else '有左下竖线的 可能是6,8
  31.                         If a(3, 6) = 0 Then '没有右上竖线的 是6
  32.                             t = 6
  33.                         Else '有右上竖线的 是8
  34.                             t = 8
  35.                         End If
  36.                     End If
  37.                 End If
  38.             End If
  39.         End If
  40.         s = s & t
  41.         i = i + 1
  42.     Loop Until Application.Sum(ActiveCell.Offset(, i * 7).Resize(10, 6)) = 0
  43.     MsgBox s
  44. End Sub
复制代码

数字字形转数值输出.rar

11.92 KB, 下载次数: 6

评分

参与人数 5 +68 金币 +20 收起 理由
tgydslr + 18 神马都是浮云
759857387 + 3 哇,太厉害了!
雪舞子 + 20 + 20 多学习多研究多探讨
bbwsj + 3 想法很有意思
CheryBTL + 24 很给力!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 08:05 , Processed in 0.386025 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表