• ベストアンサー

楽してコピーしたい

画像のような表を作っています。 また別のシートにデーターとして一行毎に名前を入れています。 名前は追加したり削除したりするため数式を入れています。(=IF(A1="","",A1)という式を) これを(2)に簡単に入力したくコピーしますが、元表の間隔が11行ある為貼り付け終わった結果は=IF(A12="","",A12)となってしまい、11行したの名前を呼んでしまいます。 コピー、貼り付けという簡単な方法で、行が開いていてもA1,A2,A3と一行毎に増やしていく方法はないのでしょうか。 詳しい方宜しくお願いします。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

No.4です! なんとか希望に近い形になってよかったです! =INDEX(Sheet2!$A$1:$A$100,ROW(A11)/11)&"" の意味ですが、 ROW(A11)/11 部分に関しては問題ないと思います。 この数式を11行下にコピー&ペーストすれば ROW(A22)/11=2 ということになり、 結局 INDEX関数で範囲指定した2行目を表示することになります。 最後の &"" 部分に関しては参照元が空白であれば「0」と表示されてしまいますので それを回避するためのものです。 IF関数を使って数式で処理することも可能なのですが =IF(INDEX(Sheet2!$A$1:$A$100,ROW(A11)/11)="","",INDEX(Sheet2!$A$1:$A$100,ROW(A11)/11)) という感じで同じ数式を二度入力し長い数式になってしまいますので、ちょっとした手抜き作業ですかね! この程度で理解いただけたでしょうか?m(__)m

syou_yuu20
質問者

お礼

よく理解できました。 また機会がありましたら助けてください。 ありがとうございました。

その他の回答 (4)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! 外していたらごめんなさい。 Sheet2のA1セルから下に名前が並んでいるとします。 Sheet1の最初のセルに =INDEX(Sheet2!$A$1:$A$100,ROW(A11)/11)&"" という数式を入れ、これをコピー → 11行下のセルを選択 → 貼り付け ・・・の繰り返しではどうでしょうか? 以上、的外れなら読み流してくださいね。m(__)m

syou_yuu20
質問者

お礼

早速有難うございました。 完璧に再現できました。 もしよろしければROW(A11)/11)&""の意味を教えて頂ければ幸いです。 特に&""が知りたいです。 宜しくお願いいたします。

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.3

=INDEX(Sheet2!$C$4:$C$8,(ROW()-3)/11+1,0) ここで、 Sheet2!$C$4:$C$8 名前の一覧の場所、Sheet2のC4:C8。 (ROW()-3)/11 3は、この数式を入れる一番始めのセルの行番号。始めが4行目からなら、-4にする。 11は、この数式を入れる行間隔、11行目ごとにコピペする。 実際に合わせて変更する。

syou_yuu20
質問者

お礼

早速のアドバイス有難うございます。 取り掛かってみます。

回答No.2

画像がつぶれていてよくわからないし、なんとなく説明とかみ合っていないと思う。 で、INDIRECT関数の回答が出そうな気がする。 INDIRECT関数を多用すると計算と関係のないセルの入力/削除でも 計算が走り、遅くなるので使わないほうが良い。 で、なんとなくの回答ですが、 D4セル =INDEX(A:A,C4) C列ごとコピペ で対応可能のように思う。 (A1セルに対応)

syou_yuu20
質問者

お礼

早速の回答ありがとうございます。 わかりにく画像、説明で申し訳ありません。

  • OKWavex
  • ベストアンサー率22% (1222/5383)
回答No.1

セルをコピーするのではなく、数式入力で数式文字列をコピーすれば?

syou_yuu20
質問者

お礼

早速やってみます。 ありがとうございました。

関連するQ&A