请求Excel函数高手解答几个问题? 谢谢了!

来源:百度知道 编辑:UC知道 时间:2024/06/15 02:27:54
在A.B.C.D.单元格为空格或错误号"X".请选出在A.B.C.D.单元格中排在E单元格前错误号"X".多的所对应E单元格的数为答案.

如:1

A1=空, B1=空,C1=空,D1=X,E1=1
A2=空, B2=X, C2=X, D2=X,E2=2
A3=X, B3=X, C3=X, D3=X,E3=1
A4=空, B4=空,C4=X, D4=X,E4=2
A5=X, B5=空,C5=X, D5=X,E5=1

答案为:1 (因为在A1:E1中,E1=1前面有1个"X",.在A2:E2中,E2=2前面有3个"X",在A3:E3中,E3=1前面有4个"X",在A4:E4中,E4=2前面有2个"X",在A5:E5中,E5=1前面有2个"X",A5=X不计因为有B5=空.空的隔开了.所以在E1:E5中,=2的为5个.=1的为7个.答案就为:1.

把上面的化为简单的图为:
A1:E1中,X=1
A2:E2中,XXX=2
A3:E3中,XXXX=1
A4:E4中,XX=2
A5:E5中,XX=1
因为"=1"的为7个"X","=2"的为5个"X", "=1"比"=2"多,所以就选答案为:1.

如:2

A1=空, B1=空,C1=空,D1=空,E1=1
A2=空, B2=X,C2=X,D2=X,E2=2
A3=X, B3=X,C3=X,D3=X,E3=1
A4=空, B4=空,C4=X,D4=X,E4=2
A5=X, B5=空,C5=空,D5=X,E5=1

答案为:1 (因为在A1:E1中是空不计.在A2:E2中,E2=2前面有3个"X",在A3:E3中,E3=1前面

=LOOKUP(MAX(MMULT(N(E1:E5=TRANSPOSE(E1:E5)),5-(LEN(MMULT((A1:D5="")*{10,100,1000,10000},{1;1;1;1}))))),MMULT(N(E1:E5=TRANSPOSE(E1:E5)),5-(LEN(MMULT((A1:D5="")*{10,100,1000,10000},{1;1;1;1})))),E1:E5)

数组公式

思路:求每一行的最后一个空单元格的位置,用此确定第一行X的个数(你的数据队了空就是X),5-(LEN(MMULT((A1:D5="")*{10,100,1000,10000},{1;1;1;1})))返回第一行X个数的一个数组,你的第一例为{1;3;4;2;2}
MMULT(N(E1:E5=TRANSPOSE(E1:E5)),5-(LEN(MMULT((A1:D5="")*{10,100,1000,10000},{1;1;1;1}))))对E列的条件求和,第一例返回{7;5;7;5;7}
后面的LOOKUP和MAX函数就不用说了吧
至于用MMULT条件求和是在EXCELHOME上学的,不是很好理解,不过用于生成内存数组很方便

添加辅助列,在F1输入公式:
=MAX(IF(COUNTIF(OFFSET($D1,,-ROW($1:$4)+1,,ROW($1:$4)),"X")=ROW($1:$4),ROW($1:$4),0))
公式以CTRL+SHIFT+回车结束.
将公式向下复制.
在G1输入判断公式:
=IF(SUMIF(E1:E5,1,F1)>SUMIF(E1:E5,2,F1),1,2)
G1就是你要的答案.

你编程处理吧!excel处理不了!