• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:初めて質問させていただきました。 )

Excel VLOOKUP関数で戻り値を別の範囲に指定する方法

このQ&Aのポイント
  • ExcelのVLOOKUP関数と名前の定義を組み合わせて、VLOOKUP関数の戻り値を別の範囲に指定する方法について教えてください。
  • 具体的には、VLOOKUP関数でA3と買掛金の範囲を検索し、戻り値をB3に表示します。しかし、B2の戻り値が短期借入金の場合、B3の戻り値をA銀行とする方法が知りたいです。
  • 初めて質問させていただくので説明が下手かもしれませんが、どうすればVLOOKUP関数の戻り値を別の範囲に指定できるか教えてください。

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

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

No.2です! たびたびごめんなさい。 前回はあまりに単純に考えすぎていました。 B2・B3セルは連動しなくてはならないということですね! (A2.A3セルに関しては直接入力するものとしています) ↓の画像で説明させていただくと B2セルに =VLOOKUP(A2,INDIRECT("勘定科目"),2,0) B3セルに =VLOOKUP(A3,INDIRECT(B2),2,0) という数式を入れています。 (エラー処理はしていません) これで何とか希望通りにならないでしょうか? ※ 余計なお世話かもしれませんが・・・  B2セルに関しては名前定義はしなくて直接VLOOKUP関数で範囲指定してもOKのような気がしました。 どうも何度も失礼しました。m(__)m

fujiyamato
質問者

お礼

tom04様ご回答ありがとうございます。 INDIRECTという関数を使用したら、うまくできました! それに確かに、確かに名前定義でなく、VLOOKUP関数で直接範囲指定してもよかったですよね。 散々考えて答えが出なかったので、投稿してすぐご回答いただいたtom04様の凄さを実感致しました。 言葉だけのお礼しかできないようで、とても不満ではありますが、tom04様のことは一生忘れません! tom04様のような方がたくさんいらっしゃれば、みんな幸せになると思います。 本当にありがとうございました!

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

その他の回答 (2)

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

こんばんは! 間違っていたらごめんなさい。 VLOOKUP関数の「範囲」に名前定義しているということですよね? それを関数の数式の中の範囲に指定したいということだと思いますので・・・ 数式を =VLOOKUP(参照値,INDIRECT("名前定義"),列番号,FALSE) としてみてください。 画像の中の数式でいうと =VLOOKUP(A2,INDIRECT("勘定科目"),2,0) という感じですかね! たぶん希望に近い形になると思います。 以上、お役にたてば幸いです。m(__)m

全文を見る
すると、全ての回答が全文表示されます。
  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

普通に始めのVLOOKUP関数を入力したセルに範囲名を付ければOK …なんですが、 質問のケースでは、B3の結果をB2の値次第で変えたいと言う趣旨に受け止められます IF関数でB2の値によって使用する関数を選択するようにしてはいかがでしょう  =IF(B2=△,VLOOKUP(○,□,2,0),VLOOKUP(○,■,2,0)) のようにね 質問の例ではちょっと分かりにくいというのもあります 何せ範囲名を付けた範囲に入力されている値が分かりませんからね

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

