質問: 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と出てしまいます。 この関数を使用するのは初めてで、戸惑っています。 どうかご教授ください。
回答: '式(123)'!d1 を indirect関数で表すと =indirect("'式(123)'!d1") になります ※ '式(123)'!d1 を文字として入力しますので""で囲みます 次に、数字の123をセル参照(a4)する場合 '式( と 123 と )'!d1 ↓ ↓ "'式(" & a4 & ")'!d1") ↑ ↑ 文字は""で囲む 文字は""で囲む =indirect("'式(" & a4 & ")'!d1")