• ベストアンサー

エクセル セル参照

A1セルには1~20までの任意の数を入力します B1には文字列を入力します。 A1に入力された数によって、B1セルの文字列の内容をC1~C10の各セルにコピーするにはどうしたらよいでしょうか。 たとえば、A1が3のとき、B1の文字列をC3にコピーしたい。 VBAでもかまいません。 お願いします。

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

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

こんばんは! 解釈が間違っていたらごめんなさい・・・ B1の文字列をC列のA1セルに入力した行数のところへ表示させたいと言うことでしょうか? 例えば、A1セル=12 であればC12セルにB1セルの内容をそのまま表示させる! ということで回答させてもらいますと、 色々方法はあると思いますが、一例として C1セル =IF(ROW()=$A$1,$B$1,"") としてオートフィルで表示させたいセルまでコピーしてはどうでしょうか? 以上、参考になれば幸いですが、 的外れの回答なら読み流してくださいね。m(__)m

coral_japan
質問者

お礼

ご回答ありがとうございます! 教えていただいた方法でうまくいきました。 感謝いたします。

その他の回答 (3)

noname#204879
noname#204879
回答No.3

「C1~C10の各セルにコピー」とのことですが、ロジックが変では? 》 A1セルには1~20までの任意の数を入力 》 A1が3のとき、B1の文字列をC3にコピー A1 が 11~20 のときは、「B1の文字列を」「C1~C10」の何処に「コピーする」のですか?しっかりしてください。

回答No.2

補足でD列を使わないなら =IF(ISERROR(VLOOKUP(ROW(),A:B,2,FALSE)),"", VLOOKUP(ROW(),A:B,2,FALSE)) またはC1セルに =IF(ISERROR(VLOOKUP(ROW(A1),A:B,2,FALSE)),"", VLOOKUP(ROW(A1),A:B,2,FALSE)) A列に重複の無いものとします ちなみにこんな感じでもいいかな =IF(ISNA(MATCH(ROW(),$A$1:$A$20,0)),"", INDEX($B$1:$B$20,MATCH(ROW(),$A$1:$A$20,0)))

noname#99913
noname#99913
回答No.1

(1)D列に上から順に1,2,3・・・10と入力 (2)C1に次の式を入力し、C10までコピー  =IF(ISERROR(VLOOKUP(D1,A:B,2,FALSE)),"",VLOOKUP(D1,A:B,2,FALSE)) D列が邪魔な場合は非表示にしてください。