• ベストアンサー

EXCELで、セル間隔をあけて貼り付けしたい。

2つのEXCELファイルがあります。 ファイルAのデータが以下のようにありまして、    A  B  C  D  E --------------------------------- 1| 5  10  3  4  6 この横にならんだ数値をコピーして、ファイルBに    A  B  C  D  E --------------------------------- 1 | 5 2 | × 3 | 10 4 | × 5 | 3 6 | × 7 | 4 8 | × 9 | 6 こんな風に縦に、しかもセル間隔をひとつずつ空けてペーストしたいのです。 ファイルAの方の数値はSUBTOTAL関数を使用して出した結果の数値が入ったセルです。 貼り付けしたいセルだけをCtrlキーを押しながら選択して張り付けると 縦のセルの数×ファイルAの数値セルの数 で貼り付けされてしまいます。 「形式を選択して貼り付け」などもやってみましたが、うまくいきません。 なにかよい方法があったら教えていただきたいです。 よろしくお願いします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

A1=IF(MOD(ROW(),2)=1,INDIRECT(ADDRESS(1,ROW()/2+1,,,"[ファイル名.XLS]シート名")),"") を下方にコピーでは駄目でしょうか?上記で =[ファイル名.XLS]シート名!A1 と同じ表示になり偶数行は非表示になります。開始位置がずれる場合は ADDRESS関数の行数・列数の設定を変更してください。 ADDRESS(行数,列数,参照型,参照形式,シート名)です。 行数は直接1をその行の数値に、列数はROW()/2-1の-1の数値を変更で対応できます。 展開後に確定する場合は式のある列をコピーして、形式を選択して貼り付けで値にしてください。

その他の回答 (6)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.7

例データ Sheet1に A2:E2 5 10 3 4 6 Sheet2のA2に =IF(MOD(ROW(),2)=1,"",INDEX(Sheet1!$A$2:$F$2,1,ROW()/2)) と入れて、2倍分の行に複写する。 結果 Sheet2のA2:A10に 5 10 3 4 6

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.6

#2のmshr1962です。 >アンケートのクロス集計表というのを作っています。 これなら元のファイルを「データ」「ピボットテーブル」で集計かけたほうが楽なのでは? MicrosoftのOfficeOnlineのピボットテーブルのヘルプ http://office.microsoft.com/ja-jp/assistance/CH062528071041.aspx 「Mr.Big のホームルーム」研修会 にOfficeソフトの小技が載っています。 http://hp.vector.co.jp/authors/VA014071/index.html

noname#123709
noname#123709
回答No.5

#1です。 もう少し具体的な表なりを掲示して頂ければVBAで組めますが、恐らくコピー&ペースト では無理なような気がします。

  • kamejiro
  • ベストアンサー率28% (136/479)
回答No.4

ファイルAのSheet1のデータをファイルBのSheet1に貼り付けるとします。 ファイルBのSheet1のC列をワークとして使います。 1)C1に「1」、C3に「2」を入れます。 2)C1..C4をアクティブにします。 3)下方向にC9までドラッグコピーすると、セル間隔をひとつずつ空けて付番されます。C5は「3」、C7は「4」、C9は「5」 4)A1に =INDEX([ファイルA.xls]Sheet1!$A$1:$E$1,1,C1) と関数をキーインします。 5)A1をアクティブにし、下方向にA4までドラッグします。 6)A2、A4セルを空白にします 7)A1..A4をアクティブにします。 8)下方向にA9までドラッグコピーすると、思った表になりませんか?。 ※かえって手間がかかるかもしれませんが…。

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.3

こんにちは。KenKen_SP です。 手動操作でやるなら、 1. 元データコピー 2. ファイルBのA1を選択肢、[形式を選択して貼り付け]-[行列を入れ替える]   でペースト 3. B1セルに数字の 1 を入力して、あとは終わりまでフィルで連番を振る 4. 3.の連番をコピーして、3.の連番の最終データの次行に貼り付け 5. B列でソート または、VBA でやるかです。

noname#123709
noname#123709
回答No.1

ファイルBのセルA1にファイルAのA1という数式ではダメなのでしょうか? これならファイルAの数値が変わっても貼り付け等を再度行う必要はありま せん。 どれくらいのボリュームがあるのか分からないので・・・。 多いのでしょうか?

mellownyanco
質問者

補足

早速の対応ありがとうございます。 アンケートのクロス集計表というのを作っています。 ファイルAの数値は、たとえば、オートフィルタをかけて該当した質問にハイと答えた人の合計という感じの数値になっています。 ↑のコピー&ペーストを1回とすると、それがひとつの項目について50くらい、且つ項目が60ほどあります…; 項目三つ目までこつこつやって、さすがにもっと効率の良い方法はないものかと思い始めたところです。 (ちなみに今までは、コピーしたものをファイルBの空白部分に一度貼り付け、それを一つずつ移動という果てしないことをしていました…) 横に並んだ数値を、縦に間隔を空けて貼り付けする方法だけでもわかれば大分楽になると思ったのですが、それは不可能なのでしょうか…? 補足してみましたがいかがでしょうか? 説明下手で申し訳ないです…;

関連するQ&A