ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[Excel 函数与公式] [第36期]有效采样样本区间 [已结]

[复制链接]

TA的精华主题

TA的得分主题

发表于 2008-4-27 00:50 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

(

补充说明:

1.说明中提到的"样本"和"脉冲",其实就是1,只是把出现在首行的1称作"样本"(有连续1组成的区间称作"样本区"),出现在次行的1称作"脉冲".

2.330个字符以上,400个以下,得1分.274个以下得3分.


答案请发送至我的邮箱:w829924@hotmail.com,并跟贴占位,请勿在跟贴中直接发答案(跟帖中如附答案一律不得分)

[此贴子已经被作者于2008-6-26 0:32:53编辑过]
单选投票, 共有 11 人参与投票

距结束还有: 3933 天23 小时26 分钟

您所在的用户组没有投票权限

本帖子中包含更多资源

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

x

TA的精华主题

TA的得分主题

发表于 2008-5-16 11:08 | 显示全部楼层

277字符,

已发送至 w829924@hotmail.com ,请查收

AD2:AE2公式:

=TEXT(MID(MAX((SUMIF(OFFSET(A2,,COLUMN(A:AB),,TEXT((29-COLUMN(A:AB)>=ROW($1:$28))*ROW($1:$28),"0;;!1")),1)=ROW($1:$28))*NOT(N(OFFSET(A3,,COLUMN(A:AB)+ROW($1:$28)-1,,))+B3:AC3)*SUBTOTAL(4,OFFSET(A3,,COLUMN(A:AB),,ROW($1:$28)))*(ROW($1:$28)/1%+COLUMN(A:AB))+10^4),{4,2},2),"0;;")


QUOTE:

思路正确,用SUMIF计算连续1的区间,TEXT(...,"0;;!1")来限制变动的区域长度,防止循环引用,NOT(    OFFSET(..)来确定样本区的结尾对应的脉冲不能是1,B3:AC3来确定确定样本区的起始对应的脉冲不能是1 ), SUBSTOTAL确定样本区里必须有一个1(用SUMIF会稍微简单些).

但有个问题,公式不能确保在下拉时脉冲行为空,答案的附件都是为空,是正好举例的数据结果为空,但将2到3行举例数据复制3到4行,脉冲行不是空.需要再*(MOD(ROW(),2)=0),

主要考点正确,加上一个条件后公式长度294个字符仍满足字符数要求. 少一个条件-1分, 本题只有一人有答案, +1分(也可算作难度加分), 也谢谢XCD兄提供的详细的公式解释. 最终评分2分. -willin2000

[此贴子已经被willin2000于2008-5-26 21:06:23编辑过]

本帖子中包含更多资源

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

x

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-5-26 21:05 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

本题主要涉及多维运算,需要有一定的空间逻辑思维.

AD2:AE2公式(273个字符):

=TEXT(MID(MAX(IF((SUMIF(OFFSET(A2,,COLUMN(A:AB),,ROW($1:$28)^(ROW($1:$28)+COLUMN(A:AB)<30)),1)<>ROW($1:$28))+(SUMIF(OFFSET(A3,,COLUMN(A:AB),,ROW($1:$28)),1)=0)+N(OFFSET(A3,,COLUMN(A:AB)+ROW($1:$28)-1))+B3:AC3+MOD(ROW(),2),,ROW($1:$28)/1%+COLUMN(A:AB)))+10^4,{4,2},2),"0;;")

公式主要思路解释如下:

SUMIF(OFFSET(A2,,COLUMN(A:AB),,ROW($1:$28)),1)   ---关键1

用来计算样本区起始变动,长度变动的区域的1的个数,ROW($1:$28)加入指数运算

^(ROW($1:$28)+COLUMN(A:AB)<30)                                --关键2

长是一个右下角为1的矩阵 用来限制长度,不会进入公式区.

<>ROW($1:$28)                                                                --关键3

用来判定是否是连续区域的起点.

SUMIF(OFFSET(A3,,COLUMN(A:AB),,ROW($1:$28)),1)=0

用来判定脉冲行是否有脉冲, =0就是没有脉冲.

N(OFFSET(A3,,COLUMN(A:AB)+ROW($1:$28)-1))           --关键4(主要点)

用来确定样本区的结尾不能是1,如果是1就不满足条件.

B3:AC3 用来确定起始位置不能是1.

MOD(ROW(),2) 用来确定不是脉冲行.

其他部分比较简单,不再复述,最后用TEXT让0值不显示,大于0正常显示.

本题中的一个技巧点是,脉冲边界连续1的理解转换成公式思路就是: 有效样本区的起始和结尾不能有脉冲.

TA的精华主题

TA的得分主题

发表于 2008-5-27 09:41 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
QUOTE:
以下是引用willin2000在2008-5-26 21:05:30的发言:

本题主要涉及多维运算,需要有一定的空间逻辑思维.

AD2:AE2公式(273个字符):

=TEXT(MID(MAX(IF((SUMIF(OFFSET(A2,,COLUMN(A:AB),,ROW($1:$28)^(ROW($1:$28)+COLUMN(A:AB)<30)),1)<>ROW($1:$28))+(SUMIF(OFFSET(A3,,COLUMN(A:AB),,ROW($1:$28)),1)=0)+N(OFFSET(A3,,COLUMN(A:AB)+ROW($1:$28)-1))+B3:AC3+MOD(ROW(),2),,ROW($1:$28)/1%+COLUMN(A:AB)))+10^4,{4,2},2),"0;;")

willin2000兄的公式可再缩减4字符,达269字符

MOD(ROW(),2)  简化为   (A2<"样")

ROW($1:$28)^(ROW($1:$28)+COLUMN(A:AB)<30))  用的很简洁,学习了!

QUOTE:

谢谢XCD兄的简化, 如果用(A2<A3)可再省一个字符.呵呵 -willin2000

[此贴子已经被willin2000于2008-5-27 20:59:23编辑过]

TA的精华主题

TA的得分主题

发表于 2008-5-28 07:50 | 显示全部楼层
我觉得willin2000版主的智力太高了,还是我们中国有人才,我们那些军事人才有这么聪明吗?我们国家就不愁了.

TA的精华主题

TA的得分主题

发表于 2008-5-28 20:50 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2008-5-29 23:01 | 显示全部楼层
QUOTE:
以下是引用waqh6797在2008-5-28 7:50:27的发言:
我觉得willin2000版主的智力太高了,还是我们中国有人才,我们那些军事人才有这么聪明吗?我们国家就不愁了.

    专业不一样,中国军队人才也不小!

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

本版积分规则

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

GMT+8, 2024-12-4 01:24 , Processed in 0.063551 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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