• ベストアンサー

【再度】Excel、列を追加する方法を教えてください!

こんにちは。 Excelの使い方で悩んでいます。 今、A1~A200のセルまでテキストデータが入っています。 そのデータを編集しているところなのですが・・・。 各列に横列を追加しなくてはいけません。 A1の下に4つ列を追加する A2の下に4つ列を追加する     ・     ・     ・     ・ A200の下に4つ列を追加する というように、A200まですべてに4列ずつ追加します。 【現在】   A | B | C | D ------------------------------------- 1|あ ------------------------------------- 2|い ------------------------------------- 3|う ------------------------------------- 4|え ------------------------------------- 5|お ------------------------------------- 6|か ------------------------------------- 7|き 【列を追加する】   A | B | C | D ------------------------------------- 1|あ ------------------------------------- 2|   追加する ------------------------------------- 3|   追加する ------------------------------------- 4|   追加する ------------------------------------- 5|   追加する ------------------------------------- 6|い ------------------------------------- 7|   追加する A列にデータが200も入っているので、200回も『挿入』を繰り返すことになります。 とっても大変なので、簡単にやる方法があれば、教えてください。お願いします。

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

  • ベストアンサー
  • cyobin_man
  • ベストアンサー率24% (298/1216)
回答No.2

では マクロを使わない方法 まず データーが200までとして 列 AとBを 新たに追加します。 そして Aと Bに以下のように数字を振ります  Aは 1から順に200まで連番  Bは 1のみ   A | B | C | D ------------------------------------- 1| 1    1   あ ------------------------------------- 2| 2    1   い ------------------------------------- 3| 3    1   う ------------------------------------- 4| 4    1   え -------------------------------------    以下最後まで同様 そしてデーターの最後の行以下に 追加する行を作成します。    A | B | C | D ------------------------------------- 201| 1   2    ------------------------------------- 202| 1   3    ------------------------------------- 203| 1   4    ------------------------------------- 204| 1   5    ------------------------------------- 205| 2   2    ------------------------------------- 206| 2   3  ------------------------------------- 207| 2   4    ------------------------------------- 208| 2   5    -------------------------------------  と  Aは 1から順に200まで数字を4つ繰り返しながら連番  Bは 2から5までを 繰り返し 最後にデーターのソート  第1キーを A列の 昇順  第2キーを B列の 昇順  出来上がったら A・B列を削除。  数字入力はオートフィルで一発で出来ますね。  まずは ダミーのデーターを作ってから か     コピーを使ってやってください。  

love-dct
質問者

お礼

回答ありがとうございます。 教えていただいた方法でやってみました! できました!できました!! ありがとうございます。 並び替えって、今まで使ったことなかったんですが、便利ですね! ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (11)

  • beer55
  • ベストアンサー率33% (7/21)
回答No.12

こんにちは A列にデータが入力されている行まで、B列に1~7までの番号を入力(1、2、3、4、5、6、7) B8~B10セルに1.25、1.5 、1.75、 と入力 B8~B10セルを選択して下へオートフィル (2、2.25、2.5、2.75、3、3.25、3.5、3.75、4・・・等になる) 2、3、4、5等の整数はB1からB7に入力したのとダブりますが4行挿入には必要です B列を選択して、ツールバーの昇順で並べ替えアイコンをクリックする 以上

love-dct
質問者

お礼

回答ありがとうございます。 No.2の方法でやりました。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • jindon
  • ベストアンサー率43% (50/116)
回答No.11

No.9です。 質問よく読んでいませんでした。 Sheet2のA1に =INDEX(Sheet1!$A$1:$Z$200,SMALL(IF(Sheet1!$A$1:$A$200<>"",ROW($A$1:$A$200)),ROW(A1)),COLUMN(A1)) として、Ctrl+Shift+Enter で確定してから必要分フィルライト(右方向へコピー+ペースト) Sheet2のA2に =IF(MOD(ROW(),5)=0,INDEX(Sheet1!$A$1:$Z$200,SMALL(IF(Sheet1!$A$1:$A$200<>"",ROW($A$1:$A$200)),INT(ROW()/5)+1),COLUMN(A2)),"") として、同じく Ctrl+Shift+Enter で確定後フィルライト 後はA2の行(2行目)の必要分選択してフィルダウン。

