
VLOOKUP関数について、質問させてください。
現在使っているエクセルのブックのセルA1にVLOOKUP関数を使用し、そのVLOOKUPの「範囲」の部分に、別のブックの範囲を入力しました。
そしてその別ブックの中の、VLOOKUPの検索値に該当するセル(ここでは※とします)の値が、現在使っているブックのセルA1に表れるところまでは出来ました。
しかし、今度は現在のブックのセルA3に、別ブックの※セルを基準に、右方向に1つ・下方向に1つ移動したセルの値が自動的に表示されるような関数を出さなくてはならず、OFFSET関数やADDRESS関数など、色々試してみたのですが分かりません。
遅い時間に申し訳ありませんが、関数にお詳しい方は、どうか知恵をお貸しください。
よろしくお願いします。
No.4ベストアンサー
- 回答日時:
こんばんは!
すでに回答は出ていますので、
重複すると思いますが、
一例です。
↓の画像ではSheet1のA1セルに
C1セルを参照して2列目の一致するものを返すようにしています。
=VLOOKUP(C1,Sheet2!A1:C10,2,0)
という数式が入っています。
A3セルには
=OFFSET(INDEX(Sheet2!B1:B10,MATCH(C1,Sheet2!A1:A10,0)),1,1)
という数式を入れています。
結局A1セルはA#セルに関して、意味はなく
必要なくなってしまいますね!
尚、エラー処理はしていません。
以上、参考になれば幸いです。m(__)m

