ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2012-11-17 08:15 | 显示全部楼层
本帖最后由 CheryBTL 于 2012-11-27 23:13 编辑

C1:L1区域数组下拉,正好60字符:
  1. =IF(COLUMN()=A1*(SUM((A$1:A1>A$2:A2)*A$1:A1)+(A2=1)+2),1,"")
复制代码
原来A2=1多余了,简化后56字符:
  1. =IF(COLUMN()=A1*(SUM((A$1:A1>A$2:A2)*A$1:A1)+A2+2),1,"")
复制代码
突然脑子一转,发现A$1:A1是多余的,再省6个字符:
  1. =IF(COLUMN()=A1*(SUM(N(A$1:A1>A$2:A2))+A2+2),1,"")
复制代码

C1:L20区域数组公式(85字符):
  1. =IF(COLUMN()=A1:A20*(MMULT(N(ROW(2:21)>COLUMN(A:T)),N(A1:A20>A2:A21))+A2:A21+2),1,"")
复制代码
如果是友好内存数组86字符:
  1. =IF(COLUMN(A:J)=A1:A20*(MMULT(N(ROW(2:21)>COLUMN(A:T)),N(A1:A20>A2:A21))+A2:A21),1,"")
复制代码

点评

倒数第二个不属于内存数组  发表于 2012-12-1 17:43

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-11-17 21:42 | 显示全部楼层
C1单元格内数组公式
  1. =IF((COLUMN(A1)=$A$1+SUM(($A$1:$A1=0)*$A$2:$A2))*$A1,1,"")
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-11-18 18:24 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 swyrlbq 于 2012-11-25 18:51 编辑

两次竞赛落水,再次出丑。
=TEXT($A1*(SUM($A$1:$A1*($A$2:$A2=0))+$A2=COLUMN()-2),"[>]")

用IF替代TEXT,57字符:
=IF($A1*(SUM($A$1:$A1*($A$2:$A2=0))+$A2=COLUMN()-2),1,"")


也可以改造为C1:L1区域公式下拉的数组公式,51字符:
=IF(A1*(SUM(A$1:A1*(A$2:A2=0))+A2=COLUMN()-2),1,"")

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-11-18 18:55 | 显示全部楼层
一般公式,长度60
  1. =IF((SUM(N($A$1:A1&$A$2:A2="01"))+$A$1=COLUMN(A1))*$A1,1,"")
复制代码
内存数组,长度86
  1. =IF((MMULT(-(ROW(1:20)>COLUMN(A:T)),-(A1:A20&A2:A21="10"))+1=COLUMN(A:J))*A1:A20,1,"")
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-11-19 17:16 | 显示全部楼层
本帖最后由 lishengping666 于 2012-11-19 17:44 编辑

如下数组公式,不知是否符合要求:
1、=IF(COLUMN()-2=(SUM(N($A$2:$A2<$A$1:$A1))+$A2)*$A1,1,"")
注:该公式字符较少,但对于原数据列后面为文本时,最后一行不适用。

2、=IF(COLUMN()-2=SUM(IF($A$2:$A2=$A$1:$A1,,$A$2:$A2),$A$1)*$A1,1,"")

点评

第一个符合要求,第二个超出字符  发表于 2012-12-1 17:17
新的附件和动画一致,重新下载。  发表于 2012-11-22 21:28

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-12-2 15:06 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
5blessyou 发表于 2012-12-2 10:46
个人认为不算,一个简单的测试就是,嵌套COLUMNS或者ROWS试试,或者使用INDEX(内存数组公式,行,列)看是否 ...

我还是坚持我的意见.
使用row(),column(),不能算内存数组,此点认同.
但使用ROW(1:10),或者COLUMN(A:e),其本身就等同于常量数组{1;2.....}或{1,2....}, 生成的自然就是内存数组.

我试了一下,公式写成:
=INDEX(IF((COLUMN($A:$J)=SUM(($A$1:$A1=0)*$A$2:$A2)+$A$1)*$A1,1,""),COLUMN()-2),
c1输入,右拉下拉,结果是正确的.
这说明IF((COLUMN($A:$J)=SUM(($A$1:$A1=0)*$A$2:$A2)+$A$1)*$A1,1,"")生成的结果,如{1,"","","","","","","","",""},是可以传递给INDEX引用的.就是内存数组了.

只是讨论一下, 水平有限,若有不妥,请指正.


TA的精华主题

TA的得分主题

发表于 2012-11-22 18:51 | 显示全部楼层
本帖最后由 titi012 于 2012-11-27 15:58 编辑

来的迟了,
先上一个公式,多单元格数组公式:
=TEXT((COLUMN(A:J)=SUM(N(FREQUENCY(-($A$1:A1-1)*ROW($1:1),$A$1:A2*ROW($1:1))>0)))*A1,"0;;")
91个字符,超长了,路子不对.还有一天时间,再想想.

换一个方向:
还是多单元格数组公式:
=TEXT((COLUMN(A:J)=SUM((A$1:A1=0)*(A$2:A2=1))+1)*A1,"0;;")
58个字,总算合格.
如果把A21单元格的几个字("原始数据")去掉,公式可简成:
=TEXT((COLUMN(A:J)=SUM((A$1:A1=0)*A$2:A2)+1)*A1,"0;;")

谢谢提醒,如此就可用最后一个公式

再编辑一下,上面公式在第一个为0时会出错,改为:
=TEXT((COLUMN(A:J)=SUM((A$1:A1=0)*A$2:A2)+A$1)*A1,"0;;")

改用IF,还会再短一点,C1:J1输入,多单元格公式:
=IF((COLUMN(A:J)=SUM((A$1:A1=0)*A$2:A2)+A$1)*A1,1,"")



评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-11-22 20:18 | 显示全部楼层
=TEXT((SUM(A$2:A2*(A$1:A1=0))+A$1=COLUMN(A:J))*A1,"0;;")

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-11-23 09:53 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
C1:L1
  1. =IF(A1*(A$1+SUM(N(A$1:A1+2*A$2:A2=2)))=COLUMN()-2,1,"")
复制代码
下拉

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-11-23 10:48 | 显示全部楼层
这个不算在答题内
做的时候在想,能否用一个两维数组公式做出.
自己想了一个,权当抛砖引玉,
=TEXT((COLUMN(A:J)=MMULT((ROW(1:20)*COLUMN(A:T)<=ROW(1:20)^2)*TRANSPOSE((A1:A20=0)*A2:A21),ROW(1:20)^0)+A1)*A1:A20,"0;;")
亦期待高手的杰作!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-22 07:03 , Processed in 0.043165 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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