ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的测验 > 函数与公式 > 求各行最值之差的和

求各行最值之差的和

作者:绿色风 分类: 时间:2022-08-18 浏览:129
楼主
fangjianp
题目:求A2:D11每行最大值与最小值之差的和   
说明:   
1、A2:D11为已知数据(请勿改动)   
2、每一行为一组   
3、求出每组的最大值与最小值之差,然后求所有这些差的和   
4、E2为模拟答案   
5、F2,……,M2为答题区域
6、数据可能多达几百行
7、所有的数据范围:1——99
   
要求:   
1、不准用辅助列,VBA和定义名称   
2、不准引用E2   
3、用函数答题   
4、Excel2003须通过   
  请用尽可能多的方法求解,当给出不同解法在3种(包括3)以内,每种方法得1个技能分,当提供不同解法数多于3,则每增一种解法的2个技能分,提供方法最多者另加5个技能分   
  截至时间:2011年6月15日   

 

所谓不同方法就是求每行最值的方法是不同的,至少用的函数的类型不一样(如:MAX()/MIN(),LARGE()/SMALL(),SUM()/SUMPRODUCT()……,每一对只能算一种),主要考虑的明显不同
再比如:MOD(--(A&B),3)
            MOD(A/1%+B,3)
            MOD(A*100+B,3)
没什么方法上的不同,不能作为2种方法提供
本题主要是希望大家能提供新的思路,在方法上思路上有所突破。
            

求每行数据最值之差的和.rar
2楼
Zaezhong
算不算不同的我也不管了由楼主来判断吧~~
1、
  1. =SUMPRODUCT(SUBTOTAL({4,5},OFFSET(A1,ROW(1:10),,,4))*{1,-1})

2、
  1. =SUMPRODUCT(SUBTOTAL({4,5},INDIRECT("R"&ROW(2:11)&"C1:R"&ROW(2:11)&"C4",))*{1,-1})

3、
  1. =SUMPRODUCT(SMALL(10^ROW(2:11)+A2:D11,4*ROW(1:10)-{3,0})*{-1,1})

4、
  1. =SUMPRODUCT(LARGE(10^ROW(2:11)+A2:D11,4*ROW(1:10)-{3,0})*{1,-1})

5、
  1. =SUMPRODUCT(PERCENTILE(10^ROW(2:11)+A2:D11,ROW(1:10)/39*4-{4,1}/39)*{-1,1})
6、
  1. =SUM(N(OFFSET(A1,ROW(1:10),ROUND(MOD(SMALL(RANK(A2:D11,OFFSET(A1,{1;2;3;4;5;6;7;8;9;10},,,4))+10^ROW(1:10)+COLUMN(A:D)%,4*ROW(1:10)-{3,0}),1)/1%,)-1))*{1,-1})
round函数不能省略可能产生浮点错误
7、
  1. =SUM(N(OFFSET(A1,ROW(1:10),MOD(SMALL(RANK(A2:D11,OFFSET(A1,ROW(1:10),,,4))+10^ROW(1:10)+COLUMN(A:D)%,4*ROW(1:10)-{3,0}),1)/1%-0.99))*{1,-1})
-0.99其实是0.01-1的结果
8、
  1. =SUM(N(OFFSET(A1,ROW(1:10),RIGHT(SMALL(RANK(A2:D11,OFFSET(A1,ROW(1:10),,,4))+10^ROW(1:10)+COLUMN(A:D)%,4*ROW(1:10)-{3,0}),2)-1))*{1,-1})
用right函数就没有浮点错误的问题了
9、
  1. =SUM(N(OFFSET(A1,ROW(1:10),MOD(PERCENTILE(RANK(A2:D11,OFFSET(A1,ROW(1:10),,,4))+10^ROW(1:10)+COLUMN(A:D)%,ROW(1:10)/39*4-{4,1}/39),1)/1%-0.99))*{1,-1})

10、
  1. =SUM(N(OFFSET(A1,ROW(1:10),RIGHT(PERCENTILE(RANK(A2:D11,OFFSET(A1,ROW(1:10),,,4))+10^ROW(1:10)+COLUMN(A:D)%,ROW(1:10)/39*4-{4,1}/39),2)-1))*{1,-1})
最后请楼主辛苦判断下可以算几种~~

3楼
laowuwyx
暂时想到两种。
  1. =SUM(SUBTOTAL({4,5},OFFSET(A1:D1,ROW(1:10),))*{1,-1})
  1. =SUM(MOD(SMALL(ROW(1:10)/1%+A2:D11,ROW(1:10)*4-{3,0}),100)*{-1,1})
4楼
bluexuemei
数组公式
  1. =SUM(SUBTOTAL({4,5},OFFSET(A2:D2,ROW(1:10)-1,))*{1,-1})
  1. =SUM(MOD(SMALL(A2:D11+ROW(1:10)*1000,(ROW(1:10)-1)*4+{1,4}),1000)*{-1,1})
5楼
piny
不同解法之定義?
MMULT + SUBTOTAL + OFFSET
  1. =SUM(MMULT(SUBTOTAL({4,5},OFFSET(A1:D1,ROW(1:10),)),{1;-1}))
  1. =SUM(MMULT(SUBTOTAL({4,5},OFFSET(A1,ROW(1:10),,,4)),{1;-1}))
SUBTOTAL + OFFSET
  1. =SUM(SUBTOTAL({4,5},OFFSET(A1:D1,ROW(1:10),))*{1,-1})
  1. =SUM(SUBTOTAL({4,5},OFFSET(A1,ROW(1:10),,,4))*{1,-1})
