ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[Excel 函数与公式] [开_139]连续数字转换练习题

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2012-11-14 21:07 | 显示全部楼层 |阅读模式
本帖最后由 wangg913 于 2012-12-1 13:54 编辑


模拟结果演示动画.gif

评分规则:
1:非内存数组答案60字符内加1分。
2:内存数组答案放宽字符要求,看答题情况加1分。

答题时间:
11/16/2012-11/31/2012

格式转换.rar

4 KB, 下载次数: 230

更新了的附件

评分

4

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-11-14 21:11 | 显示全部楼层
本帖最后由 hjj0451 于 2012-11-15 00:16 编辑

别想复杂了,其实就一很简单题。
预设答案,C1:L1区域数组,=IF((COLUMN()-A$1-2=SUM((A$1:A1=0)*A$2:A2))*A1,1,"")
把连续的1转换为连续的次数的内存数组,比如把A1:A20={1;0;1;0;1;0;0;0;0;1;1;1;1;1;0;0;1;1;0;1}转换为{1;0;2;0;3;0;0;0;0;4;4;4;4;4;0;0;5;5;0;6}的答案没想出来。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-11-14 21:44 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
hjj0451 发表于 2012-11-14 21:11
别想复杂了,其实就一很简单题。

你好,我是Excel的一名初学者,对于上面提及的问题我有些不明白,能否劳烦这位仁兄将答题方法讲解一下,不胜感激!

点评

哈哈  发表于 2012-11-14 22:04

TA的精华主题

TA的得分主题

发表于 2012-11-14 23:18 | 显示全部楼层
本帖最后由 zxh361 于 2012-11-14 23:34 编辑
  1. =IF((COLUMN()-2=$A$1+SUM(IF($A$1:$A1-$A$2:$A2,$A$2:$A2,)))*$A1,1,"")
复制代码
我已经节约好多字符了,可公式长度还是达到67了,哎,没有想出更好的办法。

格式转换.rar

7.56 KB, 下载次数: 12

点评

答案接近我的预设答案,再思考下就60字符内,给你加1分。  发表于 2012-11-15 01:27

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-11-16 13:06 | 显示全部楼层
C1
=IF((COLUMN()=SUM(N($A$1:$A1&$A$2:$A2="01"))+3)*$A1,$A1,"")
数组公式
右拉下拉
算上等号 刚好60字符
惭愧

点评

错误原因在于A1没有单独考虑  发表于 2012-12-2 09:18
答案出错  发表于 2012-12-1 16:57

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-11-16 14:06 | 显示全部楼层
本帖最后由 Zaezhong 于 2012-11-18 10:45 编辑

先來個59的
  1. =TEXT((SUM((A$2:A2=1)*(A$1:A1=0))+A$1=COLUMN()-2)*A1,"0;;")
复制代码
21行沒有數據的話簡化下,55
  1. =TEXT((SUM(A$2:A2*(A$1:A1=0))+A$1=COLUMN()-2)*A1,"0;;")
复制代码
轉換下86
  1. =TEXT((MMULT(-(ROW(1:20)>COLUMN(A:T)),A2:A21*(A1:A20-1))+A1=COLUMN(A:J))*A1:A20,"0;;")
复制代码
這樣再減一個,不過不算內存數組了
  1. =TEXT((MMULT(-(ROW(1:20)>COLUMN(A:T)),A2:A21*(A1:A20-1))+A1=COLUMN()-2)*A1:A20,"0;;")
复制代码
印象中2003好像text部份只要一個分號即可,那樣的話都可以再減一個

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-11-16 15:52 | 显示全部楼层
本帖最后由 qigengzier 于 2012-11-16 16:05 编辑

1、区域数组公式
=IF((COLUMN()=SUM(N(OFFSET(A1,,,MAX(ROW())+RAND()*0)<OFFSET(A2,,,MAX(ROW())+RAND()*0)))+2+(A1=1))*A1:A20,A1:A20,"")
呵呵HJJ0451老师 写的长了
我就来捧个场吧
也都114个字符了


2、数组公式
=IF((COLUMN()=SUM(N($A$1:$A1<$A$2:$A2))+2+($A$1=1))*$A1,$A1,"")
之前的“结果举例3”小有不符,修改了下
右拉下拉

点评

第一个非内存数组,第二个超出字符  发表于 2012-12-1 17:01
欢迎第一次参与。答题者每人最好只占用1个楼层,如需修改答案,编辑原贴即可,不要另起一楼。  发表于 2012-11-16 16:34

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-11-16 16:01 | 显示全部楼层
这个题还有点费神,我来凑个数。
C1:L1区域数组公式:
  1. =IF((SUM(N(A$1:A1<A$2:A2))=COLUMN()-2-A$1)*A1,1,"")
复制代码
内存数组公式:
  1. =IF((MMULT(N(ROW()>COLUMN(A:T)),N(A1:A20<A2:A21))=COLUMN()-2-A1)*A1:A20,1,"")
复制代码

点评

你修改后的=IF((MMULT(N(ROW(1:20)>COLUMN(A:T)),N(A1:A20<A2:A21))=COLUMN(A:J)-A1)*A1:A20,1,"")属于内存数组,你帖子中公式属于多单元格数组  发表于 2012-12-2 08:59
使用row()或者column()不算內存數組吧  发表于 2012-12-1 14:33

评分

1

查看全部评分

TA的精华主题

TA的得分主题

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

C1=IF((COLUMN()-2)=SUM(INDIRECT("a1:a"&ROW()))*$A1,1,""));然后复制到所有格就可以了。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-11-16 21:50 | 显示全部楼层
  1. '=IF((COLUMN()-2=$A$1+SUM(NOT($A$1:$A1)*$A$2:$A2))*$A1,1,"")
复制代码
突发奇想,终于把字符个数缩到60个以内。

格式转换.rar

7.64 KB, 下载次数: 15

点评

恭喜  发表于 2012-12-1 17:09

评分

1

查看全部评分

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

本版积分规则

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

GMT+8, 2024-3-28 17:22 , Processed in 0.082139 second(s), 21 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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