18、35、52…と、17行ずつデータが入っている2列にまたがるデータを、別シートの2列に引っ張って来て貼付けたいです。


今、「Aシート」のK列とL列にデータが入っています。
K列には「●」というデータが入っており、18行目、35行目、52行目に入っております。
L列にも同じ行に「■」というデータが入っております。
また「Bシート」のB列とC列にもデータが入っております。
B列2行目→あい
B列3行目→かきく
B列4行目→さし
C列2行目→うえお
C列3行目→けこ
C列4行目→すせそ
といった感じです。
詳細なエクセルデータは http://xfs.jp/Tgn1i にアップしております。
ここからさらに、
K列18行目→B列2行目と同じデータに
K列35行目→B列3行目と同じデータに
K列52行目→B列4行目と同じデータに
というように、K列のデータを、B列の2行目を起点としそこから順に同じデータに置き換えたいのです。
同じくL列につきましても、C列の2行目を起点とし、L列35行目はC列3行目に、L列52行目はC列4行目に、置き換えたいです。
そしてそのAシートの変換を2567行まで行いたいのです。
何とか関数やマクロを駆使して一括で置き換えたいのですが、可能でしょうか。
ご指導いただれば幸いです。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2014/10/18 14:59:23
  • 終了:2014/10/21 02:59:09

ベストアンサー

id:gong1971 No.1

gong1971回答回数443ベストアンサー獲得回数682014/10/18 22:05:48

ポイント300pt

並べ替えを活用する事で実現出来ます。
※念の為、バックアップを作成してお試しください。

1.「Aシート」のM-N列を選択しホームリボンの[挿入]ボタンを
 クリックし、作業用の列を挿入する。
2.M1に「M列」、N1に「N列」と見出しを入力する。
3.M2に =ROW()-1 と、N2に =MOD(M2,17) と入力する。
4.M2:N2をコピーし、M3:N2568に貼り付ける。※最終行は2568ですよね?
5.M2:N2568をコピーし、ホームリボンの貼り付けの▼をクリックし、
 値貼り付けの[値](123と描かれたボタン)をクリックし、
 さきほどの作業用数式を値貼り付けする。
6.データ範囲すべてを列選択で選択する。
7.ホームリボンの並べ替えとフィルターから、
 [ユーザー設定の並べ替え]をクリック。
8.「先頭行をデータの見出しとして使用する」にチェックを入れ、
 [レベルの追加]をクリックし、下記の通り並べ替えの設定をし、
 [OK]をクリック。

 N列 値 昇順
 M列 値 昇順

9.上記の並べ替えで、K2:L152に「Bシート」のデータを
 貼り付けたいセルが連続するので、
 「Bシート」のデータをコピーして貼り付けする。

(ここから元の並び順に戻します)

10.データ範囲すべてを列選択で選択する。
11.ホームリボンの並べ替えとフィルターから、
 [ユーザー設定の並べ替え]をクリック。
12.「先頭行をデータの見出しとして使用する」にチェックを入れ、
 [レベルの削除]をクリックし、下記の通り並べ替えの設定をし、
 [OK]をクリック。

 M列 値 昇順

以上で完了です。M列、N列は削除して構いません。

※Excel2010で回答を作成しました。
 別バージョンやMacintoshの場合で、
 表記が違う場合は、その旨をお知らせください。

他1件のコメントを見る
id:gong1971

>moon-fonduさん
ご報告ありがとうございます。うまくいって良かったです。(^^)

3.~5.の作業ですが、文章で簡潔・確実にお伝えする為、
回答の方法をご案内しましたが、フィルなどで入力しても構いません。

例えばM2に1、M3に2と入力し最終行までフィルで入力。
N2:N17の全てのセルに1、N18に0と入力し、
最終行まで[Ctrl]キーを押しながらフィルで入力。
という方法もあります。ご参考までに。

2014/10/19 00:55:31
id:moon-fondu

いろいろありがとうございます、また試しみてます!

2014/10/21 02:58:32

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません