- ベストアンサー
INDIRECT関数 エラーになる
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
INDIRECT 関数の仕様では、参考 URL にあるとおり、文字列を引数とします。「セル参照」あるいは「セル範囲に付けられている名前」を表す文字列(参照文字列)を引数として指定しますが、代わりにセル参照を指定した場合は、参照元の文字列を関数が受け取ってきます。シート名のみを引数とする方法は、ありません。 ○ =a1 ○ =sheet1!a1 ○ =indirect(a1) …… A1 セルに「a2」などの有効な参照文字列が記入されている場合のみ ○ =indirect("a1") ……「=a1」と同じ意味 × =indirect(sheet1) ……エラー「#NAME?」 × =indirect("sheet1") ……シート名を含む参照文字列が未完成のため、エラー「#REF!」 ○ =indirect("sheet1!"&a1) …… Sheet2 の A1 セルに「a2」などの有効な参照文字列が記入されている場合のみ ○ =indirect("sheet1!"&"a1") ……「=sheet1!a1」と同じ意味 ○ =indirect("sheet1!a1") ……「=sheet1!a1」と同じ意味 ○ =a1!a1 …… Excel のサービス機能により「a1」が「'a1'」に自動変換されるため、「a1」という名前のシートが存在する場合のみオッケー △ =a1&"!"&a1 ……一応エラーにはならないが、期待とは全く異なる結果(結合された文字列)を返す △ =INDIRECT(A1)&"!"&A1 …… A1 セルに「a2」などの有効な参照文字列が記入されている場合のみ一応エラーにはならないが、期待とは全く異なる結果(結合された文字列)を返す △ =INDIRECT("A1")&"!"&A1 ……一応エラーにはならないが、期待とは全く異なる結果(結合された文字列)を返す × =INDIRECT("A1!")&A1 ……シート名を含む参照文字列が未完成のため、エラー「#REF!」 × =INDIRECT(A1)!A1 ……「&」と「"」がないため、数式の入力がそもそも受け付けられない × =sheet1!indirect("a1") ……数式の入力がそもそも受け付けられない ○ =indirect(a1&"!"&a1) …… A1 セルに「a2」などの有効な参照文字列が記入されており、かつ、「a2」などの名前のシートが存在する場合のみ ○ =indirect(b1&"!"&a1) …… B1 セルに「sheet1」など、A1 セルに「a2」などの有効な参照文字列が記入されている場合のみ ○ =indirect(a1&"!a1") …… A1 セルに「sheet1」などの有効な参照文字列が記入されている場合のみ × =indirect(合計) ……エラー「#NAME?」または「#REF!」 ○ =indirect("合計") ……「合計」という名前が付けられたセルが存在する場合のみ INDIRECT では、正しいセル参照になる文字列でありさえすれば、自由に文字列をつなげて作ることができます。 ●=indirect(c1&d1) ●=indirect("sheet1!"&c1&d1) ●=indirect(a1&b1&"!e1") ●=indirect(a1&"!"&c1) ●=indirect("合計")
その他の回答 (2)
- bunjii
- ベストアンサー率43% (3589/8249)
>何が間違っていますか? INDIRECT関数の引数の記述に誤りがあります。 =INDIRECT("Sheet1!A1") で試してください。 =INDIRECT(A1&"!A1") とすればエラーにならないはずです。
お礼
ありがとうございました。
- Cupper-2
- ベストアンサー率29% (1342/4565)
「=INDIRECT(A1)!A1」 =INDIRECT(Sheet1)!Sheet1 これじゃエラーになるでしょ。 INDIRECT(A1&"!A1") これで解決します。
お礼
ありがとうございました。
お礼
ありがとうございました。