『範囲指定』(のび) [範囲指定 (みやほりん)様ありがとうございました] 困っています。教えてください。 関数などの 範囲指定方法についてですが、ひとつ左のシートを指定して関数を作りたいのですが、数式は、どのように記入すればいいのでしょうか? 例 =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)