ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[Excel 函数与公式] [开_135][已总结]数字变换练习题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-9-8 15:56 | 显示全部楼层 |阅读模式
本帖最后由 hjj0451 于 2012-9-22 17:24 编辑

一、题目来源:
函数区一求助贴。

二、题目说明:
1:原始数据A2:G10各单元格为数值0~9,可能有重复,大小乱序,可能有真空单元格。I2:AJ10为模拟结果。
2:数字若为0则分别加10、20、30,若为1~3时则加0、10、20、30,若为4~9则加0、10、20。然后按原始数据大小顺序输出各个相加的结果。以模拟答案说明为例。
3:在I2:AJ10作答,右拉下拉或多单元格数组公式不限。

4:需容错、不定义名称、不使用VBA、2003版附件验证。

三、模拟答案说明:
1:以第一行为例,排序后为:
0
1
4
4
5
9
2:0加10、20、30;1加0、10、20、30;4与5与9则分别加0、10、20,答案输出结果则如下所示(下面的第2行是输出的说明):
10
20
30
01
11
21
31
04
14
24
04
14
24
05
15
25
09
19
29
 
 
 
 
 
 
 
 
 
对应0
     对应1
   对应4
   对应4
   对应5
   对应9
            容错输出""

四、题目奖励:
正确答案,奖励30分财富;最佳解(届时评),奖励1分技术。
五、答题时间:
截止 2012-9-22 10:00:00



开放式竞赛题目.rar (6.28 KB, 下载次数: 198)



评分

3

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-9-8 19:59 | 显示全部楼层
本帖最后由 hjj0451 于 2012-9-9 00:21 编辑

暂时写了个134的答案。
=RIGHT(TEXT(SMALL((CHOOSE({1;2;3;4},A2:G2=0,,,A2:G2>3)+(A2:G2=""))*99+A2:G2*10.01+COLUMN(A:G)+{0;1;2;3}/10,COLUMN()-8),"[<99].00;"),2)

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-9-8 22:29 | 显示全部楼层
题外话,开放区现在已失去了抢答、不断创新与突破前面答案的特点,不如扩大层面、降低发贴与审核门槛,改成大众短平块的形式,如小技巧分享、如小问题最优答案、小点子创造的各类函数/VBA/图表等问题。一般只奖财富、特殊情况才奖励技术。ET的酷贴形式也是个借鉴。

TA的精华主题

TA的得分主题

发表于 2012-9-11 08:54 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 tyxh0916 于 2012-9-12 11:31 编辑

=TEXT(MOD(SMALL(--($A2:$G2&{7,6,5,4,3,2,1}&TEXT(IF($A2:$G2="",99,{0;1;2;3}&$A2:$G2),"[=0]9999;[<34]00;9999")),COLUMN(A1)),100),"[=99] ;00")
=TEXT(MOD(SMALL(--($A2:$G2&COLUMN($A:$G)&TEXT(1&{0;1;2;3}&$A2:$G2,"[<101]99999;[<133]0;99999")),COLUMN(A1)),100),"[=99] ;00")

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-9-11 11:17 | 显示全部楼层
本帖最后由 xgg2001 于 2012-9-12 09:50 编辑
  1. =MID(TEXT(SMALL(A2:G2*0.10001+COLUMN(A:G)%+(MOD({1;2;3;4}&A2:G2,44)<11)+{0;1;2;3}%%,COLUMN(A:AB)),"[<1];")&0,6,2)
复制代码
I2:AJ2区域数组,113

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-9-11 11:38 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-9-11 13:15 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 wangg913 于 2012-9-11 22:47 编辑

多单元格数组公式
I2:AJ2
  1. =MID(SMALL(IF(RIGHT(ROW($1:$33))-10*(A2:G2="")-A2:G2,1,A2:G2%+COLUMN(A:G)%%+ROW($1:$33)%%%),COLUMN()-8)&0,7,2)
复制代码
  1. =MID(SMALL(IF(RIGHT(ROW($1:$33))+10-(1&A2:G2),1,A2:G2%+COLUMN(A:G)%%+ROW($1:$33)%%%),COLUMN()-8)&0,7,2)
复制代码
  1. =MID(SMALL((A2:G2+COLUMN(A:G)%+ROW($1:$33)%%)%^((1&A2:G2)-RIGHT(ROW($1:$33))=10),COLUMN()-8)&0,7,2)
复制代码

评分

3

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-9-11 22:23 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
好长啊!
=IF(ISERR(SMALL(IF(ROW($1:$30)<=--TEXT($A2:$G2-1,"[>2]3;3;4"),IF($A2:$G2<>"",$A2:$G2)),COLUMN(A:A))),"",TEXT(LOOKUP(H2*1,{0,1,11,14,20,21,24,30;0,10,20,10,20,30,20,0})+TEXT(SMALL(IF(ROW($1:$30)<=--TEXT($A2:$G2-1,"[>2]3;3;4"),IF($A2:$G2<>"",$A2:$G2)),COLUMN(A:A)),"[>3]10;[=]10;0"),"00;;00;"))

开放式竞赛题目1.rar

12.81 KB, 下载次数: 7

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-9-12 11:35 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 丢丢表格 于 2012-9-12 14:18 编辑

原来题意审错了
I2=TEXT(LOOKUP(--(0&H2),{0,1,11,21,24;0,10,20,30,0})+TEXT(SMALL(IF(ROW($1:$50)<=LOOKUP(IF($A2:$H2<>"",$A2:$H2,10),{0,1,4,10;3,4,3,99}),IF($A2:$H2<>"",$A2:$H2,99)),COLUMN(A:A)),"0;;10"),"[<99]00;")

开放式竞赛题目.rar

10.8 KB, 下载次数: 10

点评

评分在8楼  发表于 2012-9-23 20:00

TA的精华主题

TA的得分主题

发表于 2012-9-12 14:33 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 delete_007 于 2012-9-13 12:32 编辑

先凑合交一份,117字符。(行多单元格数组公式)
  1. =TEXT(MOD(SMALL((A2:G2&COLUMN(A:G))/1%+IF(EXACT(RIGHT(ROW($1:$33)),A2:G2),ROW($1:$33),1e5),COLUMN(A:AB)),100),"00;;")
复制代码
109字符(两个答案是等效的):
  1. =TEXT(MOD(SMALL(IF(RIGHT(ROW($1:$33))=A2:G2&"",(A2:G2&COLUMN(A:G))+ROW($1:$33)%,99),COLUMN()-8),1)/1%,"00;;")
复制代码
  1. =TEXT(MOD(LARGE(-IF(RIGHT(ROW($1:$33))=A2:G2&"",A2:G2&COLUMN(A:G)+ROW($1:$33)%,99),COLUMN()-8),-1)/1%,";00;")
复制代码

评分

2

查看全部评分

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

本版积分规则

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

GMT+8, 2024-11-22 12:38 , Processed in 0.042503 second(s), 22 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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