• ベストアンサー

エクセルで、条件に合うセルのうち最も上の行の行数を返す方法

すみません、質問させてください。 次のような検索範囲 1 100 2 180 3 230 4 270 5 190 がある時、検索範囲中で条件[190以上]に当てはまる セルのうち、最も上のものの行数(この場合3行目) の値、もしくは行数を返す方法を教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

検索範囲がA1:A5の時 >最も上のものの行数 =MIN(IF(A1:A5>=190,ROW(A1:A5),70000)) をSHFIT+CTRL+ENTERで入力 その行の値 =INDEX($A$1:$A$5,MIN(IF(A1:A5>=190,ROW(A1:A5),70000))) をSHFIT+CTRL+ENTERで入力

hayashi23
質問者

お礼

解決しました。ありがとうございました。

その他の回答 (4)

  • Poer
  • ベストアンサー率45% (72/157)
回答No.5

 以前私が回答した問題とほとんど同じですね。最善の方法かどうかはわかりませんが、以下の方法で結果は出ます。  数字データがB1から入っているとして、   (1)・・・A1に =IF(B1>=C$1,1)   (2)・・・D1に =IF(ISERROR(VLOOKUP(1,A:B,2,0)),"",VLOOKUP(1,A:B,2,0))   (3)・・・(1)を数値データの最終行までオートフィル。   (4)・・・A列の幅を0(ゼロ)にする。  →C1に190を打つと、D1に結果が表示されます。

参考URL:
http://okwave.jp/kotaeru.php3?q=1941215
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんばんは。 こんな風にしたらどうかしらね。 行数: =SMALL(INDEX((A1:A5>=190)*ROW(A1:A5),,),COUNTIF(A1:A5,"<190")+1) 値: =INDEX(A1:A5,SMALL(INDEX((A1:A5>=190)*ROW(A1:A5),,),COUNTIF(A1:A5,"<190")+1),1)

noname#204879
noname#204879
回答No.2

=COUNTIF(A:A,">=190")

回答No.1

検索範囲が昇順に並んでいる場合はVLOOKUPで可能です。 お尋ねのように検索範囲が順不同の場合はピンポイントな 回答は思いつきませんが横に1列作業用の列を足して  IF(A1>=190,1,0) のような式を入れておき、あらためて作業列が最初に1になるセルを求めてはいかがでしょう? 複雑な式を作るより作業用の列やシートを組んでしまったほうが早くて後からわかりやすいことが良くあります。

関連するQ&A