人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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行まで行いたいのです。
何とか関数やマクロを駆使して一括で置き換えたいのですが、可能でしょうか。
ご指導いただれば幸いです。

●質問者: moon-fondu
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● gong1971
●300ポイント ベストアンサー

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

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の場合で、
表記が違う場合は、その旨をお知らせください。


moon-fonduさんのコメント
>gong1971さん すごいです、出来ました! ありがとうございます。 M列とN列に規則性を作り出して、そのルールからK列とL列を巻き込むんですね〜いや〜Excelでこんな業が出来るなんて驚きです。

gong1971さんのコメント
>moon-fonduさん ご報告ありがとうございます。うまくいって良かったです。(^^) 3.?5.の作業ですが、文章で簡潔・確実にお伝えする為、 回答の方法をご案内しましたが、フィルなどで入力しても構いません。 例えばM2に1、M3に2と入力し最終行までフィルで入力。 N2:N17の全てのセルに1、N18に0と入力し、 最終行まで[Ctrl]キーを押しながらフィルで入力。 という方法もあります。ご参考までに。

moon-fonduさんのコメント
いろいろありがとうございます、また試しみてます!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