Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(指定なし : Excel 2013)
別フォルダ・別ファイルにある数値を参照したい
投稿日時: 19/11/21 14:32:05
投稿者: なみっこ

 
<フォルダA>
A.xls
B.xls
 
<フォルダB>
C.xls
 
C.xlsの
A1にAと入力すると、A.xlsから値を参照し、
A1にBと入力すると、B.xlsから値を参照したい。
 
D2=INDIRECT("\\○○部\DDD課\フォルダA\["&A1&".xls]シート1!E2")
 
と入力すると「この数式には問題が見つかりました」とエラーになります。
どのような関数にしたらよろしいでしょうか。
 
----
C.xls
 
  A   B  C   D   E
1  A   1月  2月
2       △  
3       ○
4       ■

回答
投稿日時: 19/11/21 15:58:27
投稿者: メジロ2

INDIRECT関数は対象となるファイル(A.xls、B.xls)が開かれていないと
エラーとなります。
 
対象のファイルを閉じたままで運用したいということでしたら
あらかじめ別にセルにリンクしておき、セルA1の値で
参照するセルを切り替えるなどの処理をされてはどうでしょうか?

投稿日時: 19/11/21 16:07:14
投稿者: なみっこ

>メジロ2さん
 
コメントありがとうございます!
開いていてもエラーになってしまうんです。
エラーになるというより、数式自体入力できない…といった方が良いかもしれません。
 
関数を入力すると、「数式に問題が見つかりました」とエラーが出て
"[の部分がフォーカスされます。

投稿日時: 19/11/21 16:17:58
投稿者: なみっこ

ちなみにこれはどういう意味でしょうか。
理解力が乏しく申し訳ありません…。
 
>対象のファイルを閉じたままで運用したいということでしたら
あらかじめ別にセルにリンクしておき、セルA1の値で
参照するセルを切り替えるなどの処理をされてはどうでしょうか?

回答
投稿日時: 19/11/21 19:09:50
投稿者: んなっと

どこか別のシートやセル(下の例ではE:F列)にあらかじめデータを取り込んでおいて
 
  A  B  C  D E  F  G
1 A 1月 2月     A  B
2        あ   あ か
3        い   い き
4        う   う く
 
F2
='\\○○部\DDD課\フォルダA\[A.xls]シート1'!E2
G2
='\\○○部\DDD課\フォルダA\[B.xls]シート1'!E2
 
それからA1の値に応じて範囲を切り替えましょう。
 
D2
=HLOOKUP($A$1,F:G,ROW(),FALSE)

投稿日時: 19/11/22 09:06:34
投稿者: なみっこ

んなっとさん
ご返信ありがとうございます!
 
この式自体は間違ってませんか?
D2=INDIRECT("\\○○部\DDD課\フォルダA\["&A1&".xls]シート1!E2")
ファイルを開いているにも関わらずなぜエラーになってしまうのか…不明で。

回答
投稿日時: 19/11/22 10:09:31
投稿者: bi

横から失礼します。
=INDIRECT("'\\○○部\DDD課\フォルダA\["&A1&".xls]シート1'!E2")
 
だとどうですか?

投稿日時: 19/11/22 10:24:23
投稿者: なみっこ

biさん!
ありがとうございます。
文字と認識されるのか?セルに数式がそのまま表示されてしまいますTT

投稿日時: 19/11/22 10:26:21
投稿者: なみっこ

ちなみに[数式の表示]はオフになっています。

回答
投稿日時: 19/11/22 10:30:52
投稿者: bi

セルの表示形式が「文字列」になっているか式の前か後ろにスペースが入ってしまっているとか?
もし文字列になっていたら標準にして該当セルをダブルクリックしたあとにEnterキーを押してみてください。

投稿日時: 19/11/22 12:04:30
投稿者: なみっこ

 
できましたTT
いろいろとアドバイスありがとうございます!:D
 
何故'を入れるのか…理解は出来ていませんが><
 
本当にありがとうございました!

回答
投稿日時: 19/11/22 16:19:11
投稿者: んなっと

解決した後なので蛇足になってしまいますが...
INDIRECTは、参照するセル範囲やシートを切り替えるときには活躍します。
しかし今回のようなブックの切り替えにはあまり向いていません。
 
メジロ2さんの回答(↓)でこのスレッドは完了しているようなものです。

引用:
INDIRECT関数は対象となるファイル(A.xls、B.xls)が開かれていないと
エラーとなります。
  
対象のファイルを閉じたままで運用したいということでしたら
あらかじめ別にセルにリンクしておき、セルA1の値で
参照するセルを切り替えるなどの処理をされてはどうでしょうか?

トピックに返信