• ベストアンサー

エクセル2003 セルのコピー(3行空ける)

具体的に質問いたします。 D列に1000行位氏名が記載されています。 これをA列に3行あけてコピーしたいのです。 D3をA3に、D4をA7に、D5をA11に・・・という具合です。 何かよい方法をご教授お願いします。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

>A列の、D4~D6、D8~D10・・・には文字が入力されていて、消せません。  「A列の、D4~D6、D8~D10」というのは意味が良く解りませんが、もしかしますと「A4~A6、A8~A10」の間違いではないでしょうか?  それから確認したいのですが、それらのセルの中に関数を用いて値を表示させているセルもあるのでしょうか?  取り敢えずの話として、関数が入力されていても有効な方法を御伝え致しておきます。 (1)A列全体を選択   ↓ (2)[ホーム]タブの「編集」グループ内にある[検索と置換]ボタンをクリック   ↓ (3)現れた選択肢の中にある[置換]をクリック   ↓ (4)現れた「検索と置換」ダイアログボックスの[置換]タブの中にある「検索する文字列」欄に = と入力   ↓ (5)「検索と置換」ダイアログボックスの[置換]タブの中にある「置換後の文字列」欄に a= と入力 ※「=」の前に付ける文字は必ずしも「a」である必要は無く、「=」自体や「'」でさえなければ、どの様な文字であっても構いません。   ↓ (6)「検索と置換」ダイアログボックスの[すべて置換]ボタンをクリック   ↓ (7)「検索と置換」ダイアログボックスの[閉じる]ボタンをクリック   ↓ (8)使用していない適当な列(ここでは仮にZ列とします)の3行目のセルに次の関数を入力 =IF(IF(MOD(ROW()-ROW($3:$3),4),$A3,OFFSET($D$3,(ROW()-ROW($3:$3))/4,))="","",IF(MOD(ROW()-ROW($3:$3),4),$A3,OFFSET($D$3,(ROW()-ROW($3:$3))/4,)))   ↓ (9)Z3セルをコピーしてZ4以下に必要な行数になるまで貼り付け   ↓ (10)Z列をコピーして、A列に"値のみ"を貼り付け   ↓ (11))[ホーム]タブの「編集」グループ内にある[検索と選択]ボタンをクリック   ↓ (12)現れた選択肢の中にある[置換]をクリック   ↓ (13)現れた「検索と置換」ダイアログボックスの[置換]タブの中にある「検索する文字列」欄に a= と入力   ↓ (14)「検索と置換」ダイアログボックスの[置換]タブの中にある「置換後の文字列」欄に = と入力   ↓ (15)「検索と置換」ダイアログボックスの[すべて置換]ボタンをクリック   ↓ (16)「検索と置換」ダイアログボックスの[閉じる]ボタンをクリック   ↓ (17)列の関数を消去  以上です。  尚、もしA列に関数が使われていない場合には、(2)~(7)及び(11)~ (16)の操作は不要で、(1)、(8)、(9)、(10)、(17)の操作をするだけで構いません。

taka1012
質問者

お礼

度々のご回答ありがとうございます。 無事、解決しました。

その他の回答 (4)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.5

>D3をA3に、D4をA7に、D5をA11に・・・という具合です。 >A列の、D4~D6、D8~D10・・・には文字が入力されていて、消せません。 関数で処理する場合は作業用の列を使わなければ実現できません。 作業用列の3行目に次の数式を設定して下へ必要な行数までコピーし、作業列の必要範囲をコピーでクリップボードへ記憶させ、A3セルを選択して値のみ貼り付ければ良いでしょう。 =IF(MOD(ROW()-3,4),A3,INDEX(D:D,INT((ROW()-3)/4)+3)) 数式はIF関数で条件分岐し、行番号が3、7、11、・・・・のときMOD(ROW()-3,4)の戻り値が0となり、その他は1~3になるので、戻り値が1~3のときA列の同じ行から、戻り値が0のときD列のD3から順番に取り出せるようにしてあります。 IF(論理式,真の場合,偽の場合)であり、論理式の戻り値が0以外のときは真の場合へ、0のときは偽の場合へ分岐します。

