- ベストアンサー
エクセル セル参照
A1セルには1~20までの任意の数を入力します B1には文字列を入力します。 A1に入力された数によって、B1セルの文字列の内容をC1~C10の各セルにコピーするにはどうしたらよいでしょうか。 たとえば、A1が3のとき、B1の文字列をC3にコピーしたい。 VBAでもかまいません。 お願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! 解釈が間違っていたらごめんなさい・・・ B1の文字列をC列のA1セルに入力した行数のところへ表示させたいと言うことでしょうか? 例えば、A1セル=12 であればC12セルにB1セルの内容をそのまま表示させる! ということで回答させてもらいますと、 色々方法はあると思いますが、一例として C1セル =IF(ROW()=$A$1,$B$1,"") としてオートフィルで表示させたいセルまでコピーしてはどうでしょうか? 以上、参考になれば幸いですが、 的外れの回答なら読み流してくださいね。m(__)m
その他の回答 (3)
「C1~C10の各セルにコピー」とのことですが、ロジックが変では? 》 A1セルには1~20までの任意の数を入力 》 A1が3のとき、B1の文字列をC3にコピー A1 が 11~20 のときは、「B1の文字列を」「C1~C10」の何処に「コピーする」のですか?しっかりしてください。
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
補足で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)))
(1)D列に上から順に1,2,3・・・10と入力 (2)C1に次の式を入力し、C10までコピー =IF(ISERROR(VLOOKUP(D1,A:B,2,FALSE)),"",VLOOKUP(D1,A:B,2,FALSE)) D列が邪魔な場合は非表示にしてください。
お礼
ご回答ありがとうございます! 教えていただいた方法でうまくいきました。 感謝いたします。