ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2012-11-25 21:38 | 显示全部楼层
本帖最后由 5blessyou 于 2012-11-30 07:06 编辑

内存数组不太会凑合一个吧!其实就是普通公式的变形
  1. =IF(A1:A20*SUBTOTAL(9,OFFSET(A1,,,ROW(2:21)))-MMULT(N(ROW(2:21)>COLUMN(A:T)),A1:A20*A2:A21)=COLUMN(A:J),1,"")
复制代码
普通公式
  1. =IF($A1*SUM($A$1:$A2,-$A$1:$A1*$A$2:$A2)=COLUMN(A1),1,"")
复制代码
C1:L1多单元数组公式
  1. =IF(A1*SUM(A$1:A2,-A$1:A1*A$2:A2)=COLUMN()-2,1,"")
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-11-25 23:56 | 显示全部楼层
C1:L1
=IF(A1*(A$1+SUM(N(A$1:A1+2*A$2:A2=2)))=COLUMN()-2,1,"")下拉


评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-11-26 09:03 | 显示全部楼层
本帖最后由 一嘟噜钥匙 于 2012-11-27 08:15 编辑

c1下拉右拉 =IF($A1*($A$1+SUM(N($A$2:$A2-$A$1:$A1=1))=COLUMN()-2),1,"")
cl:l1区域下拉=IF(A1*(A$1+SUM(N(A$2:A2-A$1:A1=1))=COLUMN()-2),1,"")

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-11-29 13:02 | 显示全部楼层
C1=IF(COLUMN(A:A)=$A1*(FREQUENCY($A$1:$A1-$A$2:$A2,-1)+$A$1),1,"")
非数组公式

点评

干嘛不简化下,删除多余的$,超出非内存数组公式长度  发表于 2012-12-1 17:27

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-12-2 10:46 | 显示全部楼层
wangg913 发表于 2012-12-1 22:39
我觉得 column()\row() 应该算是内存数组公式吧。
column() 它就在内存中,既直接参与每个单元格的计算、又 ...

个人认为不算,一个简单的测试就是,嵌套COLUMNS或者ROWS试试,或者使用INDEX(内存数组公式,行,列)看是否能返回对应的结果,如果说这样也算的话那可能有一些争议了!使用ROW或者COLUMN无法进行传递,需要借助单元格来显示,个人之见!

TA的精华主题

TA的得分主题

发表于 2012-12-2 15:14 | 显示全部楼层
本帖最后由 YYAAYY 于 2012-12-2 15:15 编辑
titi012 发表于 2012-12-2 15:06
我还是坚持我的意见.
使用row(),column(),不能算内存数组,此点认同.
但使用ROW(1:10),或者COLUMN(A:e), ...


=INDEX(IF((COLUMN($A:$J)=SUM(($A$1:$A1=0)*$A$2:$A2)+$A$1)*$A1,1,""),COLUMN()-2)
以上公式只是index的一般用法,没有涉及到内存数组,可以看34楼图片下方index部分

TA的精华主题

TA的得分主题

发表于 2012-12-1 13:56 | 显示全部楼层
题目截止。
看来楼主不在。谁有闲暇,帮忙做个总结评判。

点评

大家思路基本差不多,要写出长文章有难度哦~~  发表于 2012-12-1 18:22

TA的精华主题

TA的得分主题

发表于 2012-12-1 14:32 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-12-1 17:28 | 显示全部楼层
jgz2k 发表于 2012-11-16 18:38
C1=IF((COLUMN()-2)=SUM(INDIRECT("a1:a"&ROW()))*$A1,1,""));然后复制到所有格就可以了。

的确是多了个“(”,但a1是0也没有问题阿。参见附件。
格式转换.zip (5.41 KB, 下载次数: 7)

点评

多的是右边半个括号,不是前面半个  发表于 2012-12-2 08:58
跟要求的效果不同,参看效果图  发表于 2012-12-1 17:30

TA的精华主题

TA的得分主题

发表于 2012-12-1 17:36 | 显示全部楼层
本帖最后由 Zaezhong 于 2012-12-4 13:52 编辑

汇总了下各个楼层的公式,有多个公式的楼层分别取了满足要求的最短公式和内存数组公式,看楼主空间回复好像出国去了,根据说明代拟一个评分,备注留空的验证没有问题,如果有其他验证意见可以跟帖补充
20121204135018.png

格式转换汇总.zip

6.93 KB, 下载次数: 36

点评

9楼不可以,其他没问题。  发表于 2012-12-4 13:23
谢谢你,马上要走了,我没有时间。  发表于 2012-12-4 13:22
82字符:=IF((MMULT(N(ROW(1:20)>COLUMN(A:T)),N(A1:A20<A2:A21))=COLUMN(A:J)-A1)*A1:A20,1,"")  发表于 2012-12-1 22:32
我的公式要写成数组公式,也只是把ROW和COLUMN里面的行列号都加上就行了。 这也不算?  发表于 2012-12-1 22:30

评分

1

查看全部评分

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

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-20 10:58 , Processed in 0.052906 second(s), 21 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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