関連するQ&A

  • VLOOKUP関数の範囲名

    VLOOKUP(検索値,範囲,列番号) の範囲のところに 参照範囲を定義した「名前」を入力する場合がありますが、 VLOOKUP(A1,B1:E4,2)→VLOOKUP(A1,LIST,2) この時、例えば A3に「LIST」と入力して VLOOKUP(A1,A3,2)としてもエラーとなってしまいます。 何か良い方法はありませんか?

  • エクセルの使い方について教えてください

    エクセルを使っています VLOOKUP(F1,A1:B25,2,FALSE)という関数を 使用したいです。 下のセルに検索値だけ次のセルにして同じ範囲の関数を設定したいのですが、 こういう風に→VLOOKUP(F2,A1:B25,2,FALSE) セルの右下にカーソルを持ってきて、下にドラッグすると VLOOKUP(F2,A2:B26,2,FALSE) VLOOKUP(F3,A3:B27,2,FALSE) というように 範囲の部分まで値が増えていってしまいます。 B25,2→B26,2→B27,2 範囲の部分は変更なしで、検索値だけ変更ありにする方法はないでしょうか? 用語が分からなくて説明が下手ですいませんがよろしくお願いします。

  • VLOOKUP関数の範囲をセルで指定したいと思っています。

    VLOOKUP関数の範囲をセルで指定したいと思っています。 B1:参照シート名(VLOOKUP関数で使用する範囲があるシート) C2:範囲の開始位置 E2:範囲の終了位置 B3:G3:列番号(B3の値は、B6:B8の範囲で使用する列番号、 D3の値は、D6:D8の範囲で使用する列番号) これらのセルに入力された情報をもとにB6:G8の範囲にVLOOKUP関数を 反映させたいと思っています。 例えば、 B1に参照シート名「2ケタ」 C2にVLOOKUP関数の範囲の開始位置「A5」 E2にVLOOKUP関数の範囲の終了位置「G7」 B3に範囲の列番号「2」がある場合 B6に「=VLOOKUP(A6,'2ケタ'!A5:G7,2,0)の関数を入力。 B2に参照シート名「3ケタ」 C5にVLOOKUP関数の範囲の開始位置「B5」 E2にVLOOKUP関数の範囲の終了位置「H7」 C3に範囲の列番号「3」がある場合 C6に「=VLOOKUP(A6,'3ケタ'!B5:H7,3,0)の関数を入力。 といった感じです。 現在、B6に「=VLOOKUP($A6,INDIRECT($B$1&"!a5:g7"),INDIRECT("$b$3"),0)」と 関数を入力して、VLOOKUP関数の「範囲の参照シート名」と「列番号」の情報は セルから持ってくることができました。 しかし、「a5:g7」という範囲だけは、INDIRECT関数をうまく入れることができません。 どのように関数を入力したら、上手くいくのか、教えていただけないでしょうか。

  • エクセル関数についての質問です。

    VLOOKUP関数を使って表を作りたいのですが、検索する範囲が複数ページあります。 検索する範囲が1ページの時は例えば、 =vlookup(A1,シート名!A2:B10,2) でイイと思うのですが、複数ページある場合はどのように範囲を指定すればいいのでしょうか? エクセル関数について検索できるお勧めのホームページでもいいので、どなたか教えて下さい。 お願いします。

  • VLOOKUP関数の範囲を自動変更させる

    VLOOKUP関数の範囲を自動変更させる データベースをエクセルで作成し下方に1行づつ増やすしていきたい。 VLOOKUP関数の(検索値、範囲、列番号、検索方法)の内で、範囲の設定部分を超えるとVLOOKUP関数の結果が合わなくなってしまします。 EXCEL2007では、テーブルとして書式設定を選びそれを範囲に選ぶか或いは名前付き定義を付けると範囲が自動で増えるのですが、同じことをEXCEL2002と2003でもできるようにはならないでしょうか?

  • IF関数が長くて、実行できない。

    関数初心者です。Excel2003を使用しております。 ~目的~ IF関数が長くなり、実行することが出来ない。 VLOOKUP関数の複数範囲の中から検索できる数式を作成したい。 ~状況~ ・VLOOKUP関数で複数の範囲を指定している。 ・各範囲は_コード表という名前の定義付けをしており、_コード表1~12まである。 ・_コード表12までの複数範囲の中から検索できる数式を作成したい。 =IF(ISERROR(VLOOKUP(B5&"_"&C5&"_"&D5,_コード表1,5,0)),IF(ISERROR(VLOOKUP(B5&"_"&C5&"_"&D5,_コード表2,5,0)),IF(ISERROR(VLOOKUP(B5&"_"&C5&"_"&D5,_コード表3,5,0)),"",VLOOKUP(B5&"_"&C5&"_"&D5,_コード表3,5,0)),VLOOKUP(B5&"_"&C5&"_"&D5,_コード表2,5,0)),VLOOKUP(B5&"_"&C5&"_"&D5,_コード表1,5,0)) 上記の数式で検索が出来るのですが、 _コード表12までになると、関数が長すぎて実行できません。 何か良い方法はありませんでしょうか。 ご回答をお待ちしております。

  • VLOOKUP関数の範囲がずれてしまう

    VLOOKUP関数を使用していますが、 たとえばVLOOKUP(B10,A1:B8,2,FALSE)の式を下にドラッグしてコピーしていくとVLOOKUP(B11,A2:B9,2,FALSE) VLOOKUP(B12,A3:B10,2,FALSE)という様に範囲がA1からA2、A3とずれていってしまいます。検索のB10がB11、B12と成るのはいいのですが、範囲は、固定にならないと式をコピーできないように思うのですが誰か分かる方教えてください。

  • EXCELにて名前を変更したが他のファイルでは反映されていない

    どなたか、お教え下さい。 MicrosoftのEXCEL2000において困っているのですが、 datalist.xls というファイルにおいてデータのリストを作りました。 「入力A部.XLS」という入力用のファイルの中で Vlookup関数を使って、先ほどのdatalist.xlsを参照 しているのですが、 =VLOOKUP($E5,data_A,2) のように、名前を使って参照範囲を決めています。data_Aでは、datalist.xls のデータ部分(名前コードと名前)を定義しています。 データが増えてきましたので、datalist.xls のデータを増やし、「data_A」の定義の範囲についても広げたのですが、その広げたことが、「入力A部.XLS」に反映されていません。「挿入」「名前」「定義」で確認しても以前の古い範囲のままです。 どうしたら反映させることが出来ますか? なお、入力用のファイルはA部から複数有りますので、一度に変更される方法を探しています。 よろしくお願い致します。

  • ユーザ関数function の扱いについて。

    おそらくは、初歩的な質問なのだろうとは思いますが、どうぞよろしくお願い致します。 早速ですが、質問に入ります。(PHP4または5での話です。) //関数を定義 function test($a){   $b = $a*100;   print $b;   return $b; } //テキトーに値を用意して変数に格納 $c = 5; //------------------------ 作った関数を使ってみる //------------------------ //(その1)関数内の処理結果をprintしてくれるものと思って使っている。 test($c); //------------------------- //(その2)関数内の処理結果の戻り値を変数$dで受け、それをprint。 //「その1」との違いを調べたくて、こんなことをしている。 $d = test($c); print $d; //------------------------------- さて、何が言いたいかと言いますと(笑)、 まず、上記(その2)に着目して頂いて、 関数定義の中でprint()を使用している関数に対し、 その定義の中にreturnがあるからと、 $dでその戻り値を受けているわけですが、 この場合、print()で出力した値は、一体、どこへ行ってしまったのでしょうか。 このような質問のしかたをしていますが、 分からないのは、この辺りの処理の流れ全体なんです。 つまり、print()したものがどうなったのかだけが知りたいわけではなく、 ユーザ関数内のprintとreturnの関係とか、そのあたりです。(笑) return; が来たら関数内の処理を抜ける、 ということは分かっています。 以上、1つずつ順を追って説明して頂けると助かります。 //-------------------補足------------ //新たに関数を定義 function test2($a){   $b = $a*100;   print $b; } $e = 5; $f = test2($e); //returnのない関数から戻り値を受け取ろうとしてもダメ //ということは、こんな私にでも分かっています。 //---------------------------- 以上、よろしくお願いします。

    • ベストアンサー
    • PHP
  • 名前定義で定義している値が、自動的に可変してしまう

    Excel の質問です。 名前の定義について、教えて下さい。 僕が仕様を理解していないのか、関数の記述が間違っているのでしょうか ■現象 シートクリック時に、定義している関数の値が可変してしまう ■データ ワークシート[Sheet1]上データ  |A     |B ------------------------------------ 1|りんご   | 2|みかん   | 3|バナナ   | 4|パイナップル| 5|もも    | A1 ~ A5 は、データを直接入力 ■名前の定義 (1).数式リボン> 名前の管理> 新規作成 (2).以下 名前: 最終行番号 範囲: Sheet1 参照範囲: =MAX(INDEX((Sheet1!A:A<>"")*ROW(Sheet1!A:A),0)) (3).D10 に、「=最終行番号」と入力 ■結果 ・入力直後、D10 は、5 となるが、どこかのセルをクリック後、名前の定義を見ると「A:A」になっていない。  ・異なる列範囲になっている  ・規則性不明 ■期待結果 ・上記の場合、どのセルをクリックしても、名前の定義で定義した範囲が「A:A」のままであって欲しい。 ■現象確認 Excel2010 ■その他 ・参照範囲で設定している記述が、参照ではないからでしょうか?(自己定義関数を、名前の定義で呼び出している感じで、間違った使い方をしているから?)

専門家に質問してみよう