• ベストアンサー

Excelの関数についての質問です。

Excelの関数についての質問です。 表1のセルA2の値に対し、セルB2の値の結果をセルC2に返す関数式を教えてください。 なお、表1は表2を反映した値となります(画像添付あり) 初心者です。宜しくお願い致します。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! 外していたらごめんなさい。 A列の数値でどちらの表を参照するか?と言う意味だと思いますので、 仮にA列が「1」の場合は表1を参照し、B列の値の範囲の数値を表内から返せば良い! という解釈での方法です。 今回は↓の画像のように表を作ってみました。 実際は薄い緑色の部分だけでOKなのですが、判りやすくするために 敢えて、「~を超え」の列を設けています。 質問内容では「○を超え」「○以下」の区切りになっていますので 表を降順にしています。 余計なお世話かもしれませんが、 「○以上」「○未満」の場合は表は昇順にしてVLOOUP関数が使用できます。 さて本題ですが 画像のC2セルに =IF(COUNTBLANK(A2:B2),"",IF(A2=1,INDEX($H$2:$H$5,MATCH(B2,$G$2:$G$5,-1)),IF(A2=2,INDEX($H$6:$H$8,MATCH(B2,$G$6:$G$8,-1)),""))) という数式を入れ、オートフィルで下へコピーしています。 これで何とか希望に近い形にならないでしょうか? 以上、長々と書きました。 参考になれば良いのですが 的外れなら読み流してくださいね。m(__)m

aki4188
質問者

お礼

大変参考になりました。こんなに詳細なアドバイスありがとうございました。助かりました。

その他の回答 (3)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

B列での以上の文字はなく数値のみが入っているとします。それにしても以上ということは式をかなり複雑なものにしています。 C2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(B2="","",IF(B2>INDEX(B$10:B$100,IF(COUNTIF(A$10:A$100,A2+1),MATCH(A2+1,A$10:A$100,0)-1,COUNT(B$10:B$100))),"",IF(COUNTIF(INDEX(B$10:B$100,MATCH(A2,A$10:A$100,0)):INDEX(B$10:B$100,IF(COUNTIF(A$10:A$100,A2+1),MATCH(A2+1,A$10:A$100,0)-1,COUNT(B$10:B$100))),B2)>0,INDEX(C$10:C$100,MATCH(A2,A$10:A$100,0)-1+MATCH(B2,INDEX(B$10:B$100,MATCH(A2,A$10:A$100,0)):INDEX(B$10:B$100,IF(COUNTIF(A$10:A$100,A2+1),MATCH(A2+1,A$10:A$100,0)-1,COUNT(B$10:B$100))),0)),IF(B2<INDEX(B$10:B$100,MATCH(A2,A$10:A$100,0)),INDEX(C$10:C$100,MATCH(A2,A$10:A$100,0)),INDEX(C$10:C$100,MATCH(A2,A$10:A$100,0)-1+MATCH(B2,INDEX(B$10:B$100,MATCH(A2,A$10:A$100,0)):INDEX(B$10:B$100,IF(COUNTIF(A$10:A$100,A2+1),MATCH(A2+1,A$10:A$100,0)-1,COUNT(B$10:B$100))),1)+1)))))

aki4188
質問者

お礼

大変参考になりました。お手数お掛けしました。使えました。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

VLOOKUP関数についてはご存知でしょうか。 VLOOKUP(検索値、範囲、検索の型)といった具合に式を入れてきますが、その範囲が A列の数値によって変化するので、困っているのではないでしょうか。 範囲を指定するのにOFFSET関数が使えます。 OFFSET(基準のセル、下へ何行移動、横へ何列移動、範囲に指定したい行数、範囲に指定したい列数) といった具合に使います。 添付のファイルに様に表2を作成したとして C列には =VLOOKUP(B2,OFFSET(F$1,MATCH(A2,D:D,FALSE)-1,0,MATCH(A2+1,D:D,FALSE)-MATCH(A2,D:D,FALSE),2),2) と入れて下へコピィします。 式の意味を理解するために、空いている列に =MATCH(A2+1,D:D,FALSE) と =MATCH(A2,D:D,FALSE) と入れてみると数値がでますので、範囲がどうやって決まっているかわかると思います。

noname#185422
noname#185422
回答No.1

はじめまして、よろしくお願い致します。 あなたがその関数でなにがしたいのか詳細がわからないので答えようがありません。 何がしたいのでしょうか。 補足要求します。

aki4188
質問者

お礼

初心者ゆえ、お許しを。その詳細を説明しきれませんでした。

関連するQ&A

専門家に質問してみよう