EXCEL表中前三列数据跟第四列比较大小,怎样在第五列和第六列返回特定的值。具体见问题补充

有哪位高手会啊?谢谢了。
A B C D E F

5.00 6.00 7.00 6.5 1 2

3.00 4.00 5.00 3.5 1 1

6.00 7.00 8.00 8.5 1 2
如果A列是最小的数且比D列的数小,就在E列返回1,如果B列是最小的数且比D列的数小,就在E列返回2,如果C列是最小的数且比D列的数小,就在E列返回3,如果有两个数都比D列小,比如第一行的A列和B列,就在E列返回最小的那个(值为1),在F列返回次小的那个(值为2)。

不知道如果ABC列中没有比D小的数,是不是显示为空,下面的公式就是按显示为空来考虑的。另外,楼主的意思是不是E、F列就显示出第1、第2个小于D的数的位置,即在A列为1,在B列为2,在C列为3。下面的公式就是这样来设置的。在E1中输入公式:
=IF(MIN(A1:C1)<D1,MATCH(MIN(A1:C1),A1:C1,0),"")
F1中输入公式:
=IF(SMALL(A1:C1,2)<D1,MATCH(SMALL(A1:C1,2),A1:C1,0),"")
选择E1:F1,向下拖拉复制公式。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-25
在E1、F1分别输入或复制粘贴此公式
=IF(COUNTIF(A1:C1,"<"&D1)>=2,1,IF(AND(MIN(A1:D1)=A1,A1<D1),1,IF(AND(MIN(A1:D1)=B1,B1<D1),2,IF(AND(MIN(A1:D1)=C1,C1<D1),3,""))))

=IF(COUNTIF(A1:C1,"<"&D1)>=2,2,IF(AND(MIN(A1:D1)=A1,A1<D1),1,IF(AND(MIN(A1:D1)=B1,B1<D1),2,IF(AND(MIN(A1:D1)=C1,C1<D1),3,""))))
选中E1:F1,下拉填充
相似回答