love-dct
質問者

お礼

再度、ありがとうございます。 やはり、Sheet2というのがわかりませんでした。

全文を見る
すると、全ての回答が全文表示されます。
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.10

こんにちは。maruru01です。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=919019 ↑の質問はどうなったのでしょうか? なんの前触れも無く、いきなり締め切って、何の説明もなく同じ質問を再投稿するのはどういうことでしょうか? 上記の質問の私の回答(No.4)は、試されたのでしょうか?

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=919019
love-dct
質問者

お礼

maruru01さま、すみません!! 今、回答を拝見しました!! せっかく回答いただいたのに、申し訳ありませんでした。

全文を見る
すると、全ての回答が全文表示されます。
  • jindon
  • ベストアンサー率43% (50/116)
回答No.9

関数でSheet2に表示します。 基データの入力されたシートをSheet1として 1.下記の数式をコピー =IF(ROW()=1,INDEX(Sheet1!$A:$Z,SMALL(Sheet1!$A:$A,1),COLUMN(A1)),IF(MOD(ROW(),5)=0,INDEX(Sheet1!$A:$Z,SMALL(Sheet1!$A:$A,INT(ROW()/5)+1),COLUMN(A1)),"")) 2.Sheet2のA1をクリック→数式バーをクリック→貼り付けてください。 3.Sheet2のA1をクリックしてフィルハンドルを必要なだけ右+下方向へ 4.Sheet2をコピーしてそのまま形式を選択して張り付け→値にチェック では?

love-dct
質問者

お礼

回答ありがとうございます。 Sheet2とはなんでしょうか? すみません、わかりませんでした。 No.2で教えていただいた方法でやりました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.8

#3です。 すいません、一部訂正します。 E201に=E1+1 ではなくて E201に=E1+0.25 でした(>_<)

love-dct
質問者

お礼

わざわざありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.7

VBAなら標準モジュールに Sub test01() Dim sh1 As Worksheet Dim sh2 As Worksheet '----A Set sh1 = Worksheets("Sheet1") Set sh2 = Worksheets("Sheet2") '-----B j = 1 sh1.Activate d = sh1.Range("A1").CurrentRegion.Rows.Count For i = 1 To d sh2.Cells(j, "A") = sh1.Cells(i, "A") sh2.Cells(j, "B") = sh1.Cells(i, "B") sh2.Cells(j, "C") = sh1.Cells(i, "C") j = j + 5 Next i End Sub を貼りつけて実行すれ良い。 (自分自身の場合に向けて変更点) sh2.Cells(j, "A") = sh1.Cells(i, "A") sh2.Cells(j, "B") = sh1.Cells(i, "B") sh2.Cells(j, "C") = sh1.Cells(i, "C") A,B、C列をうつしてますが 列を加えてください E列なら sh2.Cells(j, "E") = sh1.Cells(i, "E") d = sh1.Range("A1").CurrentRegion.Rows.Count はデータがA1より開始しているときです。 第3行目からなら d = sh1.Range("A3").CurrentRegion.Rows.Count とし、 For i = 1 To d をFor i = 3 To d+2 にする。 Sheet1に空白行を入れる方法もありますが、間違える惧れが大きいので、Sheet2に実現。

love-dct
質問者

お礼

回答ありがとうございます。 すみません、ちょっと理解できませんでした。 No.2で教えていただいた方法でやりました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.6

先ほど似たような質問が出て、締めきられたのでは?。 関数式による回答を。 sHEET1にデータがあるとして sHEET2に望みの表を作ります sHEET2のa1に=sHEET1!a1と入れる。 sHEET2のa2に=IF(MOD(ROW(),5)=0,OFFSET(Sheet1!$A$1,INT(ROW()/5),0),"")と入れて、a3以下に式を複写します。sHEET1のデータの5倍の行まで 複写します。 b列は=IF(MOD(ROW(),5)=0,OFFSET(Sheet1!$A$1,INT(ROW()/5),1),"")といれ複写 c列は=IF(MOD(ROW(),5)=0,OFFSET(Sheet1!$A$1,INT(ROW()/5),2),"")と入れて複写です。 ---- あとsHEET2をsHEET2に値のみ複写して式を消しましょう。 VBAによる回答も出来ますが。

