- ベストアンサー
エクセルで、条件に合うセルのうち最も上の行の行数を返す方法
すみません、質問させてください。 次のような検索範囲 1 100 2 180 3 230 4 270 5 190 がある時、検索範囲中で条件[190以上]に当てはまる セルのうち、最も上のものの行数(この場合3行目) の値、もしくは行数を返す方法を教えてください。 よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
検索範囲が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で入力
その他の回答 (4)
- Poer
- ベストアンサー率45% (72/157)
以前私が回答した問題とほとんど同じですね。最善の方法かどうかはわかりませんが、以下の方法で結果は出ます。 数字データが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に結果が表示されます。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 こんな風にしたらどうかしらね。 行数: =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)
=COUNTIF(A:A,">=190")
- tomy_gg2001
- ベストアンサー率0% (0/4)
検索範囲が昇順に並んでいる場合はVLOOKUPで可能です。 お尋ねのように検索範囲が順不同の場合はピンポイントな 回答は思いつきませんが横に1列作業用の列を足して IF(A1>=190,1,0) のような式を入れておき、あらためて作業列が最初に1になるセルを求めてはいかがでしょう? 複雑な式を作るより作業用の列やシートを組んでしまったほうが早くて後からわかりやすいことが良くあります。
お礼
解決しました。ありがとうございました。