Q&A
解決済み

【Excel INDIRECT関数】オートフィルができない

さやさに
ルーキー

blue777さんのコメント

medal ベストアンサー獲得数 88 件

>INDIRECT関数の" ! & の入れる位置があまり理解し切れていない

INDIRECT内を少し解説すると
通常は
①"シート1!A1:C1"
となります。

A1に"シート1"と入力し、それを参照するので
②$A$1 & "!A1:C1"
となります。

オートフィルを使うので
A1 の 1 と C1 の 1 を変化させたいので
まずはC1 の 1を
③$A$1 & "!A1:C" & 1
のように"で閉じて1を&で繋げます。

さらにA1 の 1を
④$A$1 & "!A" & 1 & ":C" & 1
と途中を分断し、両端を"で塞ぎ1との間を&で繋げます。
②と③と④は同じものです。
分断した両端を"で閉じて&で繋げます。
"から"までが文字列扱いです。

分かりやすい様に表示すると
⑤$A$1 & " " & 1 & " " & 1
→セル & " " & 数字 & " " & 数字
となり、分断したところが
⑥" & 1 & "
となっているのが分かると思います。

そしてこの「1」をオートフィルによって変化させたいのでROW関数に変えます。
⑦$A$1 & "!A" & ROW(A1) & ":C" & ROW(C1)
→セル & 文字列 & 関数 & 文字列 & 関数
セルと関数は文字列では無いので
" "の外に出して&で繋げるイメージ
  • 10