• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルの表計算で困っています。)

エクセルの表計算で困っています

このQ&Aのポイント
  • エクセルの表計算について困っています。例えばセルB6に、Aセルが1234の時にCはいくらかを表示させる場合、=VLOOKUP(A1:A4,A1:C4,3,0)で出るのですが、その2個下のセルを表示させる場合どのようにすればよいのか教えてください。
  • エクセルの表計算に困っています。Aセルが1234の時に、B6セルにはCセルの値を表示させたいです。=VLOOKUP(A1:A4,A1:C4,3,0)を使えば、一致する値を取得できますが、2個下のセルを取得する方法がわかりません。ご教授いただけますか。
  • エクセルの表計算で困っています。例えば、Aセルが1234の場合、B6セルにはCセルの値を表示させたいです。=VLOOKUP(A1:A4,A1:C4,3,0)を使えば、一致する値を取得できますが、2個下のセルを取得する方法がわかりません。どのようにすればよいでしょうか。

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

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

VLOOKUP関数はVLOOKUP(検索値、範囲、検索の型)の形(検索の型は特別の場合には省略することもできます)で使われる関数ですので、お示しの式は間違った使い方ですね。 例えばA6セルに1234と入力してそれをA1セルからA4セルの範囲で検索し、該当する行のC列のセルの値を表示させるのでしたら、B6セルには次の式を入力すればよいでしょう。 =VLOOKUP(A6,A$1:C$4,3,FALSE) ここでA1:C4セルの範囲を一部絶対参照にしているのはB6セルに入力した式を下方に行にオートフィルドラッグした場合にも計算ができるようにするためです。 しかし、そのままの式ではA7セルが空白の場合や検索値と一致するデータがA1セルからA4セルの間に存在しない場合にはエラーが表示されます。それを避けるためには次のような式をB6セルに入力して下方にオートフィルドラッグすることがよいでしょう。 =IF(OR(A6="",COUNTIF(A$1:A$4,A6)=0),"",VLOOKUP(A6,A$1:C$4,3,FALSE))

remonpai
質問者

お礼

ご返信ありがとうございます。 無事解決しました。 勉強不足だな反省しました。

その他の回答 (4)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.5

>VLOOKUP(A1:A4,A1:C4,3,0)で出るのですが  ⇒嘘の記載はいけない、これで表示される事はない。(#VALUEエラー)   普通は、=VLOOKUP(A1,$A$1:$C$4,3,FALSE)です。 >その2個下のセルを表示させる  ⇒2個下とは、2行下なのか?2列右なのか?   一般的には表の構成上、行が1情報なので行を跨る参照は非常識であり、   そのような参照はできなくはないが改めた方が良いと思う。

remonpai
質問者

お礼

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

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

>=VLOOKUP(A1:A4,A1:C4,3,0)で出るのですが 第1引数をセル範囲で指定できないいだろう。(配列数式のようには) 質問のような課題はVLOOKUP関数は不適。 Match関数を使うと、(最初に)見つかった行が判るから、その2行下を求めるのは+2し、そのセルの値はINDEX関数で取れる。 VLOOKUPとMATCH関数は、対のような、似た機能の関数で (1)VLOOKUP (2)INDEX-MATCH関数 は適当なほうを使うことになる。 ーー エクセルの関数の本を一通りも読んでないのだろう。 Googleなどで「index match 関数」で照会して勉強のこと。 http://hamachan4.exblog.jp/2193000/

remonpai
質問者

お礼

返信ありがとうございまいた。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

>その2個下のセルを表示させる という部分の意味が不明です。  それは、例えば、A6セルに 2234 と入力した場合、2234はA2セルに入力されているので、A2セルの2つ下にあるA4セルの値である 4234 を表示させたいという意味なのでしょうか?  それならば、次の様な関数となります。 =IF(AND($A6<>"",COUNTIF($A$1:$A$4,$A6)),INDEX($A:$A,MATCH($A6,$A:$A,0)+2),"") 或いは =IF(AND($A6<>"",COUNTIF($A$1:$A$4,$A6)),INDEX($A$3:$A$6,MATCH($A6,$A$1:$A$4,0)),"")  それとも、A2セルの2つ下にあるA4セルの値ではなく、A2セルセルが存在する行よりも2つ下の行である4行目の中の、C列の値である \12,000 を表示させたいという意味なのでしょうか?  それならば、次の様な関数となります。 =IF(AND($A6<>"",COUNTIF($A$1:$A$4,$A6)),INDEX($C:$C,MATCH($A6,$A:$A,0)+2),"") 或いは =IF(AND($A6<>"",COUNTIF($A$1:$A$4,$A6)),INDEX($C3:$C6,MATCH($A6,$A$1:$A$4,0)),"")

remonpai
質問者

お礼

ご丁寧なご返信ありがとうございます。 大変勉強になりました。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

はて? 1234と同じ行のC列: =VLOOKUP(A6,A1:C4,3,FALSE) 1234の2つ下のC列: =INDEX(C1:C4,MATCH(A1,A1:A4,0)+2)

remonpai
質問者

お礼

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

関連するQ&A