回答、本当にどうもありがとうございます。
本当は私がやらなくてはならない画像作成も、わざわざtom04さんがやってくださって、ありがたいのと申し訳ないのとで、とにかく感謝しております。
私でも分かるような図解と私の質問文を考慮してくださった画像作成のお陰で、問題は全て片付きました。
昨日からずっと悩んでいたので、とても嬉しいです。
質問文には「右に1・下に1」とだけ書いていて、「右に1・下に2」「右に2・下に1」と書くのを忘れてしまったのですが、式の中の「1,1」の数字を変更することで簡単に応用することが出来て、とても使える式なのがさらにありがたかったです。
tom04さんの回答文と画像は、OFFSET関数とINDEX関数の組み合わせの勉強にもなって、以後も役に立ちそうなので、プリントアウトして個人的にスクラップしておきたいと思います。
画像作成という手間を惜しまずお答えくださって、本当に本当にありがとうございました!
No.3
- 回答日時:
「別ブック」名を Other.xls とし、貴方が作成したVLOOKUP式の「範囲」の部分に range という名前を付けた場合の式を示しておきます。
=OFFSET(INDIRECT(CELL("address",Other.xls!range)),MATCH(検索値,OFFSET(INDIRECT(CELL("address",Other.xls!range)),,,ROWS(Other.xls!range),),0),n,,)
上式中の n はVLOOKUP式で指定した列番号と同じ数値にします。
貴方が質問文中に、検索値、「範囲」を含む VLOOKUP式の内容を具体的に記しておけば、CELL("address",Other.xls!range) なんてなまどろっこしいことをする必要はなかったのですが・・・
【教訓】質問は具体的な内容付きでしませう!
この回答への補足
回答と助言、ありがとうございます。
説明していただく際、大変だったと思います。
申し訳ありませんでした。
教えていただく立場からすると、すごく分かり易かったので助かりました。
質問文の説明不足だった上に、さらに申し上げにくいのですが「右に1・下に1」移動した場合だけでなく、「右に1・下に2」および「右に2・下に1」移動した場合も質問するつもりが、書くのを忘れてしまいました。
本当に申し訳ありません。
式を紙に書いて解読してみたのですが、「右に2・下に1」移動した場合はnの数を増やせばいいとやっと分かりました。
ところが、いくら調べても「右に1・下に2」移動した場合の式が分かりません。
御見苦しいことばかりで申し訳ありませんが、回答していただけたらありがたいです。
どうかよろしくお願いします。
追記:
もしまたエクセル等の質問をするときには、具体的に質問いたします。
助言をありがとうございました。
No.2
- 回答日時:
>今日はギブアップです。
ゆっくり休んでください
別のブックの名称が「Book2」、検索範囲を A1:B10 とした場合で具体的に説明してみます
MATCH関数、これで一致するセルの場所を特定できます
=MATCH(検索値,範囲 [,照合の型])
と使いますので、A1セルの VLOOKUP関数で求めた値を使って
=MATCH(A1 , [Book2]Sheet1!B1:B10 , 0)
などとして "検索範囲の上からの行数" を求められます
※ 範囲にはBook名を含めた「絶対参照」意外にも範囲名付けて使ってもOK
照合の型を 0 にすると完全一致の値を見つけに行きますが、値が無いとエラーが返ります
あとはOFFSET関数で求められます
=OFFSET(基準,行数,列数 [,高さ,幅])
と使いますので、基準を A1セルとした場合
=OFFSET([Book2]Sheet1!A1 , MATCH(A1,[Book2]Sheet2!B1:B10,0) , 1)
または
=OFFSET([Book2]Sheet1!A1 , MATCH(A1,Book2!範囲名,0) , 1)
でOK
基準を B1セルにした場合は、行数を 0 にしましょう
※ 高さ と 幅 は省略されるとそれぞれ 1 が指定したことになります
範囲を値として返す必要が無い場合は省略可能です
範囲を検索する関数に返すと、
=SUM(OFFSET(A1,0,0,2,2)) A1:B2の範囲の合計
=COUNTIF(OFFSET(A1,0,2,10,1),">100") C1:C10の範囲で100より大きい数値の個数
などと使うことができます
高さ と 幅 はマイナスの数値を当てる事もできます
そのときはそれぞれ、基準から上、基準から左を範囲として返してきます
工夫次第でいろいろと使えますので、是非覚えておきましょう
どんな関数があるのかを覚えるのは大変でしょうが、
Excelの関数一覧には簡単な説明も併記されているので
全ての関数を一通り見ておくと、後からすぐに見つけられるようになります
昨日に引き続き、お付き合いくださってどうもありがとうございます。
ねぎらいのお言葉もくださって、とても嬉しかったです。
結論から申し上げると、他の方が提唱してくださったOFFSET関数とINDEX関数の組み合わせの式を使うことに致しました。
しかし、Cupperさんのお陰でMATCH関数という関数がどのようなものか、触れる機会が出来てよかったです。
解説もとても分かり易かったです。
文末での助言も、今後の参考になりました。
これを機に目を通して役立てたいと思います。
日付をまたいでお付き合いいただき、本当にありがとうございました!
No.1
- 回答日時:
MATCH関数を組み合わせてみてください
たぶん質問者さんなら、これで解決できると思います
この回答への補足
アドバイスありがとうございます。
拝見してからしばらく試行錯誤してみたのですが、MATCH関数の使い方が理解出来ずに、今日はギブアップです。
MATCH関数はVLOOKUPと組み合わせて使うのでしょうか?
MATCH関数を検索してみると、VLOOKUPと組み合わせる方法と、OFFSET関数と組み合わせる方法があり、どちらも試してみたのですが完敗です。
(OFFSETとMATCH関数で出来そうな感じでしたが、OFFSETも今まで使ったことがないため、解決しませんでした)
今日はもう遅いため、作業は明日に持ち越すことにしますので、質問はまだ締め切らずにこのままにしておきます。
もしお時間がありましたら、明日またお願いします。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- その他(Microsoft Office) エクセルについて教えてください。 2 2022/10/20 14:55
- Excel(エクセル) エクセル関数のXlookupのフィルハンドル機能(類した機能でも可)を知りたいです。 3 2022/09/20 20:02
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Excel(エクセル) Excelの関数について教えてください。 5 2023/07/28 11:27
- Excel(エクセル) エクセル 指定セル繰り返しマクロ 4 2022/06/06 17:08
- Excel(エクセル) エクセルで値ではなく関数を参照する方法 6 2023/03/19 00:50
- Excel(エクセル) 【Excel関数】値が合致するセルの隣のセルを表示させたい 8 2022/10/12 17:44
- Excel(エクセル) エクセルの数式について ブック内の別シートの値の含まれたセルの個数を集計したい 全シート一覧のシート 1 2022/07/21 19:28
- Excel(エクセル) K14のセルにVlookup関数を使い IF(J14="","",VLOOKUP(J14,$B$4: 2 2023/05/17 20:26
このQ&Aを見た人はこんなQ&Aも見ています
-
最速怪談選手権
できるだけ短い文章で怖がらせてください。
-
VLOOKアップ関数の結果の一つ下のセル表示
その他(Microsoft Office)
-
ある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?
Excel(エクセル)
-
エクセル 選んだセルの右斜め上を示すには
Excel(エクセル)
-
-
4
エクセル VLOOKUPから、2つ下のセル値を表示させる方法はありますか?
Excel(エクセル)
-
5
EXCELで検索した値の下のセルの値を表示したい
Excel(エクセル)
-
6
Excelで指定した条件と一致するセルの隣の数値を合計したい。
Excel(エクセル)
-
7
リストと一致する値のセルを塗りつぶしたい。
その他(Microsoft Office)
-
8
vlookupでヒット行の上の行の値を指定できる?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで指定したセルのどれ...
-
貼り付けで複数セルに貼り付けたい
-
excelの特定のセルの隣のセル指...
-
エクセルの書式設定の表示形式...
-
(Excel)数字記入セルの数値の後...
-
【エクセル】IF関数 Aまたは...
-
エクセルの一つのセルに複数の...
-
枠に収まらない文字を非表示に...
-
【Excel】 セルの色での判断は...
-
Excelで数式内の文字色を一部だ...
-
対象セル内(複数)が埋まった...
-
セルをクリック⇒そのセルに入力...
-
EXCEL VBA セルに既に入...
-
Excelでのコメント表示位置
-
ハイパーリンクの参照セルのズ...
-
エクセル オートフィルタで絞...
-
数式を残したまま、別のセルに...
-
EXCELのセルの中の半角カンマの...
-
【Excel】特定の文字から文字ま...
-
エクセルVBA、ファイル名をセル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
貼り付けで複数セルに貼り付けたい
-
エクセルで指定したセルのどれ...
-
excelの特定のセルの隣のセル指...
-
(Excel)数字記入セルの数値の後...
-
セルをクリック⇒そのセルに入力...
-
枠に収まらない文字を非表示に...
-
【エクセル】IF関数 Aまたは...
-
【Excel】 セルの色での判断は...
-
Excelでのコメント表示位置
-
エクセルの一つのセルに複数の...
-
エクセルのセルの枠を超えて文...
-
Excelで数式内の文字色を一部だ...
-
EXCEL VBA セルに既に入...
-
エクセルの書式設定の表示形式...
-
Excel 例A(1+9) のように番地の...
-
数式を残したまま、別のセルに...
-
エクセル オートフィルタで絞...
-
Excelで、「特定のセル」に入力...
-
ハイパーリンクの参照セルのズ...
-
対象セル内(複数)が埋まった...
おすすめ情報