未排序,在一列数中查找第一个大于某数的单元格行数

如题所述

可以使用数组公式实现,如图所示,假定A列有一组没有排序的数字,B1中的数字就是所要查找的数字的参照值,B2="第一个大于"&B1&"的数所在的行数为:",B3=IF(MAX(A1:A13)<=B1,"不存在",MIN(IF(A1:A13>B1,ROW(A1:A13),10^10))),B3中的公式必须以Ctrl+Shift+Enter组合键结束(数组公式),否则结果将出错^_^

 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-14
在不知道有什么好办法之前,我给你两个建议:
1、增加一个辅助列,然后使用 函数来求得这个 行数……
比如:B2 =IF(A:A>$C$1,ROW(),"")……从B2起向下填充;这里C1 中 填写你的“某个数”……然后 再在C2 =MIN(B:B)……这样 你就可以在C2 中得到 A列中 从上往下数 第一个 大于你给的那个“某数”的数所在的行数了……
2、使用vba 的 for ……next 语句 逐行查找 直到 满足条件 停止 然后返回 所需的数据……这个自己琢磨吧……
第2个回答  2012-07-14
A列为数据列,B为要某数所在列,C列返回对应的符合要求的行号,C1输入公式并向下复制
{=IF(MIN(IF($A$1:$A$27>B1,ROW($A$1:$A$27)))>0,MIN(IF($A$1:$A$27>B1,ROW($A$1:$A$27))),"不存在")}
这是数组公式(即正常输入公式后按Ctrl+Shift+Enter增加大括号),假设数据只有27行,请根据实际范围更改
相似回答
大家正在搜