• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル関数内で位置としての行列値の扱い方がわからない)

エクセル関数で位置としての行列値の扱い方がわからない

このQ&Aのポイント
  • エクセルのA列とB列に入力された値について、A列の設定値以上となる最初のセルと同行のB列の値を取得し、その値を用いて最小値を求めたい。
  • MATCH関数を使用してA列の設定値以上のセルを見つけられるが、その値を使用してB列のセルの位置行列値を取得する方法がわからない。
  • VLOOKUP関数でも同様の処理ができるが、下のセルを参照するためにはセルの位置行列値を下にずらす方法がわからない。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.4

こんにちは。maruru01です。 A1:B10にデータがあるとします。 また、A列は小さい順に並んでいるとします。 設定値をD1に入力する場合、 =MIN(B1:INDEX(B1:B10,MATCH(D1,A1:A10,1)+1-(COUNTIF(A1:A10,D1)>0))) で出来ます。 なお、No.2の方の方法では、設定値と同じ値がA列にあった場合に上手くいかないと思います。

5drywater
質問者

お礼

成功しました、ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 >A列の値が最初からだんだん増加し設定値以上になった、 >そのセルと同行でB列のセルの位置をだし、 >B列セルの最初からそのセルまでを範囲で参照して >その値群の最小値を求め、値を抜き出したいのです。 それはできるけれども、ロジックとしてヘンではありませんか? だんだん増加し(インクリメント)した場合は、インクリメントの初期値が最小値だから、  B列セルの最初からそのセルまでを範囲 ということなら、最初から=初期値 が、それにあたるのではありませんか? その初期値は、範囲の始めであって、その位置は、人間が決めているのではありませんか? ランダムというなら話は理解できますが、今度は、検索範囲が成り立ちません。 文章は、何か条件が足りないのではありませんか? 具体例を出してほしいです。

5drywater
質問者

お礼

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

すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

例データ 設定値を40とします。 A2:A9 1 3 5 7 12 34 56 78 どこでも良いがA12に =MATCH(40,A2:A9,1)+2 で8。第2行目から始まるので+1とMatch関数の型の1(第3引数)は「以下の最大」なので 設定値「以上」を求める、のために+1の合わせて+2 8行目で40を超えます。 B列B2:B10に 34 46 35 15 21 32 45 54 78 とします。 求めるセルに =MAX(INDIRECT("B2:B"&A12))と入れて 結果46 A12の式と結合して1つで表すと =MAX(INDIRECT("B2:B"&MATCH(40,A2:A9,1)+2)) また設定値40をセルの値としてB1とかに置き換えられます。

5drywater
質問者

お礼

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

すると、全ての回答が全文表示されます。
  • shkwta
  • ベストアンサー率52% (966/1825)
回答No.1

これはOFFSET関数です。 (例) =MIN(OFFSET(B1,0,0,5,1)) B1から下に5行の範囲の最小値。 =MIN(OFFSET(B1,3,2,7,4)) B1から3行下、2行右(つまりD4)から下に7行、右に4列の範囲の最小値。

5drywater
質問者

お礼

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

すると、全ての回答が全文表示されます。

関連するQ&A