• ベストアンサー

エクセル 関数でセルの位置を&で指定したい

セルの位置を&を使って指定したいのですが出来ません。 何か方法はないですか? (例) 同じフォルダに入っているファイル名「商品番号01」~ファイル名「商品番号99」のA1のセルを表示したい。 商品番号を1つ1つ入力は手間なのでA列にある商品番号を & を使って結びつける。 これでは正しく表示されない。    A列  B列 1行 01  ="'[商品"&A1&".xlsx]sheet'!$A$1" 2行 05  ="'[商品"&A2&".xlsx]sheet'!$A$1" 3行 09  ="'[商品"&A3&".xlsx]sheet'!$A$1"  ・  ・  ・  ・  ・  ・

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

 INDIRECT関数で参照先を指定した場合には、必ず絶対参照となりますから、「$」は必要ありません。  ですから、B1セルに入力する数式は =INDIRECT("'[商品番号"&A1&".xlsx]Sheet1'!A1") になります。  それから、セルの書式設定が文字列以外の書式となっている場合には、セルに 01 02 03 ・ ・ ・ 09 と入力しても、自動的に 1 2 3 ・ ・ ・ 9 に変換されてしまいますので、そのままでは '[商品01.xlsx]sheet'!A1 '[商品02.xlsx]sheet'!A1 '[商品03.xlsx]sheet'!A1 ・ ・ ・ '[商品09.xlsx]sheet'!A1 ではなく、 '[商品1.xlsx]sheet'!A1 '[商品2.xlsx]sheet'!A1 '[商品3.xlsx]sheet'!A1 ・ ・ ・ '[商品9.xlsx]sheet'!A1 となってしまい、存在しないファイルを参照しようとして、エラーとなってしまいます。  ですから、入力する前に、A列のセルの書式設定を、前もって[文字列]に変更しておいた方が良いと思います。

benitier59
質問者

お礼

INDIRECTで解決しました。 このような関数があるとは知りませんでした。

その他の回答 (3)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

ファイル名が商品番号となっているのでしたら当然のこととして式は次のようになりますね。 B1セルに次の式を入力して下方にオートフィルドラッグします。 =INDIRECT("'[商品番号"&A1&".xlsx]Sheet1'!$A$1")

benitier59
質問者

お礼

INDIRECTで解決しました。 このような関数があるとは知りませんでした。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

INDIRECT関数にしてSheet1ならその通りに入力することが必要ですね。 1行 01  =INDIRECT("'[商品"&A1&".xlsx]Sheet1'!$A$1") 2行 05  =INDIRECT("'[商品"&A2&".xlsx]Sheet1'!$A$1") 3行 09  =INDIRECT("'[商品"&A3&".xlsx]Sheet1'!$A$1")

benitier59
質問者

お礼

INDIRECTで解決しました。 このような関数があるとは知りませんでした。

回答No.1

一方通行というかA列の反映は最初だけですが B1セル ="='[商品"&A1&".xlsx]sheet'!$A$1" 下へオートフィル B列コピー 形式を選択して貼り付け ●値 B列を選択して 置換 = → = (イコール から イコールへ置き換えることで計算が有効になる)

benitier59
質問者

お礼

INDIRECTで解決しました。

関連するQ&A