ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: wshcw

[Excel 函数与公式] [第51期][已结题]数字游戏——数字格式变换

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-9-1 11:00 | 显示全部楼层

不求加分,但求莫扣分!

呵呵,公式嘛,N伤脑筋,暂时没有想出来。
先写一个VBA的自定义函数。要求中没有限制VBA,所以就提交一个答案。(不求加分,但求莫扣分!)
插入一个标准模块,植入如下代码:

  1. Public Function zh(rng As Range)
  2.     a = Split(rng, "*")
  3.     For i = 0 To 3
  4.         a(i) = Format(a(i), "0000")
  5.     Next
  6.     zh = Join(a, "*")
  7. End Function
复制代码
然后在对应单元格中,写入 =zh(A1) 就OK

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2009-9-1 22:46 | 显示全部楼层
数组公式 =TEXT(SUM(MID(SUBSTITUTE(A2,"*",REPT(" ",99)),ROW(1:4)*99-98,99)*10^{12;8;4;0}),"0000"&REPT("\*0000",3))
水平有限

[ 本帖最后由 shlzml 于 2009-9-3 11:20 编辑 ]

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2009-9-1 23:29 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
=TEXT(SUM(MID(SUBSTITUTE(A2,"*",REPT(" ",20)),{1,9,41,61},20)*10^{12,8,4,0}),REPT("0000!*",3)&"0000")

三键结束。。。101

[ 本帖最后由 moon2778 于 2009-9-2 10:53 编辑 ]

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2009-9-2 09:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
費盡九牛二虎之力終於在原來基礎上精減一個字符,也驗證了版主所提出的另外三個數據!

=TEXT(SUM(TRIM(MID(SUBSTITUTE(A2,"*",REPT(" ",99)),{0,1,2,3}*99+1,99))*10^{12,8,4,0}),REPT("0000!*",3)&"0000")

請版主核對!

再想想看...唉,就差一個字符了!

[ 本帖最后由 xiongkehua2008 于 2009-9-2 09:32 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-9-2 09:42 | 显示全部楼层
=TEXT(SUM(--MID(SUBSTITUTE(A3,"*",REPT(" ",99)),{0,1,2,3}*99+1,99)*10^{12,8,4,0}),REPT("0000!*",3)&"0000")

106個字符...

其實--也可以省略的!總記得文本前要加--來轉換,忘記了後面有乘法可以轉!

=TEXT(SUM(MID(SUBSTITUTE(A3,"*",REPT(" ",99)),{0,1,2,3}*99+1,99)*10^{12,8,4,0}),REPT("0000!*",3)&"0000")

104個字符!

[ 本帖最后由 xiongkehua2008 于 2009-9-2 09:44 编辑 ]

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2009-9-2 17:16 | 显示全部楼层

第一次参加公式竞赛

对公式函数不太熟,第一次参加公式竞赛,费了九牛二虎之力,终于完成了功能,但公式精减不多,头痛呀!!,期待楼主的精彩解答

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2009-9-3 09:03 | 显示全部楼层
110字:
=TEXT(SUM(TRIM(MID(SUBSTITUTE(A2,"*",REPT(" ",19)),19*{0;1;2;3}+1,19))*10^{12;8;4;0}),REPT("0000!*",3)&"0000")
104字:
=TEXT(SUM(MID(SUBSTITUTE(A2,"*",REPT(" ",19)),19*{0;1;2;3}+1,19)*10^{12;8;4;0}),REPT("0000!*",3)&"0000")
102字:
=TEXT(SUM(MID(SUBSTITUTE(A2,"*",REPT(" ",19)),{1;20;39;58},19)*10^{12;8;4;0}),REPT("0000!*",3)&"0000")

[ 本帖最后由 泓() 于 2009-9-3 09:18 编辑 ]

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2009-9-3 14:59 | 显示全部楼层
先交108个字符。看能否再优化。
=TEXT(SUM(TRIM(MID(SUBSTITUTE(A2,"*",REPT(" ",20)),{1,21,41,61},20))*100^{6,4,2,0}),"0000"&REPT("!*0000",3))

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-9-4 22:34 | 显示全部楼层
本题主要还是考数字的折分与合并,照顾高级会员有一次拿分的机会,所以得一分很宽松,得两分是奇迹.现将评分情况公布给大家,不合理的请大家提出来,以便更正.
E友最佳答
题楼层
最佳公
式长度
评分
情况
备注
技术财富
kkitt3楼1041  
biaotiger15楼1081  
wjzwang6楼102110 
冻豆腐9楼101120 
shuts3210楼101120 
yvhgydn11楼101120 
lzzgzby13楼102110 
风冷14楼1031  
jyhxr16楼1091  
ff8feng17楼110 40 
syz10572991318楼1081  
kowloon19楼1071  
新田美香20楼1091  
zldccmx21楼  30VBA答题
shlzml22楼1061  
moon277823楼101120 
xiongkehua2008
25楼1041  
nyafullee26楼638 2 
泓()
27楼102110 
zhanhewang28楼1081  

开放式竞赛区竞赛通告:

计算题——提取括号内的表达式并计算。


赶快行动啦,答题赚技术分.

[ 本帖最后由 wshcw 于 2009-9-4 23:53 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

TA的精华主题

TA的得分主题

发表于 2009-9-4 23:51 | 显示全部楼层
原帖由 zldccmx 于 2009-9-1 11:00 发表
呵呵,公式嘛,N伤脑筋,暂时没有想出来。
先写一个VBA的自定义函数。要求中没有限制VBA,所以就提交一个答案。(不求加分,但求莫扣分!)
插入一个标准模块,植入如下代码:
Public Function zh(rng As Range)
   ...



悲伤,我真以为老朽大爷写函数了,期待了半天,还是老V。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-21 23:55 , Processed in 0.045565 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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