みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel INDIRECT関数の使い方が分からない

表という名前のSheetがあります。
 A
4 1
5 2
 : のように、表SheetのA4から下に連番で、
   1~400まで数字がふってあります。

式という名前のSheetが式~式(399)まで、400Sheetあります。
400Sheetある式というSheetには表があり、入力されて文字は違いますが、表の配置は全く同じです。
式  のD6セルには 1。Q9セルには「あいうえお」と入力、
式(1)のD6セルには 2 Q9セルには「かきくけこ」と入力されています。
式Sheetが400枚あるので、D6セルには、400まで数字が連番で入力されています。

表SheetのA4セルが、もし空という前提で、1と入力した場合、式~式(399)までのSheetの中から一致した数字が合った場合、そのSheetのQ9のセルの値を返しなさい‥と関数を入れたいと思い、
「INDIRECT」関数を使用しました。
=INDIRECT("式(" & A4 & ")'!D6" 
しかし、何度入力しても、REFと出てしまいます。

この関数を使用するのは初めてで、戸惑っています。
どうかご教授ください。

投稿日時 - 2006-03-12 19:58:45

QNo.2024687

すぐに回答ほしいです

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

あまりお薦めしませんが・・

1 0と表示された場合に0を表示させない方法
=IF(現在の式=0,"",現在の式)

そのほか、書式等でも可能です
書式 セル ユーザー定義で 種類を #


2 0は表示して良いが、REFは表示させない方法
=IF(ISERROR(現在の式),"",現在の式)

3については上記を参照

投稿日時 - 2006-03-12 21:26:20

お礼

素晴らしいです!!!!
見事に出来ました。
何故こんなに詳しいのですか?
私も貴方のようにExcelに詳しくなりたいですー。
コツはあるのですか?

投稿日時 - 2006-03-12 21:30:29

このQ&Aは役に立ちましたか?

5人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

'式(123)'!D1 を INDIRECT関数で表すと
=INDIRECT("'式(123)'!D1") になります

※ '式(123)'!D1 を文字として入力しますので""で囲みます

次に、数字の123をセル参照(A4)する場合

 '式(     と 123  と  )'!D1
  ↓               ↓
"'式("     &  A4   &  ")'!D1")
  ↑              ↑
文字は""で囲む        文字は""で囲む

=INDIRECT("'式(" & A4 & ")'!D1")

投稿日時 - 2006-03-12 20:55:19

補足

ありがとうございました。
こうなっているのですね。凄く分かりやすくて助かります。
ところで、
参照するセルに何も無かった場合は 0と表示され、エラーの場合はREFが付きますよね。
これって、消せるのでしょうか?

1 0と表示された場合に0を表示させない方法
2 0は表示して良いが、REFは表示させない方法
3 0もREFも表示させない方法  があれば、是非とも教えてください。お願いします。

コレが出来れば完璧に成るんです!!

投稿日時 - 2006-03-12 21:14:49

ANo.2

訂正。

=INDIRECT("'式(" & A4 & ")'!D6")

投稿日時 - 2006-03-12 20:07:50

補足

=INDIRECT("'式(" & A4 & ")'!D6")
複雑な関数なんですよね‥‥
まず、何処の式がどのような意味なのかさっぱりです。
&や"が一杯で、この式の何がどうなっているのか?教えていただけるとありがたいです。

投稿日時 - 2006-03-12 20:36:00

ANo.1

=INDIRECT("'式(" & A4 & ")'!D6"

投稿日時 - 2006-03-12 20:05:08

あなたにオススメの質問