• ベストアンサー

Excelにおける数値の並び替え

添付図に示すように、左側に縦に並んだ系列A~系列Eの5種類のデータを 右側のように横に並び替える方法を教えてください。 この例では各系列のデータは100個としていますが、実際には数万データあります。 excel2002を使用しています。 宜しくお願いいたします。

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

  • ベストアンサー
noname#204879
noname#204879
回答No.6

E7: =INDEX($B$7:$B$50000,(ROW(A1)-1)*5+COLUMN(A1))

aolhara
質問者

お礼

当方の説明不足にもかかわらず、意図する回答を早急に頂き、ありがとうござました。

その他の回答 (5)

noname#204879
noname#204879
回答No.5

E7: =OFFSET($B$7,(ROW(A1)-1)*5+COLUMN(A1)-1,)

aolhara
質問者

お礼

当方の説明不足にもかかわらず、意図する回答を早急に頂き、ありがとうござました。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.4

>この例では各系列のデータは100個としていますが、実際には数万データあります。 各系列のデータが数万あるのではなく、数万のデータ5つの系列に分けたいと言う意味ですね? セルの色で分けるのでなく、規則的に5つおきに飛んだセルを各系列に振り分けて表示したいということなら、以下のような数式を入力し、右方向に5つ下方向にデータ数分だけオートフィルします(元データがA1セル以下に入力されている場合)。 =OFFSET($A$1,(ROW(A1)-1)*5+COLUMN(A1)-1,0)&"" データが文字列でない場合は、最後の「&""」の部分を削除してください。

aolhara
質問者

お礼

当方の説明不足にもかかわらず、意図する回答を早急に頂き、ありがとうござました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.2です! 前回のコードで一部誤りがありました。 If Cells(i, 1) >= (j - 3) * 100 And Cells(i, 1) < (j - 2) * 100 Then の行を If Cells(i, 1) > (j - 3) * 100 And Cells(i, 1) <= (j - 2) * 100 Then に訂正してください。 余計な等号が一つ入っているために、100・200・・・等の区切りの良い数値が隣の列に表示されてしまいました。 検証せずに投稿してごめんなさいね。m(__)m

aolhara
質問者

お礼

当方の説明不足にもかかわらず、回答を早急に頂き、ありがとうござました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 外していたらごめんなさい。 A列のデータを100毎に別列に昇順に表示すれば良いわけですよね? 一応そういうことだとして、VBAになってしまいます 一例ですがコードを載せておきます。 A列の1行目からデータがありC列以降に表示させるとします。 画面左下にある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() 'この行から Dim i, j As Long For j = 3 To WorksheetFunction.RoundDown(WorksheetFunction.Max(Range("A:A")) / 100, 0) + 2 For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row If Cells(i, 1) >= (j - 3) * 100 And Cells(i, 1) < (j - 2) * 100 Then Cells(Rows.Count, j).End(xlUp).Offset(1) = Cells(i, 1) End If Next i Next j Dim k, L As Long For L = 3 To ActiveSheet.UsedRange.Columns.Count k = Cells(Rows.Count, L).End(xlUp).Row Range(Cells(2, L), Cells(k, L)).Sort key1:=Cells(2, L), order1:=xlAscending Next L MsgBox "操作が完了しました!" End Sub 'この行まで 数万データあるということなので結構時間がかかると思います。 こんな感じではどうでしょうか?m(__)m

aolhara
質問者

お礼

当方の説明不足にもかかわらず、回答を早急に頂き、ありがとうござました。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

どんな理由でグループに分けられているのか,説明できる理由もなくただ「色が付いている」としか言えないのでしたら,関数や操作では出来ません。 マクロを併用し,セルに塗った色を隣のセルに書き出して,そちらを並べ替えて再配置してください。 get.cell 24 をキーワードに検索してみると4.0マクロ関数という古いマクロを使った方法が多数ヒットしますが,もうちょい使いやすくすると 手順: ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける function getcolor(byval target as excel.range) getcolor = target.cells(1).interior.colorindex end function ファイルメニューから終了してエクセルに戻る 色を塗ったセルの隣に =getcolor(B7) のように式を入れ,リストの下端までコピーし,全体を並べ替える 同じ色のグループが並んでまとまるので,コピーして移し替える 作業が終わったらシートごと新しいブックに移動又はコピーし,マクロごとブックを破棄する 以上です。 一方「グループ分け」の理由がちゃんとあって説明できるなら,そしてその説明がエクセルで計算できる論理的な内容なら(簡単な例:グループ1は1から100まで,グループ2は101から200までなどのような),その理屈をきちんと言葉にして説明して改めてご相談を投稿してみてください。 数式を使い,グループを計算してそちらを基準に関数だけで処理も出来ますし,また前述同様並べ替えてコピーして集めてしまえばすぐに出来上がりです。 #参考: 最新のExcel2007以降を利用できれば,セルに塗った色を基準に並べ替えたり,オートフィルタで絞り込んでグループごとに集めてしまうコトも簡単にできるようになりました。

aolhara
質問者

お礼

当方の説明不足にもかかわらず、回答を早急に頂き、ありがとうござました。

