• ベストアンサー

エクセルでのデータの並べ替えについて

エクセルのデータの並べ変えについてなのですが A列に商品番号がはいっています。 B列にその商品の年代が入っています。 C列には商品内容 D列には詳細 E列には値段 となっているのですが A列にあわせて並べ替えをすることは できるのですが 更にA列で並べかえしたあと それぞれの商品番号の中で今度はB列にあわせて 並べ替えをしたいのです。 つまりこういったかたちです。 AA-AB-01 1998-02 AA-AE-03 1998-05 AA-AA-03 1997-01 AA-AA-05 1995-12 AA-AB-03 1997-01 AA-AB-10 1995-01 であった場合は こうしたいわけです。 AA-AA-05 1995-12 AA-AA-03 1997-01 AA-AB-10 1995-01 AA-AB-03 1997-01 AA-AB-01 1998-02 AA-AE-03 1998-05 としたいわけです。 つまり AA AB AE で区別して その中で年代順にしたいのですが それをそれぞれ手作業でやるのではなく 一括で行う方法がぜひしりたいです。 よろしくお願いします。

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

  • ベストアンサー
回答No.5

A列に「AA-AA-05」と商品番号が入っているのでしたら、 「AA-AA-03」の方が小さいとみなされますので、 B列の年代がいくら小さくても、「AA-AA-03」が先になります。 使っていない列、(便宜上、F列とします。)F列に、A列の5文字分を抜き出します。 F1に「=LEFT(A1,5)」と入力して、下方向にコピーします。 そして、最優先されるキーにF列を選択、2番目に優先されるキーにB列を選択する。

syousyou
質問者

補足

なるほどー。 まったく気づきませんでした。 言われればそのとおりですよね。 ありがとうございます。 長年(笑)不便さが解決できました。 ありがとうございました。

その他の回答 (5)

  • lunch326
  • ベストアンサー率27% (86/311)
回答No.6

#4さんのを見て、なんとなく質問がわかってきたような。 そっかーA列がAA-AB-01とかいうやつなのですね。 A列を選択して、データ、区切り位置で、A列(AA)、B列(AB)、C列(01)に分けてしまったら? そしたら、並び替えの自由度がもっと上がると思いますが。

  • fiva205c
  • ベストアンサー率43% (234/533)
回答No.4

ちょっと分かりにくいのですが、A列は AA-AB-01 AA-AE-03 AA-AA-03 AA-AA-05 AA-AB-03 AA-AB-10 なんですよね。 単純にこれを並び替えれば AA-AA-03 AA-AA-05 AA-AB-01 AA-AB-03 AA-AB-10 AA-AE-03 になりますよね だけど、頭のAAと後ろの数字は無視して、真ん中の-○○-だけで並び替えたいのですよね。 でしたら別の列に-○○-の部分だけ取り出して並び替えたらどうですか。

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

説明が長いですが、要は、第1ソートキーがA列の文字列全部でなく、一部であることが特徴なだけでしょ。 質問例では、第1ソートキーは左から2桁(AA)か5桁か (AA-BB)なのかハッキリしないが一部であるのですね。 第2キーは、B列全体ですね。 エクセルでは、第1ソートキーを別列に一旦セットしないと(LEFT関数やMID関数で)、目的のようにはできません。 他言語ではソートキーにする部分(開始桁、連続桁数)を 指定できるものもありましたが、エクセルはそれは出来ません。 逆にそれさえ辛抱できるなら、何ら難しいことはないのではないでしょうか。

syousyou
質問者

補足

すみません、なるだけわかるようにと 思いまして長々と説明してしまいました。 解決することができました。 またよろしくお願いします。

  • lunch326
  • ベストアンサー率27% (86/311)
回答No.2

データ、並べ替えの時に、 先頭行の選択、タイトルとデータのチェックの設定ちゃんとなってます? それから、昇順と降順のチェック。 質問の内容だと、A列とB列は降順でC列が昇順になるのかな? それとも全然違う理由でできないのかもしれないですね。だから自信なしです。

syousyou
質問者

補足

ええこちらの説明が足りてませんでした。 A列についはて AA-AB-01 ならば ただABだけをまとめられればいいんです。 で、01とゆう番号の順番はどうでもいいんです。 そのABの商品番号の中で B列にある、年代の順番に並べ替えられれば いいんです。

  • lunch326
  • ベストアンサー率27% (86/311)
回答No.1

ワークシートの角をクリックして全枠を選択。 データ、並べ替え、最優先されるキーにA列を選択、2番目に優先されるキーにB列を選択する。 3番目に優先されるキーにC列を選択も可能。

syousyou
質問者

補足

さっそく返信ありがとうございます。 こちらの方はためしたのですが できませんでした。 やりかたが悪いのでしょうか? ただ、こちらでやったやり方は ご指摘いただきました方法と同じなのですが ちなみにつかっているエクセルは2000です。