[[20050808120117]] 『範囲指定』(のび) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『範囲指定』(のび)

[範囲指定 (みやほりん)様ありがとうございました]

困っています。教えてください。
関数などの 範囲指定方法についてですが、ひとつ左のシートを指定して関数を作りたいのですが、数式は、どのように記入すればいいのでしょうか?


=VLOOKUP(O2,'ひとつ左のシート'!O:Y,11,FALSE)

よろしく御願い致します。


 4.0マクロ関数のGET.DOCUMENT関数に名前をつけて使用します。
[[20040716014000]] 『シート自体の相対参照』(たか) 
[[20050112194847]] 『前Sheetの参照』(TW/KTV) 
上記をまずは参考に。(みやほりん)


(みやほりん)様
ありがとうございました。しかし、私の技量では、理解できません。
補足にて教えてください。

@「4.0マクロ関数のGET.DOCUMENT関数に名前をつけて使用します。」何処にどうやって名前をつければいいのですか?
AGET.WORKBOOKも何かに変換するのですか?

わかんなくてすみせん。教えていただきたく御願い致します。
(のび)


 すみません、
「4.0マクロ関数のGET.DOCUMENT関数とGET.WORKBOOK関数に名前をつけて使用します。」
が正解です。この二つをセットで名前定義して使用するものです。
GET.DOCUMENT関数とGET.WORKBOOK関数はともにシートやブックの情報を得るための
命令であると思っておいてください。
 
まず、↓のトピックの怪しげなKAMIYAなる方の方法をそのまま追随してください。
[[20040716014000]] 『シート自体の相対参照』(たか) 
 
挿入>名前>定義 にて「前シート」という定義を行っていますが、
(定義そのものは上記トピックを参照してください)
これは「左側にあるシート名」を取得する関数として働くようになります。
ためしに任意のセルへ「=前シート」などと入力すると、入力したシートの
左側のシート名がセルへ表示されます。
(ただし、当然のことながらもっとも左にあるシートではエラーになりませんが
不正確な表示となります)
 
Sheet1、Sheet2という並び方のブックでSheet2の任意のセルへ
「=前シート&"!A1"」とすると「Sheet1!A1」という文字列が表示されます。
これは単なる文字列なので、Sheet1!A1へのセル参照はできません。
 
「セル参照を表す文字列を利用してセル参照を行う」にはINDIRECT関数を利用します。
「=INDIRECT(前シート&"!A1")」とするとSheet1のA1の値を表示するようになります。
 
さて、本題。上記を踏まえ、
目的のブックで「前シート」という定義を行ってください。
 
=VLOOKUP(O2,'ひとつ左のシート'!O:Y,11,FALSE)
 
この数式で「'ひとつ左のシート'!O:Y」の文字列を作ることを考えます。
「前シート&"!O:Y"」
これは文字列なので、INDIRECT関数で参照として働くようにと考えます。
「INDIRECT(前シート&"!O:Y")」
これをVLOOKUP関数の参照範囲として利用すればよいのですから、
=VLOOKUP(O2,INDIRECT(前シート&"!O:Y"),11,FALSE)
 
以上、説明ですがどうでしょう、ご理解いただけたでしょうか。
(みやほりん@元KAMIYA)


(みやほりん)様
理解しました。できました。
最後まで丁寧に御教えいただきましてありがとうございました。
大変助かりました。

ありがとうございました。
(のび)


 タイトルを変更しました。
 (kazu)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.