love-dct
質問者

お礼

回答ありがとうございます。 >先ほど似たような質問が出て、締めきられたのでは? すみません。質問の仕方が悪かったので、締め切って再度質問させていただいております。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
回答No.5

こんにちは 制御文字を検索できる機能がある多機能なテキストエディタ(秀丸エディタなど)を使用する方法です. Windows付属のNotepadでは使えませんのでご注意下さい. A1からA200までのセルを選択して,クリップボードにコピーします. それをそのままテキストエディタに貼り付けます. ---イメージ あ[改行] い[改行] う[改行] ・・・ --- そのあと,「改行」を「5つの改行」に置換します. ---イメージ あ[改行] [改行] [改行] [改行] [改行] い[改行] ・・・ --- テキストエディタ内のすべての文字を選択してクリップボードにコピーして,それをExcelへ貼り付けます.

love-dct
質問者

お礼

回答ありがとうございます。 こんな方法もあるんですね! 最近「置き換え」を覚えたばかりですので・・・ 何かの機会に利用させていただきます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.4

手作業には変わりませんがこんな方法もあります。 空いている列に1~200まで入力 (先頭の2行に1,2で下方にフィルハンドルでコピー) その1~200をその下に4回コピーします。 その列で並べ替えを行えばご希望の通りになります。 最後にこの列を削除すればOK

love-dct
質問者

お礼

回答ありがとうございます。 並び替えって、とても便利ですね! これから活用していきます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.3

横方向は列、縦方向は行といいますヽ(^。^)ノ で、マクロを使う方法はすでに出ていますので、ソートを使う方法を。 未使用の列(ここでは仮にE列とします)に、1から200までの連番を振ります。 (E1に1、E2に2と入れ、E1:E2を選択し、右下の四角をE200までドラッグ) E201に=E1+1と式を入れ、E201をE800までドラッグすると、E800に200.75となります。 E列を選択し、右クリック→コピー E列を選択し、右クリック→形式を選択して貼り付け→値 全セルを選択(Aの左、1の上の部分をクリック)し、データ→並び替えで、E列昇順でソートします。 最後にE列の中身をクリアしてください。 頑張ってくださいヽ(^。^)ノ

love-dct
質問者

お礼