taka1012
質問者

お礼

ご回答ありがとうございます。

  • dogs_cats
  • ベストアンサー率38% (278/717)
回答No.4

A3がデータ抽出の開始セル D3が抽出元の開始セル 上記2つが条件の場合です。 A3式だけ=D3 A4式 =IF(MOD((ROW()-3),4)=0,INDIRECT(ADDRESS((ROW()-3)/4+3,4)),"") 下方にフィルコピー

taka1012
質問者

お礼

ご回答ありがとうございます。

  • msMike
  • ベストアンサー率20% (364/1805)
回答No.2

》 D列に1000行位氏名が記載されています じゃあ、此処ではセル D3以降1000行キッカリということで。 それから、セル D2 も C2 も空白にしておいてください、操作を簡単にするために。 何も考えずに、騙されたと思って、下記の手順を試してください。ただし、間違えないでネ! ちなみに、簡単のために、B列は空白列とした手順になっています。 1.セル C3 に数値 1 を入力 2.セル C3 のフィルハンドルを「エイヤッ!」とダブルクリック 3.そのまンまで、[フィル]→[連続データの作成]で[増分値]を 1 にして[OK]をツン 4.範囲 C3:C1002 を[コピー]して、セル C1003 に[貼り付け] 5.範囲 C3:C2002 を[コピー]して、セル C2003 に[貼り付け] 6.そのまンまで、[ジャンプ]→[セル選択]を実行 7.“アクティブセル領域”に目玉を入れて[OK]をツン 8.昇順に[並べ替え]を実行 9.そのまンまで、Tabキーを1回だけツン 10.Shiftキーを抑えたまま、右矢印キーを1回だけツン 11.Ctrl+C をパシーッ 12.セル A3 を選択して、Ctrl+V を「エイヤッ!」と叩き付け 13.セル C3 を選択して、ステップ6、7を実行 14.ステップ6を実行 15.“空白セル”に目玉を入れて[OK]をツン 16.そのまンまで、[編集]→[削除]を実行 17.“上方向にシフト”に目玉を入れて[OK]をツン 18.C列全体を選択して、Deleteキーをパシーッ

taka1012
質問者

お礼

ご回答ありがとうございます。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

 まず、A3セルに次の様な関数を入力して下さい。 =IF(MOD(ROW()-ROW($A$3),4),"",OFFSET($D$3,(ROW()-ROW($A$3))/4,)&"")  次に、A3セルをコピーして、A4以下に必要な行数だけ貼り付けて下さい。(形式を選択して貼り付けを使用して[数式]のみ貼り付けると良いと思います)  次に、A列全体をコピーして、そのまま同じ所に値のみを貼り付けて下さい。  次に、A列全体を選択したままの状態で、[ホーム]タブの「編集」グループ内にある[並べ替えとフィルター]ボタンをクリックして下さい。  次に、現れた選択肢の中にある[フィルター]をクリックして下さい。  次に、A2セルの辺りの右側に現れた「▼」印のボタンをクリックして下さい。  次に、現れた選択肢の中にある「(空白セル)」と記された箇所のチェックを外してから、[OK]ボタンをクリックして下さい。  次に、A列で表示されているセルに対して書式を設定して下さい。  次に、再度[並べ替えとフィルター]ボタンをクリックし、現れた選択肢の中にある[フィルター]をクリックして下さい。  以上です。

taka1012
質問者

お礼

ご回答ありがとうございます。 誠に申し訳ありません。A列の、D4~D6、D8~D10・・・には文字が入力されていて、消せません。度々ですみませんがよろしくお願いします。

taka1012
質問者

補足

お礼コメントの以下の部分を訂正いたします。 「A列の、『D4~D6、D8~D10』・・・には文字が入力されていて」           ↓       『A4~A6、A8~A10』 皆様のご回答を試してみます。

関連するQ&A