EXCEL 去大小函数

来源:百度知道 编辑:UC知道 时间:2024/06/02 22:44:27
A列中内容:573,等不固定的三位数字
B列中要取这三个数中,中间的数,不是位置的中间,是大小值的中间,如果三位数有两位一样的,例如:110,则返回1,如果三位全一样,则返回2

谢谢~
EXCEL 2007 版本

感谢大家
zyxjoy已经可以把中间值取出来,但是有两个一样的时候则没有中间数,能不能在zyxjoy的基础上加个IF判断下,如果两个一样则返回1,并填充红色,如果三个一样,则返回2,并填充绿色

麻烦了,谢谢

=sum(mid(a1,1,1),mid(a1,2,1),mid(a1,3,1))-max(mid(a1,1,1),mid(a1,2,1),mid(a1,3,1))-min(mid(a1,1,1),mid(a1,2,1),mid(a1,3,1))

虽然复杂,但是看起来很简单易懂。
用三位的和减去最大值,减去最小值。就是了。

=MEDIAN(MID(A1,1,1),MID(A1,2,1),MID(A1,3,1))

返回值最好不是数值(1或2),如果判断值为123或333,返回值同样为“2”标颜色就无意义了。

复杂点的:
=IF(AVERAGEA(MID(A1,1,1),MID(A1,2,1),MID(A1,3,1))=VALUE(MID(A1,1,1)),"全部相同",IF(OR(MID(A1,1,1)=MID(A1,2,1),MID(A1,2,1)=MID(A1,3,1),MID(A1,1,1)=MID(A1,3,1)),"部分相同",MEDIAN(MID(A1,1,1),MID(A1,2,1),MID(A1,3,1))))

=MEDIAN(--MID(A1,{1,2,3},1)) 取出中值。

=IF(LEN(SUBSTITUTE(A1,MEDIAN(--MID(A1,{1,2,3},1)),""))=0,2,IF(LEN(SUBSTITUTE(A1,MEDIAN(--MID(A1,{1,2,3},1)),""))=1,1,MEDIAN(--MID(A1,{1,2,3},1))))

至于填充颜色,需用条件格式。

取数函数:left(a1,1),mid(a1,2,1),right(a1,1)分别取百位、十位、个位的数

做辅助列B列,将上述函数公式写在B1,B2,B3,然后在C1写公式:
if(countif(b:b,b1)=3,"2",if(countif(b:b)=2,"1",median(b1:b3)))

把这个公式利用进去就可以达