関連するQ&A

  • データの並び替えについて

    添付図左【元データ】のような系列ごとに並んだデータ(1つの系列に何種類かデータがあります)を、右図の【変更後】のように種類順で並び替えるにはどのようにするのが良いですか? 教えてください。 EXCEL2010とEXCEL2003を使用しています。 よろしくお願いいたします。

  • Excel 2007の使い方

    Excel 2007の使い方 Excel 2007を使っていて、グラフを作成しようとしています。 ある2つのデータを散布図で表していて、右側にはデータAの目盛、左側にはデータBの目盛といった感じにしたいのですがやり方が分からず困っています。 すみませんがやり方の分かる方よろしくお願いします

  • エクセルのセルの並び替え

    エクセル2002のセルの並び替えをしたいと思います。   A B C D E 1 ● ● ● ● ● 2 ● ● ● ● ● 3 ● ● ● ● ● 4 ● ● ● ● ● 5 ● ● ● ● ● のセル●にそれぞれ別のデータが入ってます これを下記のように並べ変えるにはどうしたら良いでしょうか?        A          B 1 (元のデータの)A1 (元のデータの)A2 2 (元のデータの)A1 (元のデータの)A2 3 (元のデータの)A1 (元のデータの)A3 4 (元のデータの)A1 (元のデータの)A4 5 (元のデータの)A1 (元のデータの)A5 6 (元のデータの)B1 (元のデータの)B2            ↓          つづく もし不可能なら横のデータを縦にする方法だけでも良いので教えてください。お願いします。

  • Excel 2010での散布図の作成方法

    Excel 2010で相関を見る散布図を作りたいのですが、うまくいきません。 こちらのサイトで例に出ているような、横軸が系列1で縦軸が系列2の散布図を作りたいのですが、 http://hitorimarketing.net/tools/correlation-analysis.html サイトに書かれている、縦2列のデータを見出しを除き選択→挿入タブの散布図をクリック という方法では、2系列のデータなのに1系列の(横軸がデータ数・縦軸が数値の)散布図になってしまいます。 Excelに詳しい方、教えてください。

  • excelでデータの並び替えができません。

    こんばんは。 エクセルについて、データの並び替えがうまくできず、悩んでいます。 以下のように、A列がキーになっているデータがあります。 A列 | B列 uni | 1 uni | 2 ika | 11 ebi | 21 ebi | 22 ebi | 23 これを、以下のように、キーごとにグルーピングして、さらに縦→横に並べたいと考えています。 C列 | D列 | E列 | F列・・・ uni | 1 | 2 ika | 11 ebi | 21 | 22 | 23 キーとなるA列のデータは、1個のときがあれば複数個の時もあり、 関数を駆使して頑張ってみたのですが、うまく出来ませんでした・・・。 良い方法がありましたら、教えていただけないでしょうか?? 宜しくお願いします。

  • エクセルの散布図の作成で…

    エクセルの散布図の作成で… こんにちは。エクセルの散布図の作成で、 横軸が同じ二つのデータを、二種類の縦軸をつかって一つの 散布図に表したいです。 図の縦軸Aを左側に、縦軸Bを右側に表して、一つの図にまとめ たいのです。 ソフトはマイクロソフトオフィス2007です。 作成方法、あるいはそれが乗っているサイトなどご紹介いただける とたすかります。よろしくお願いいたします。

  • 一番大きな数値の色を変えたいのですが(エクセル)

    エクセル2003使用です。 成績表を作成しています。横に科目、縦に社員の名前 があります。 例えば A1=100 B1=25 C1=43 D1=125 E1=88 と入力されている場合にA1~E1の中で一番大きな数値 を赤色に変えたいと思っています。 この場合はD1セルの文字が赤くなります。 条件付書式とか関数でできるでしょうか?

  • エクセル2003でcountifsと同等の効果

    エクセルを使用して、スキャニングしたデータの用紙サイズの集計を したいと思っています。 添付画像の様に、左側にサイズ一覧の表を作り、右側に作った表で 集計結果を表示したいと思っています。 画像ではCOUNTIFSを使用し、A列とE3が合致した範囲のC列からF2を カウントする条件としてF3に、その数を表示させるという方法をとっていますが 実際に作業を行うPCにはエクセル2003しか入っていません。 これと同様の効果を2003で行うことは可能でしょうか? よろしくお願いします。

  • エクセル データの並び替え

    使用PC:DOSVマシン 使用OS:WinXP 使用ソフト:Excel2002 横(行)に、各セルに順番に日付、データ、日付、データ・・・と並んでいるものを A列:日付 B列:データにして、縦に転換したいのですが・・・ 図解 (1)横に各セルにこのように展開しています(区切り位置指定ウィザード使用後) 2002.3.1 190.15 2002.3.4 192.35 2003.3.5 193.48・・・ (2)これを、 A列:日付 B列:データ 2002.3.1    190.15 2002.3.4    192.35 2003.3.5    193.48  ・        ・  ・        ・ としたいんでごわす、ご教授お願い致します。

  • Excel で 並び替えを教えてください。

     添付図のように、A列に1~4など入力すると並び変えられます。 しかし、B列に図のように干支を入力したとたんに、並び替えができなくなります。  データを複数行に入力した場合に行を崩さないで、データの並び替えをすることができますか?   

専門家に質問してみよう