• ベストアンサー

別のエクセルファイルで名前の定義をつけた範囲からの検索

書類を作成するのにエクセルを使っています。 現在のところ、検索するデータを同じエクセルファイルの別シートからINDIRECT関数で名前の定義を付けた範囲から検索しています。名前の定義をつけたデータは数種類あります。 これを別のエクセルファイルに移し、そこから検索できますか? よろしくお願いします。

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

検索式を提示して相談された方が良いと思います。 例えば、VLOOKUP関数の場合 ブック名、A.xls シート名、Sheet1 A1に、検索値 A2に、定義名 と仮定した場合 =VLOOKUP(A1,INDIRECT("[A.xls]Sheet1!"&A2),3,FALSE) でいけると思います。

civicer
質問者

お礼

参考になりました。ありがとうございます。

civicer
質問者

補足

ありがとうございます。 検索式は、 (1) =VLOOKUP(検索値A,INDIRECT("[書類作成データ.xls]"のリスト名,3,FALSE) です。(1)のリスト名を更に (2) =VLOOKUP(検索値B,リスト名のデータ,2,FALSE) で検索しています。 (1)のINDIRECT関数に入るリスト名は、それぞれ別のシートになっているので、"[書類作成データ.xls]"の後の式はどのように入力したらいいでしょうか? "[書類作成データ.xls]"&(2) の式を入力してもエラー表示になってしまいました。     ↓ ≪エラー表示になった実際の式≫ =VLOOKUP(AT30,INDIRECT("[サービス書類作成データ.xls]"&VLOOKUP(P30,OFFSET(リスト!$A$2,0,0,COUNTA(リスト!$A:$A)-1,COUNTA(リスト!$1:$1)),MATCH("パーツリスト",リスト!$1:$1,0),FALSE)),3,FALSE)

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

例えば別のエクセルファイルのシートA1に次のような入力をして置きB1セルに=INDIRECT(A1)とすれば指定したファイルのデータをB1セルに表示されることができます。 [エクセル手引き.xlsx]Sheet1!$A$1 ただし、指定したファイルは開かれていることが必要です。 ご質問の意味と違っていたらごめんなさい。

civicer
質問者

お礼

参考になりました。ありがとうございます。

関連するQ&A