SMALL(LARGE) + ROW*100 + 區域
  1. =SUM(SMALL(ROW(1:10)*100+A2:D11,4*ROW(1:10)-{3,0})*{-1,1})
  1. =SUM(LARGE(ROW(1:10)*100+A2:D11,4*ROW(1:10)-{3,0})*{1,-1})
SMALL(LARGE) + ROW & 區域
  1. =SUM(SMALL(--(ROW(1:10)&TEXT(A2:D11,"00")),4*ROW(1:10)-{3,0})*{-1,1})
  1. =SUM(LARGE(--(ROW(1:10)&TEXT(A2:D11,"00")),4*ROW(1:10)-{3,0})*{1,-1})
SMALL(LARGE) + ROW +區域%
  1. =SUM(SMALL(ROW(1:10)+A2:D11%,4*ROW(1:10)-{3,0})*{-1,1})/1%
  1. =SUM(LARGE(ROW(1:10)+A2:D11%,4*ROW(1:10)-{3,0})*{1,-1})/1%
6楼
rongjun
  1. =SUMPRODUCT(SUBTOTAL({4,5},OFFSET(A1:D1,ROW(1:10),))*{1,-1})
7楼
liuguansky
  1. =SUM(SUBTOTAL({4,5},OFFSET(A1:D1,ROW(1:10),))*{1,-1})
  2. =SUM(SMALL(A2:D11+ROW(1:10)/1%,ROW(1:10)*4-{0,3})*{1,-1})
  3. =SUM(PERCENTILE(A2:D11+ROW(1:10)/1%,(ROW(1:10)*4-{1,4})/39)*{1,-1})
8楼
落雪绽菊
{=SUM(LARGE(LARGE(A2:D11+ROW(A2:D11)*100,ROW(1:40)),(ROW(1:10)-1)*4+1),-LARGE(LARGE(A2:D11+ROW(A2:D11)*100,ROW(1:40)),ROW(1:10)*4))},菜鸟,只会这一种
9楼
angellbxsc
第一种:SUM(SUBTOTAL({4,5},OFFSET(A1,ROW(1:10),,,4))*{1,-1})
第二种:SUM(MMULT(--RIGHT(LARGE(ROW(1:10)/1%+A2:D11,{1,2,3,4}+4*(ROW(1:10)-1)),2),{1;0;0;-1}))
第三种:SUM(--RIGHT(LARGE(ABS(MMULT(A2:D11,{1,1,1,0,0,0;-1,0,0,1,1,0;0,-1,0,-1,0,1;0,0,-1,0,-1,-1}))+ROW(1:10)/1%,6*(ROW(1:10)-1)+1),2))
越来越长了。呵呵,要找到三种以上真是困难。
10楼
biaogewang
=SUMPRODUCT(SUBTOTAL(4,OFFSET($A$1:$D$1,ROW(1:10),0))-SUBTOTAL(5,OFFSET($A$1:$D$1,ROW(1:10),0)))
11楼
卢子
想到两种而已
  1. =SUM(SUBTOTAL({4,5},OFFSET(A1:D1,ROW(1:10),))*{1,-1})
  1. =SUM(MMULT(SUBTOTAL({4,5},OFFSET(A1:D1,ROW(1:10),)),{1;-1}))
12楼
Ericall
=SUMPRODUCT(SUBTOTAL({4,5},OFFSET(A1:D1,ROW(1:10),))*{1,-1})
=SUM(SUBTOTAL(4,OFFSET(A1:D1,ROW(1:11),))-SUBTOTAL(5,OFFSET(A1:D1,ROW(1:11),)))
=SUM(LARGE(A2:D11%+ROW(2:11),ROW(1:10)*4-{3,0})*{1,-1})/1%
=SUM(SMALL(A2:D11%+ROW(2:11),ROW(1:10)*4-{3,0})*{-1,1})/1%
=SUM(PERCENTILE(A2:D11%+ROW(1:10),(ROW(1:10)*4-{4,1})/39)*{-1,1})/1%
=SUM(LARGE(A2:D11%+ROW(2:11),ROW(1:10)*4-3)-SMALL(A2:D11%+ROW(2:11),ROW(1:10)*4-3))/1%
13楼
hopeson2010
1、=SUM(MMULT(SUBTOTAL({4,5},OFFSET(A1:D1,ROW(1:10),)),{1;-1}))
2、=SUM(RIGHT(SMALL(ROW(2:11)*10^9+A2:D11,ROW(1:10)*4-{3,0}),3)*{-1,1})
3、=SUM(MID(TEXT(MMULT(MOD(SMALL(ROW(1:10)*10^3+A2:D11,(ROW(1:10)-1)*4+{1,2,3,4}),1000),10^{6;4;2;0}),"00000000"),{1,7},2)*{-1,1})
14楼
w83365040371
  1. =SUM(SUBTOTAL({4,5},OFFSET(A1:D1,ROW($1:$10),))*{1,-1})
  1. =SUM(RIGHT(SMALL(A2:D11+ROW($1:$10)*10^6,4*ROW($1:$10)-{3,0}),6)*{-1,1})
  1. =SUM(RIGHT(LARGE(A2:D11+ROW($1:$10)*10^6,4*ROW($1:$10)-{3,0}),6)*{1,-1})
15楼
↑★菩子☆↓
我参观来的

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap