那么的帅 发表于 2012-6-7 10:10

MM函数练手题

本帖最后由 那么的帅 于 2012-6-14 08:43 编辑

以前论坛会员提出的问题
公式需要用到MMULT函数,非内存数组公式。
注明不同题目,提交公式即可(提交附件的将被忽略)

题目1


题目2

gdsgzhrsh 发表于 2012-6-7 10:14

顶下帅大叔~~~~~~~~~~

CheryBTL 发表于 2012-6-7 10:50

本帖最后由 CheryBTL 于 2012-6-7 20:55 编辑

感觉这几个好像不是MM的练习题:
第一题:T1:AJ1区域数组:=INDEX(A$1:Q20,SMALL((MMULT(N(A$1:C20<>""),{1;1;1})<3)/1%+ROW($1:20),ROW()),COLUMN(A:Q))&""=INDEX(A:Q,SMALL((MMULT(N(A$1:C20<>""),{1;1;1})<3)/1%+ROW($1:20),ROW()),COLUMN(A:Q))&""第二题简化后102字符:=MATCH(1,0/(C2:C100=60))-MATCH(1,0/(MMULT(N(OFFSET(C1,,,MATCH(1,0/(C2:C100=60)))={0,1,2}),{1;1;1})=0))

wjc2090742 发表于 2012-6-7 11:11

本帖最后由 wjc2090742 于 2012-6-7 21:31 编辑

第1题数组公式不容错右拉下拉=INDEX(A:A,SMALL(IF(MMULT(N($A$1:$C$20<>""),{1;1;1})=3,ROW($1:$20)),ROW(A1)))&""第2题数组公式右拉=-LOOKUP(,IF((C1:C100-1)^2>1,ROW(2:101)-MATCH(1,0/(C1:C100=60))))=-LOOKUP(,IF(MMULT(N(C1:C100<>{0,1,2}),{1;1;1})=3,ROW(2:101)-MATCH(1,0/(C1:C100=60))))容错的,60上方全部为0,1,2时可以返回正确结果,数组公式右拉。=-MAX(-TEXT(((C1:C100-1)^2>1)*ROW(1:100)-MATCH(1,0/(C1:C100=60)),"1!0!0;0"))-1

tyxh0916 发表于 2012-6-7 11:23

第一题=MATCH(1,0/(60=C$1:C$100))-MAX((IF(MMULT(N(C$1:C$100={0,1,2}),{1;1;1})=0,ROW(1:100))<MATCH(1,0/(60=C$1:C$100)))*ROW(1:100))-1第二题=INDEX(A$1:Q$21,SMALL(IF(MMULT(N(A$1:C$20<>""),{1;1;1})=3,ROW($1:$20),21),ROW(A1)),COLUMN(A:Q))&""

wp8680 发表于 2012-6-7 15:11

=INDEX(A:A,SMALL(IF(MMULT(($A$1:$C$20>0)*1,ROW($1:$3)^0)=3,ROW($1:$20),99),ROW(A1)))&""做一个先交一个吧

qingfeng_qf 发表于 2012-6-7 19:07

=IF(SMALL(IF(MMULT(($A$1:$C$20>0)*1,{1;1;1})=3,ROW($1:$20),99),ROW($A1))<99,INDEX(A$1:A$20,SMALL(IF(MMULT(($A$1:$C$20>0)*1,{1;1;1})=3,ROW($1:$20),99),ROW($A1)))&"","")右拉下拉公式

chunlin1wang 发表于 2012-6-7 22:44

1=INDEX(A:A,SMALL((MMULT(N($A$1:$C$20=""),{1;1;1})>0)*99+ROW($1:$20),ROW()))T1右拉下拉2.C103右拉=MATCH(,MMULT(--(N(OFFSET(C1,MAX((C1:C100=60)*ROW(1:100))-ROW(INDIRECT("2:"&MAX((C1:C100=60)*ROW(1:100)))),))={0,1,2}),{1;1;1}),)-1

飞雨飘 发表于 2012-6-9 08:34

=INDEX(A:A,SMALL(IF(MMULT(N($A$1:$C$20<>""),{1;1;1})=3,ROW($1:$20),99),ROW(A1)))&""=MATCH(1,0/(C1:C100=60))-MATCH(1,0/((1-MMULT(N(C1:C100={0,1,2}),{1;1;1}))*(ROW(1:100)<MATCH(1,0/(C1:C100=60)))))-1实在搞不清楚如何用MM合并,先用常规解法解了再说,未精简。

mfksypss 发表于 2012-6-10 10:37

题一:
=TEXT(INDEX(A1:Q20,MATCH(LARGE((MMULT((A1:C20<>"")*1,{1;1;1})=3)*10^(20-ROW(A1:A20)),ROW(INDIRECT("1:"&SUM(((MMULT((A1:C20<>"")*1,{1;1;1})=3)*10^(20-ROW(A1:A20))>0)*1)))),(MMULT((A1:C20<>"")*1,{1;1;1})=3)*10^(20-ROW(A1:A20)),0),COLUMN(A:T)),"#;;")
页: [1] 2
查看完整版本: MM函数练手题