回答ありがとうございます。 No.2の方法と同じような方法ですね。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel、列を追加する方法を教えてください!

    こんにちは。 Excelの使い方で悩んでいます。 今、A1~A200のセルまでテキストデータが入っています。 そのデータを編集しているところなのですが・・・。 各列に横の列を追加しなくてはいけません。 A1の横の列に4列追加する A2の横の列に4列追加する     ・     ・     ・     ・ A200の横の列に4列追加する というように、すべての列に4列ずつ追加するのですが、簡単にやる方法があれば、教えてください。 お願いします。

  • 列の追加について

    テーブルへの列の追加についてご教授をお願いいたします。 今、テーブルの列が以下のようにあるとします。 ■追加前の列 A B C この列に、Dという列を追加するときに、 ■追加後の列 A B C D にすることはできます。 このDを最後尾ではなく、BとCの間に挿入させるには どうしたらよろしいのでしょうか。 テーブルを削除し、定義をしなおさなければならない のでしょうか?そうすると、テーブルのデータを バックアップし、列を追加したものに対して、 データ修正・挿入という作業も発生します。 効率的に進められる方法について教えて頂けないでしょうか。

  • エクセルの行(列)挿入時の自動反映ついて

    ご教授いただけますと幸いです。 ・エクセルにて行(列)を追加した場合、特定のセルにて、追加された行(列)のセルを参照することは可能なのでしょうか? [例]  セルA-1にて、『=B1&C1&D1&E1』とあったとします。  DとEの間に列を挿入すると、『=B1&C1&D1&F1』となるかと思いますが、『=B1&C1&D1&E1&F1』としたいのです。 以上、何卒宜しくお願い致します。

  • エクセルで2列のデータを1列にする方法について質問です

    エクセルで2列のデータを1列にする方法について質問です エクセルで2列のデータを1列のデータにするときに A B 1 a 2 b 3 c   4 d 5 e ↓ A B a 1 b 2 c 3 d 4 e 5 となるようにするにはどうすればいいでしょうか?

  • エクセルで規則的に列を入れたいのですが・・・

    宜しくお願いします。 エクセル2003で規則的に列を挿入したいです。 例えば ============================= A   B  C  D 算数  国語 社会 ============================== という列があり、A列とB列、B列とC列の 間に10行くらいずつ列を挿入したいです。 列が100行くらいの中に全て7列ずつ挿入したいので 普通にやると時間がかかってしまいます。 なにかいい方法ないでしょうか? 教えて頂ければと思います。 宜しくお願いします。

  • Excel VBA : 追加でコピペする方法

    ExcelのVBAでマクロを作成したので教えて下さい。 sheet(1)C3からC列にDATAが入力済みです。 (同じく、D3からD列にもC列と同じ行数DATAが入力済みです。) DATAは、途中で空白セルは無く、全て埋められた状態です。 (つまり、C列とD列の使用されている行数は全く同じです。) それぞれのDATA(C列、D列)をコピーして Sheet(2)のB3(B列)とC3(C列)から下方にペーストするのですが、 Sheet(2)のB列とC列には既に旧DATAが入力済みなので 旧DATAは消去せず下側に追加する形式でコピペしたいのです。 (旧DATAの直下の行に新規にDATAを追加) 利用済みの行数を取得してコピーは下記で良さそうですが ?   Cells(3,3).end(xlDown).Row.copy 書き込み(ペース)で思考が停止状態です。 どのようにすれば良いでしょうか ?

  • エクセルマクロ、空白行(セル)の挿入

    データがA、B、C、D、E列100行まであります。 このうちD、E列を除き、エクセルのマクロで1行ごとに空白で10行挿入したいです。 (A、B、C、D列のデータに空白セルを10行分挿入し、下にシフトするイメージ。D、E列はそのまま。) ご教授頂きたく、お願いします。

  • エクセルでセルの結合について

    Excel2000を使用してます。 A列B列C列に入力した文字をD列に全て表示させたく、 下記のようにしました。   A列  B列  C列   D列     あ   い    う    あいう(計算式を=A1&B1&C1)   か   き    く    かきく(計算式を=A2&B2&C2)   上記のように、計算式を入れて希望通りの文字表示は 出来るんですが、それをメモ帳などにペーストすると "あいう" "かきく" のように"が入ってしまいます。 置換によって取ろうとしますが、エクセル上では該当がありませんとなります。 メモ帳に一旦ペーストして置換すると、”は取れますが、 横列も長い為エクセルにペーストし直すと、一つのセルに入らず、 複数の行に分かれてしまいます。 ””が入らずに、一つのセルに結合の値を出すには どうしたらよいのでしょうか?

  • テキストファイルのデータをエクセルへコピーのやり方

    よろしくお願いします。 エクセル2000を使っています。 テキストのデータで A1/B1/C1    /はスペースです。 D1/E1/F1    データの長さは全部違います。 A2/B2/C2     D2/E2/F2 A3/B3/C3     D3/E3/F3      ・    ・(続く) といったものがあります。これをエクセルで    A列 B列 C列 D列 E列 1行 A1 B1 C1 D1 E1 2行 A2 B2 C2 D2 E2  ・・・ 3行 A3 B3 C3 D3 E3  (続く)          ・          ・(続く) という感じで別々のセルにいれて貼り付けしたいのです。 テキストデータを別々のセルに貼り付けする方法は 過去ログで「区切り位置」というのをつかえばいいというのはわかりましたが、この場合の複数行にわたるテキストデータをエクセルの1行に貼り付けする方法がわかりません。また、データの長さが違うために「区切り位置」もうまくいきません。 良い解決法をお願いします。

  • Excelの列の表示??

    Excelで、あるデータをもらいましたが、 シートの上の1行の列幅 例えば”A”列の幅が”B、C、D”まで広がっていて、 セルをAから横にひとつ移動するといきなり”E”列までとんでしまいます。 2行目からはセルA→B→C→D→Eと移動します。 ”A”列には一つに収まる文字しか表示してありませんが、色で表題の区別をするためか横に広がっているようです。 これを通常通りに移動できるようにするにはどうしたらよいのでしょうか?

専門家に質問してみよう