楼主 Zaezhong |
大年三十,祝大家新年快乐 A列隐藏了,其中A2:A27内的公式为
题目说明: 1、请计算位于最值(最大值,最小值)对应行之间的数字之和,(在附件中已经用条件格式标出)也即求B列颜色区域的数值和(上图情况下求B5:B10区域和) 2、C列已经标识了最大最小值,以及B列的条件格式产生的颜色仅仅用于判断最值,不做他用 3、要求公式结果可以适合数据变化 4、不使用名称以及辅助单元格 5、无需上传附件,贴出公式说明是否数组公式即可 评分细则: 1、正确结果加技能分3分,思路不同的多种解法每多一种加2分 2、非数组公式额外加5分魅力值,多种方法时魅力值加10 PS:评分请版主帮评。 答题期限:2月17日 介于最大值行与最小值行间的数字求和.rar 介于最大值行与最小值行间的数字求和~~2003版.rar |
2楼 biaotiger1 |
非数组1:
|
3楼 laowuwyx |
重在参与,先抛一个砖头出来。 =SUM(INDIRECT("b"&MIN(MATCH(MIN(B:B),B:B,),MATCH(MAX(B:B),B:B,))&":b"&MAX(MATCH(MIN(B:B),B:B,),MATCH(MAX(B:B),B:B,)))) =SUM(OFFSET(B1,MATCH(MIN(B:B),B:B,)-1,,SUM(MATCH(SMALL(B:B,{1,26}),B:B,)*{-1,1})+IF(SUM(MATCH(SMALL(B:B,{1,26}),B:B,)*{-1,1})>0,1,-1))) =ABS(SUM(OFFSET(B1,,,MATCH(MAX(B:B),B:B,)))-SUM(OFFSET(B1,,,MATCH(MIN(B:B),B:B,))))+IF(SUM(MATCH(SMALL(B:B,{1,26}),B:B,)*{-1,1})>0,MIN(B:B),MAX(B:B)) 三个均为普通公式。 |
4楼 kevinchengcw |
|
5楼 悟空师弟 |
以下皆为普通公式: 公式1:
|
6楼 piny |
非数组
|
7楼 LCinderella |
非数组,取巧
|
8楼 pzh130 |
=SUM(INDIRECT("B"&MATCH(MAX(B2:B27),B2:B27,)+1&":B"&MATCH(MIN(B2:B27),B2:B27,)+1)) |
9楼 水星钓鱼 |
非数组公式 =SUM(INDIRECT("B"&MATCH(MIN(B:B),B:B,)):INDIRECT("B"&MATCH(MAX(B:B),B:B,))) |
10楼 涅磐86970 |
=SUMPRODUCT(OFFSET(INDIRECT("B"&MATCH(MAX($B$2:$B$27),B:B,)),,,MATCH(MIN($B$2:$B$27),B:B,)-MATCH(MAX($B$2:$B$27),B:B,)))+MIN($B$2:$B$27) SUMPRODUCT(OFFSET(B1,MATCH(MAX(B:B),B:B,)-1,,MATCH(MIN(B:B),B:B,)-MATCH(MAX(B:B),B:B,)))+MIN(B:B) |
11楼 zm0115 |
普通公式 =SUM(INDEX(B1:B27,MATCH(10,B1:B27,)):INDEX(B1:B27,MATCH(35,B1:B27,))) |
12楼 rongjun |
普通公式:
|
13楼 XIAO_JUN |
=SUMPRODUCT(OFFSET(B1,MIN(MATCH(SMALL(B2:B27,{1,26}),B2:B27,)),,ABS(SUM(MATCH(SMALL(B2:B27,{1,26}),B2:B27,)*{1,-1}))+1,)) 普通公式 |
14楼 wjc2090742 |
非数组公式不难啊,用很直接的思路写就行了。
上面公式对应的数组公式:
|
15楼 wjc2090742 |
发现上楼的公式,abs用的多余,而且即使用sum,也仍然是普通公式,昨天才被草版批评过呢。留个记号,以后多多留心。最后一个公式改成:
上楼第2个公式的简化,这里取巧了,但是思路是成立的,就不写完整的了:
均为普通公式。 |
16楼 wcymiss |
|
17楼 wjc2090742 |
还是我家猪猪跟我比较亲,一样多用一个abs |
18楼 Zaezhong |
本次的题目很简单,主要在于收集思路,考虑到是过年时分,在评分上面有增加具体如下 评分.rar |
19楼 Zaezhong |
本来是想应大头版主要求上传一个2003版本的附件的,但是操作上居然取消了回复仅楼主可见,昨天没有发现只好开帖了: 2楼:公式1和公式2原理相同利用Offset函数生成引用区域,只是表示不同,但是在题目中没有要求思路不同才算不同的方法,故算2个答案 3楼:公式1用indirect函数取得引用区域,公式可以简化,因为indirect(“b10:b3”)与indirect(“b3:b10”)是一样的 公式2思路还是用Offset函数取得引用,后面的if函数部分用于判断是最大值在上还是最小值在上 公式3的abs部分计算区域的和,由于有一个最值算了2次,需要重新减去,后面部分类似公式2 4楼:参考3楼公式1,同样可以简化 5楼:公式1用INDEX函数取代indirect,subtotal部分取得最大最小值 公式2参考3楼公式1 公式3的small函数用于将小的序列号排在前,保证Mmult结果为正数 公式4实际为多条件求和的一个变现,介于最值之间的行返回1,其他返回0 公式5实际为公式2的另外一种表达方式,将其算为一中方法,原因同2楼 6楼:公式1同4楼 公式2中Offset的第二参数为最大最小值中的较小者,abs部分同样是为了保证该部分的结果为正 公式3与3楼的公式3类似,同样是用一个大的区域减去一个较小区域 7楼:公式1同6楼公式2 公式2参考6楼公式1,3楼公式1可以简化到该情况 8楼:公式同4楼 9楼:同8楼,表示方法不同而已,直接用了引用函数的表示方式 10楼:基本思路为用Offset函数支持负数的特点取得引用区域 11楼:同5楼公式1,只是取巧了 12楼:原理同5楼公式3 13楼:同7楼公式1 14楼:公式1同5楼公式3 公式2同5楼公式4 公式3与12楼公式一样,只是在取最值的时候用了quartile函数 15楼:公式2是14楼公式2的一个变身 16楼:同11楼 |
20楼 鬼狐 |
为什么用rand之后,就不支持数组了呢??? =SUM(SUBTOTAL(9,OFFSET(B1,,,SMALL(MATCH(SUBTOTAL({4,5},B:B),B:B,),{1,2})-{1,0}))*{-1,1})数组,但是公式审核到最后一步的时候错误 以前一直都没注意有这个限制(因为很少用rand) 好像是不支持match |
21楼 w83365040371 |
|