有多行数据,我要引用其中的第M列出现的第一个正数以及这个正数前后左右的数

你好!昨天晚上你刚刚回答了我的问题,还记得吗?非常感谢你,同时希望你能帮我回答这个问题。因为我对函数不是很了解,如果你能在给出答案的同时给我解释一下函数的缘由,将不胜感激!这厢有礼啦哈!
假如这是SHEET1中的数据,现在我要在SHEET2中的A1显示出SHEET1中第M列出现的第一个正数,B1显示那个正数左边的数,C1显示那个正数右边的数,D1显示正数上边的数,E1显示下边的数。我知道原理都是一样的,但是还是希望大家能一一作答,或者告诉我怎么做这个函数。谢谢你们!

公式是:
=INDEX(A:A,MIN(IF(A1:A1000>0,ROW(A1:A1000))))

从里面看起——
IF(A1:A1000>0,ROW(A1:A1000))))
这一段的意思是说,如果A1:A1000里大于0的就记下他对应的行号,否则记为FALSE
这样就得到了1000个数据
这些数据里,哪个最小(你需要的是第一个,当然就是最小的那个了),用MIN来求出
最后,INDEX(A:A,MIN())就是用刚才得到的那个行号,查出A列的数据。

现在,关于前后左右:
前,就是他的上一个。用刚才那个公式改一下
=INDEX(A:A,MIN()-1)
后一个,自然就是
=INDEX(A:A,MIN()+1)

右边的,就是B列的,INDEX(B:B,MIN())
左边,由于是公式是A列的,所以没有左边,如果是M列,他的左边就是L列,所以公式就是
INDEX(L:L,MIN())

OK?来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-11-16
if函数,就是满足条件返回一个值,不满足条件则返回另一个值,你试试。
相似回答