• ベストアンサー

excelの並び替え

WWolfの回答

  • WWolf
  • ベストアンサー率26% (51/192)
回答No.4

ベタなマクロですが Sub test() With Worksheets(1) For i = 0 To 65535 / 15 Worksheets(2).Cells(i + 1, 1).Value = .Cells(i * 15 + 1, 1).Value Worksheets(2).Cells(i + 1, 2).Value = .Cells(i * 15 + 3, 1).Value Worksheets(2).Cells(i + 1, 3).Value = .Cells(i * 15 + 15, 1).Value If .Cells(i + 1, 1).Value = "" Then Exit For End If Next End With End Sub

kuro555
質問者

お礼

素早い返答ありがとうございます。 マクロですね。私のレベルでは難しいかと思っていましたが、 具体的に書いていただいたので 後でやってみようと思います。 ありがとうございました。

関連するQ&A

  • エクセルの並び替えについて!!

    エクセルで住所録を作りたいのですが、いい方法があれば教えてください。 規則的にならんでいるので、できそうな気がするのですが、わたしの知識では無理です! 現時点でのならび順は以下の通りです。 「会社名1  (空欄の行)  住所  備考  電話番号  (空欄の行)  (空欄の行)  会社名2  (空欄の行)  住所  備考  電話番号  (空欄の行)  (空欄の行)  会社名3  ・  ・  ・  」 これを 「会社名1 住所 備考 電話番号  会社名2 住所 備考 電話番号  会社名3 住所 備考 電話番号  ・  ・  ・  」 というように並べ替えたいです。 手動で切り貼りするには膨大な量で8000社分くらいあるので、エクセルの機能でいい方法があれば教えていただきたいです!よろしくおねがいします。      

  • エクセルのデータ加工

    エクセルのセルで、縦に1行目名前A、2行目住所A、3行目電話番号A、4行目名前B、5行目住所B、6行目電話番号B・・・、という具合に並んでいるデータを横に1列目1行目名前A、1列目2行目名前B、2列目の1行目住所A、2列目の2行目住所B、3列目の1行目電話番号A、3列目の2行目電話番号B、という風に加工したいのですが、一つ一つセルを移動するのではなく、なにか良い方法はありませんでしょうか?ちなみにデータは1000件ほどあるのですが。

  • Excel シート間のデータの照合

    Excelで、シート間のお客様データ(だいたい各1万件)を照合します。下記は現在の照合方法ですが、これでは時間がかかるうえ手作業が多く発生しミスにつながります。頻繁に行う作業なので、関数でも、マクロでも、とにかくもう少し簡単にできる方法がありましたら、どうぞご教授ください。よろしくお願いします!! 【目的】 シート「sheet2008」には2008年度のデータ。シート「sheet2007」には「sheet2008」と同じ形式の2007年度のデータが入っています。シート「sheet2008」に、そのお客様の2007年度の担当営業マンを表示させたいのです。 【例】 列A(電話番号): 011-231-1112 列B(名前):佐藤 一郎 列C(住所):北海道札幌市中央区北1-1-1 列D(担当営業マン):鈴木 新規の列(2007年度の担当営業マン):鈴木  ・「sheet2008」「sheet2007」はほぼ同じデータですが、一部のお客様は名前が変わっていたり、住所が変わっていたりします。  ・「sheet2007」にないお客様が「sheet2008」にあったり、その逆があったりして、各シートのデータ件数は一致しません。  ・名前が同じでも住所が違うデータ、電話番号が同じでも担当営業マンが違うデータは別者として扱います。  ・「顧客ID」のような“必ずユニークな情報”は存在しません。 【現在の照合方法】 (1)「sheet2008」の各列の前に空白列を挿入する。  (データの1行目はタイトル行…B1:電話番号/D1:名前/F:住所/H:担当営業マン)  (データの2行目以降はデータ)     列A(空白行):     列B(空白行): 011-231-1112     列C(空白行):     列D(名前):佐藤 一郎     列E(空白行):     列F(住所):北海道札幌市中央区北1-1-1     列G(空白行):     列H(担当営業マン):鈴木 (2)「sheet2007」を列Aの電話番号で昇順に並べ替える。 (3)「sheet2008」の電話番号が「sheet2007」にあるかを調べる。     A2:「=IF(B2=(VLOOKUP(Sheet2008!$B2,Sheet2007!$A:$D,1,0)),"○","▲")」 (4)(3)で調べた「sheet2008」の電話番号と同じ行にある名前/住所が「sheet2007」にあるかを調べる。     C2:「=IF(D2=(VLOOKUP(Sheet2008!$B2,Sheet2007!$A:$D,2,0)),"○","▲")」     E2:「=IF(F2=(VLOOKUP(Sheet2008!$B2,Sheet2007!$A:$D,3,0)),"○","▲")」 (5)電話番号/名前/住所がすべて一致するデータについて、「sheet2007」にある担当営業マンの値を列Gに表示させる。     G2:「=IF((AND(A2="○",C2="○",E2="○"))=TRUE,(VLOOKUP($B2,Sheet2007!$A:$D,4,0)),"▲") (6)"▲"やエラー値で表示される計算結果について、目視で確認する。 (終了)

  • 別シートのデータを抽出して並べ替えたい

    シート1のA列だけに1行飛ばしで名前、住所、電話番号のデータが入っています。ついでに、次の情報との間は2行飛ばしになっています。    A         B ―|―――――|―――――― 1|名前a  | 2|     | 3|住所a  | 4|     | 5|電話番号a| 6|     | 7|     | 8|名前b  | といった感じです。 このデータを下のように、シート2に綺麗に並べ替えたいのですが…     A      B         C ―|―――――|―――――|―――――――| 1| 名前a | 住所a | 電話番号a | 2| 名前b | 住所b | 電話番号b | 3| 名前c | 住所c | 電話番号c | ひとつずつコピペで移そうと考えていたのですが、データが何百件と増えてしまったため困っています。 簡単にできる方法があれば教えてください。 よろしくお願いします。

  • エクセル並べ替え教えてください

    エクセルに詳しい方教えてください、お願いします。 シート1のA1セルに名前B1に住所C1に・・2行目以降も同じようにデータを入力し 各列の最後に移し変えたい行データに○を入力したものを、丸印の行データのみを、シート2の1行目から順番に移し変えが出来るようにしたいのですが    A    B    C    D    E 1 名前  住所 電話  データ   ○ 2 3                      ○ 4 1行目と3行目の○をつけた行データを別のシートの1行目、2行目と順番に移し変える方法を教えてください。 よろしくお願いします。

  • Excelでの並び替え

    Excel2002です。 香典帳を作成しています。 A列 名前 B列 住所 C列 金額 D列 備考 です。 それで、入力が終わったのですが、後からみる場合、名前が五十音順になっていたほうが見易いので、そのようにしたいのでですが、そのような事は出来ますでしょうか?

  • エクセル 複数シートのデータをまとめたい

    他の質問を参照したのですが、できないのでお願いします。 新しいシート(ブックでもいいです)に次のデータを ひとまとめにしたい。 外国語テストのデータです。 (1)ひとつのブックにシートが十枚ある (2)列a2~h2 行2~29までデータがある。 (3)列a番号(a2が1、a29が28)  列b空欄  列c日本語  列d外国語 この構造を倍にしているのでa~hにデータが並んでいる。 これを、 つまり、8×28のデータが各シートにあるわけですが 【ひとつ】 できればシート1のデータの下 29行目からシート2のデータ、58行目からシート3… というように並べたい。 【ふたつ】 更にできるならa~dの下にe~hを持ってきて 4×56の並びにして 57行目からシート2のデータ…というように並べたい。 データの並びは列a列eの番号順を保持できたらうれしいです。 どうぞよろしくお願い致します。

  • エクセルのデータ並び替えについて教えてください。

    エクセルのデータ並び替えについて教えてください。 セブン エクセル2007 です、初心者ですよろしくおねがいします。 1行目に表題(○○会名簿)と入力 A列とB列を結合して中央揃えしました。 2行目にA例は名前 B列は住所と入力 3行目からは上記に添い名前、住所と入力してから、数行を過ぎたところで 名前のA列昇順にデータを並びかえようとしたら、1行と2行目も混ざり並び替えられました。 3行目以下を並び替えすることはできないのでしょうか? 方法を教えてくださいませ

  • ExcelのVBAについて

    ExcelのVBAについて VBA全くの初心者です。 以下のような処理を行いたいのですが、どなたかご教授をお願いします。 以下のように支店(1)~(3)のシートがあります。 1.入力シートに調べたい商品No・商品名・備考を入力する(複数行あり) 2.マクロを実行すると、商品Noを検索対象として支店(1)~(3)シートをチェックし、   一致しない行を不一致データシートに出力する もう一つ別のマクロで、 1.入力シートに調べたい商品No・商品名・備考を入力する(複数行あり) 2.マクロを実行すると、商品Noを検索対象として支店(1)~(3)シートをチェックし、、   一致する行を一致データシートに出力し、D列に対象データがあるシート名を表示する   ※可能でしたら、E列に対象データがある行番号も表示する -------------------------------- シート名:支店(1) A      B     C 商品No   商品名   備考 011    商品A   備考A 009    商品B   備考B 015    商品C   備考C -------------------------------- シート名:支店(2) A      B     C 商品No   商品名   備考 008    商品A   備考A 023    商品B   備考B 004    商品C   備考C -------------------------------- シート名:支店(3) A      B     C 商品No   商品名   備考 007    商品A   備考A 033    商品B   備考B 018    商品C   備考C -------------------------------- シート名:入力シート A      B     C 商品No   商品名   備考 ※ここに複数行入力する -------------------------------- シート名:不一致データシート A      B     C 商品No   商品名   備考 ※ここに出力される -------------------------------- シート名:一致データシート A      B     C 商品No   商品名   備考 ※ここに出力される

  • Excel 対象行のみ別シートに表示したい!

    こんな事できますでしょうか?? Sheet1に住所録の表を作成したしました。 A列 郵便番号 B列 住所 C列 名前 A列に郵便番号が、入っている行のみSheet2に表示したいのですが・・・ その際、歯抜けではなく空欄行が出来ないようにしたいのです。 おわかりの方教えてくださーい!