先占位占位占位
已上传,期待点评
第五题
=IF(RIGHT(A3)="章",MATCH(TRUE,RIGHT(A4:A$26)<>"页",)-1,"")
思路很好,找到那个 尾字符 不是“章”的位置 (版主写错了,后面第一个尾字符 不是“页”的位置)
第六题
=IF(ISNUMBER(MATCH((ROW()-15),SUBTOTAL(9,OFFSET(B$2,,,ROW($1:$10)))+ROW($1:$10),0)),INDIRECT("a"&2+MATCH((ROW()-15),SUBTOTAL(9,OFFSET(B$2,,,ROW($1:$10)))+ROW($1:$10),0)),"")
思路清晰,就是判断的时候加长了公式。
第七题
使用名称后,思路清晰,用法基本和 piny 2楼的相同,只是好像受限于函数嵌套,以至于使用了名称
wangg913 自评:
第一题:66字公式1{=SUM(--(MOD(ROW(INDIRECT(DATE(A4,B4,1)&":"&DATE(A4,B4+1,))),7)>1))}
42字公式2 =NETWORKDAYS(DATE(A4,B4,1),DATE(A4,B4+1,))
达到要求,但以前不会日期的下面公式表达方式,下面是本次学习收获的结果:
33字公式2 =NETWORKDAYS(A4&-B4,(A4&-B4-1)-1)
第二题: =INDEX($A$1:$A$7,(ROW()+1)/4)
第三题: =IF(A3="",B2,A3)
第四题:=IF(MOD(A3,7)>1,TEXT(A3,"aaaa"),"周末")
本次学习收获,2个等价30字
=TEXT(MOD(A3,7),"[>1]aaaa;周末")
=TEXT(MOD(A3,7),"[<2]周末;aaaa")
第六题 还要想想老师所讲的如何改
第七题 学习110楼 fjrlgj 的处理方式
=ABS(SUM(RIGHT(LARGE(FREQUENCY(ROW(3:21),(A4:A22<>A3:A21)*ROW(3:21))*100+ROW(3:22),{1,2}),2)*{1,-1}))+1
=IF(LARGE(FREQUENCY(ROW(3:21),(A4:A22<>A3:A21)*ROW(3:21)),2)>1,ABS(SUM(RIGHT(LARGE(FREQUENCY(ROW(3:21),(A4:A22<>A3:A21)*ROW(3:21))*100+ROW(3:22),{1,2}),2)*{1,-1}))+1,"无两连续组")
本人原公式在参数上和110楼的类似有点小错,版主没发现,呵呵。
第一题,说过了这个公式不对,遇到12月份不能判定是日期了
33字公式2 =NETWORKDAYS(A4&-B4,(A4&-B4-1)-1)
第六题
使用 MATCH函数 精确查找目标值,如果找不到,就会出错
因此,可以构造一个数组,让它一定能找到就可以了。
SUBTOTAL(9,OFFSET(B$2,,,ROW($1:$11)))+ROW($1:$11) 是一个11*1的数组,可能没有你所查找的 ROW()-15
为了让它一定有,可将这个数组扩充为12*1的数组,第12个元素让它等于ROW()-15不就行了?
MATCH(ROW()-15,IF(ROW($1:12)<12,SUBTOTAL(9,OFFSET(B$2,,,ROW($1:$11)))+ROW($1:$11),ROW()-15),)
另外,不用 match函数查找,使用其他方法,30楼和38楼有很好的公式,可去看看。
wangg913
[ 本帖最后由 wangg913 于 2011-3-7 12:04 编辑 ] |