• ベストアンサー

INDIRECT関数についての質問です

=INDIRECT("q"&D$123)でこのようにした場合、q列しか参照できません。 式を複数コピーしタ場合”q”以外の列を参照したい場合、ひとつひとつ変更しなければならず大変です。ひとつひとつ変更しないで、複数コピーしタ場合にも他の列を参照出来るようにするにはどうしたらよいでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

あまり起こるケースではなく、何を聞きたいのか、必要性も良くわからないが 例えばA2に=INDIRECT(D1&E1)と入れて、D1にB(列の文字列)、E1(行番号数字のつもり)に12と入れると、 B12セルの値が23とすると、その値23を取るが。 そんなことで、ニーズに合っているのかな?。 ーー 既出回答は https://itwebkatu.com/excel-get-column-alphabet/ のような方法を使っているようだが、そうする必要あるのかな。 ーー 余談 番地の表し方の、A1形式での話ですが、 列名は英語で、ColumnnameやColumnnames というようだが VBAで、列名(アルファベット)を http://officetanaka.net/excel/vba/tips/tips166.htm の記事のように割り出して出さざるを得ないようです。 その為ADDRESS関数を使わざるを得ないようです。 それが既出回答で、列名を割り出すのに、ADDRESSが出てくるわけと思います。

inbamai
質問者

お礼

回答ありがとうございます。参考にします。

その他の回答 (3)

  • msMike
  • ベストアンサー率20% (364/1805)
回答No.3

確認させてください。 》 =INDIRECT("q"&D$123)でこのようにした場合、 》 q列しか参照できません この場合、セル D123 に入力されているデータは何ですか? 》 複数コピーしタ場合にも他の列を参照出来る 》 ようにするにはどうしたらよいでしょうか? 他の列の具体例(複数あるなら、それも)を挙げてください。 (つまり、曖昧な表現は避けてほしい)

  • kkkkkm
  • ベストアンサー率66% (1734/2604)
回答No.2

=INDIRECT(ADDRESS(D$123,COLUMN(Q1))) みたいな感じでしょうか。

inbamai
質問者

お礼

回答ありがとうございます。参考にします。

回答No.1

参照したい列に =INDIRECT(LEFT(ADDRESS(ROW(),COLUMN(),4,1),LEN(ADDRESS(ROW(),COLUMN(),4,1))-LEN(ROW()))&D$123) とすれば 関数を置いた列にすることはできます。 あとはどこの列を基準にするかはお好きに調整してみてはいかがでしょうか?

inbamai
質問者

お礼

回答ありがとうございます。参考にします。

関連するQ&A

専門家に質問してみよう