『条件によって違うリストを参照する方法』(はな) 簡単そうなのですが、過去ログから探し出せず悩んでいます(−−;)教えてください。 関数等計算式の入った表があるのですが、その表に入力されてある計算式の参照リストを条件によって変えたいのです。 例えば、B1からD60にかけて表があり、その中には既に計算式がはいっているとします。 このとき、A列のセルに「1」が入力されたらE1:H60のリストを参照してB1からD60の表の計算式を実行し、 もし、A列のセルに「2」が入力されたらJ1:M60のリストを参照して計算式を 実行する・・・というようにです。 よろしくお願いします。 ---- どんな計算をするのでしょう。 多分、OFFSET関数あたりでいいと思いますが。 具体的な説明がないので、具体例で説明できません。 (kenbou) ---- ◆INDEX関数の、「領域番号」を使い方法もあると思いますが? ◆もう少し、具体的な説明がないと (Maron) ---- 名前の定義とINDIRECT関数を使う方法です。 E1:H60を選択して、名前ボックス欄に リスト1 と入力しEnter J1:M60を選択して、名前ボックス欄に リスト2 と入力しEnter B1からD60に入っている計算式の参照範囲を INDIRECT("リスト"&A1)にする。 VLOOKUP関数の場合の例です。 =VLOOKUP(A2,INDIRECT("リスト"&A1),2,FALSE) ※ただやってみて判ったことですが、J1:M60のデータをE1:H60の下に並べれば、 初めから参照範囲をE1:H120にしておくだけで良さそうですが・・・。 (川野鮎太郎) ---- ありがとうございます。具体的な説明がうまくできずすみません。 B1からD60にかけて表があり、その中には既に計算式がはいっています。 このとき、A列のセルに「1」が入力されたらE1:H60のリストを参照してB1からD60の表の計算式を実行し、 もし、A列のセルに「2」が入力されたらJ1:M5のリストを参照する、というようにしたいのです。 B1からD60のリストのそれぞれのセルに入力されている計算式は、IF関数とVLOOKUP関数がまじっており、 参照リストの一部を範囲として条件ごとにデータをかえす、というものです。 例えば(例にあげたセルとは対応していませんが『=IF(ISNA(VLOOKUP(C11,$W$11:$AA$31,5))," ",VLOOKUP(C11,$W$11:$AA$31,5)) 』 や、『=IF(G11=0," ",IF(H11=0,VLOOKUP(G11,$W$68:$AA$70,5,FALSE),IF(G11=H11,$AA$74,IF(G11-H11=0.5,$AA$82,IF(H11-G11=0.5,$AA$80)))))』 など、このような式がはいっています。 ですので、これらの式を実行するにあたり、まずA列に入力された1か2によって参照するリストをE1:H60かJ1:M5かの指定をしたいのです。 計算式のどのあたりにそれが指定できる関数をいれたらよいのかも分かりません(−−;)よろしくお願いいたします。 ---- 横から失礼します〜   >名前の定義とINDIRECT関数を使う方法です。 鮎さんの仰っている、こちらの方法で出来なかったのでしょうか? 上記で、参照するリストを変更出来ると思いますよ〜♪ (キリキ)(〃⌒o⌒)b