• ベストアンサー

EXCEL2000で並べ替えをしたいのですが?

あるフィールドに数値(文字扱い)と文字列が混在しています。 項目 201 2AB 2CD 111 2桁目は英字→数字の順にしたいのですが、降順で並べ替えると、 項目 2CD 2AB 201 111 になります。 これを何とか 項目 111 2AB 2CD 201 と並べ替えられないでしょうか?

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

  • ベストアンサー
  • ki-aaa
  • ベストアンサー率49% (105/213)
回答No.3

A列にデータがあるとして、B列に次の式を入れます。 =LEFT(A1,1)&IF(MID(A1,2,1)<="9","1"&MID(A1,2,1),"0"&MID(A1,2,1))&RIGHT(A1,1) AB列を範囲指定して、B列をキーとして並び替えをすれば、望みどおりの結果が出ます。 エクセル2000で使用できました。

ponchan777
質問者

お礼

有難うございます。 確かに思った通りの結果が返ってきました。 関数を組み合わせることで出来るんですね!助かりました。

その他の回答 (2)

  • oresama
  • ベストアンサー率25% (45/179)
回答No.2

仮に当該データがA列にあるとします。 B列はLEFT関数でA列の1桁目を抽出 どこかに A 1 B 2 : : : : 0 27 1 28 : : 9 36 というリストを作って、 B列に =vlookup(mid(元データ,2,1),リストの範囲,2,0) で強引に順位付けするのはどうでしょうか。

ponchan777
質問者

お礼

試したところ、元データで文字列の部分に#N/Aが表示されましたが参考になりました。 有難うございました。

  • oresama
  • ベストアンサー率25% (45/179)
回答No.1

LEFT関数 MID関数 RIGHT関数 で 3つにばらして、並べ替えしたらいかがでしょう。 LEFTで抽出した1桁目を昇順 MIDで抽出した2桁目を降順にしたら どうでしょうか。

ponchan777
質問者

補足

有難うございます。 関数でばらして並べ替えも考えたのですが、アルファベットABC順のあとに数値を表示したいのです。

関連するQ&A

  • エクセルの文字列並べ替えについて

    エクセルの文字列並べ替えについて エクセル2000です。 半角文字列の数字とアルファベットを通常のエクセルの機能で昇順で並べ替えた場合 012 013 111 1AA 1B1 211 222 22C 23A 2AB 2BC のように並ぶと思います。(ここでの数字は数値でなく、すべて文字列です) 数字→アルファベットの順番のようです。 これを「アルファベット」→「数字」の順番で並べ替える方法はないでしょうか? 以下のような順にです。 ユーザー定義のリストに基づいた並べ替えがあることは存じていますが、3桁だけでも英数混在だと36×36×36=46,656個のリストを登録しなければならないことになり、現実的と思えません。 目的は、ホストコンピュータから出力される紙のデータがなぜかこのような順で出てきて、それにエクセルで作成したデータをあわせる必要が出てきたためです。 012 013 1AA 1B1 111 2AB 2BC 211 22C 222 23A エクセルの一般機能でもVBAでもかまいません。ご教示いただけると幸いです。

  • 【Excel VBA】並べ替え

    Excel2003を使用しています。 あるテキストファイルから必要なデータを抽出し、予めExcelで作成してある表に、抽出したデータをコピーするという作業をマクロで処理しています。 Excelの表は、A列→4桁の番号(数値)、C列→文字列、D列→数値で、A列の番号順(昇順)に表示されています。 抽出されたデータは、2行目以下に表示されるので、まず、A2セルに『0000』、C2セルとD2セルにそれぞれ該当のデータがコピーされ、以下、順番にコピーされます。このA2セル『0000』の行データをコピーされたデータの一番最後にもっていき、下記のように上方向へシフトさせたいのですが、このようなことはコードを追加することで可能でしょうか?    A列  C列  D列 2  0000  あ  100 3  1200  い  200 4  1500  う  300        ↓ 2  1200  い  200 3  1500  う  300 4  0000  あ  100 データ元のテキストファイルは、会社で使用しているシステムの機能を使って、テキストファイルにしたものです。このデータが昇順で表示されているので、こちらを並べ替えてマクロを実行すればいいかと思ったのですが、数値と文字列が混在しているので、Excelの表にコピーした後(数値と文字列の混在がなくなった後)に、上記のように並び替えることができればと思い、質問させていただきました。 よろしくお願いします。

  • 【Excel・並べ替え】かな、アルファベット、数字などの順序

    「Excel」においての「並べ替え」で、文字における昇順、降順をしたときの順序には決まりがあるのでしょうか? また、数字、アルファベット、かな、カタカナ、漢字が一列に混在している列を昇順にしたところ、この順序で並べ替えられていましたが、漢字のあとにさらにカタカナが並べられていました。これはなぜなのでしょうか? また、あるリストをあいうえお順にしたいのですが、上のようにいろいろな文字種類が混在していますと、区分されてしまいますが、あいうえお順にしたい場合にはどうすればよいのでしょうか?その語彙のかな表記を隣の列に足して、それらも並べ替えの枠組みに入れてに実行する…しかないのでしょうか?

  • EXCELの並べ替えについて

    エクセルで、セル内に文字と数字を組み合わせたデーターの並べ替えがうまくできません。 一行目に「ユ、チ、ホ、キ」のいずれかのカタカナ1文字と5桁の数字を組み合わせたデータの並べ替えを行うと、 数字の部分が並べ替えがされません。 ・オプションのユーザ設定リストで「ユ、チ、ホ、キ」と設定し、数字は昇順に並べたい。 <例>降順で設定すると、 ユ72035   ユ02100 ユ02020 ユ00393 ユ00285 チ34600 チ09650 チ02860 チ02845 チ00300 チ00055 キ00110 ユ、チ、キの順となりますが、数字の部分は、降順になってしまいます。 降順で設定すると キ00110 チ00055 チ00300 チ02845 チ02860 チ09650 チ34600 ユ00285 ユ00393 ユ02020 ユ02100 ユ72035 文字の部分がキ、チ、ユと逆になり、数字の部分が、ばらばらです。 どのように設定すれば、先頭文字がユ、チ、キ、ホの順の数字部分が昇順になるでしょうか? よろしくお願いいたします。

  • excel2003並べ替えについて

    オラクルのデータをexcelにコピーしてきて、そのデータを並べ替えでソートするとソートが正しく行われない。 1-Sep-2004 2-Sep-2004 ・・・ 上記の様な日付データの列を「並べ替えで」にて 「昇順、降順」両方でソートしてみた所 おおよそソートされているものの、Decの間にSepが きていたりと部分的にソートが正しくされていませんでした。 「書式設定」にて日付や数値など試してみましたが 変わりありませんでした。 OfficeXPがインストールされているマシンで同様に「並べ替え」を行うと、並べ替えの条件を設定するポップアップ後にもう一つポップアップが表示され内容は ------ 並べ替えに選択されたデータ範囲には数値形式とテキスト形式が混在している ・数値として処理 ・??? ------ のように二つの選択肢が表れます。 数値として処理をすると正しくソートされ、もう一つを選択すると2003での結果と同じくソートが正しくされませんでした。 もとのデータはどのように作成されたのか詳しくは わかりません。社内でOfficeが段階的にバージョンアップされてきており、このような質問を受けており困っております。宜しくお願いいたします。

  • ○進数の計算

    直接VisualBasicとは関係ないですが、VBAのプロジェクトで ○進数の考え方で、英字を数値へ 数値を英字へ変換しているのですがどうしても理解できない事があります。 A B C AA AB AC BA ・ ・ ・ 上記のような法則があるとします。 A-Cを数字に置き換えます。 A -> 0 B -> 1 C -> 2 文字→数値の計算式は 1桁目 A-Cの数値×3回毎に繰り上がるので3×1桁目は0乗 2桁目 A-Cの数値×3回毎に繰り上がるので3×2桁目は1乗 Aを数字に置き換えると 1桁目 Aは、0*3の0乗=0です。 期待通りです。 AAを数字に置き換えると 1桁目 Aは、0*3の0乗=0です。 2桁目 Aは、0*3の1乗=0です。 0 + 0 = 0 期待している値は3です。 BCを置き換えると 1桁目 Cは、2*3の0乗=2 2桁目 Bは、1*3の1乗=3 2 + 3 = 4 期待している値は8です。 3を文字に置き換えると 数字÷3回毎に繰り上がるので3 = 商 ・・・余り 余りで、文字列を引いてきます。 3÷3=1 ・・・0 -> A 2桁目は、1回目の商÷3       1÷3=切捨てで0 ・・・1 - > B B + A = BA 期待値はAAです。 これらは、1つずれて期待している値とは違う値が返ってきていると思うのですが、考え方で理解することができません。 どうしてこのようなことになるのでしょうか? 頭が混乱して考えても分かりません。よろしくお願いします。

  • Excel2010のCOUNTIF関数で誤動作

    A列に20桁の数字ばかりの「文字列」が入ったセルが1000行ほどあります。 A列の書式は文字列に設定してあります。 特定のセルの中身が重複してないことを確認しようと。 B1=COUNTIF(A:A,A1) のようにしたところ、うまく動きませんでした。 調査したところセル先頭から15文字までしか認識してくれません。 文字列扱いして欲しいのですが、数字ばかりなのが気に入らないようです。 数字だけのまま20桁認識させる方法は無いものでしょうか?

  • エクセルでの並べ替え

    エクセルド素人です^^; 使っているのはExcel2000です。 csvで読み込んだ住所録をアイウエオ順でなく 郵便番号や電話番号などの「数字順」に並べ替えたいのですが 並べ替えをすると対象にした数字の列だけが並べ替えられ 全体の並びはそのままになってしまう (名前がアイウエオ順のまま他人の情報に並べ替えられる)ため 住所録として使えなくなってしまいます。 何かの設定が悪いのだとは思いますがどこをどうすればいいのか分かりません^^; セルの書式、と言う項目があったのでここを「標準」から「数値」に変えてみたのですが結果は同じでした。 使いこなせてる方にはつまらない質問とは思うのですが 手元にあるガイドブックを見たり同様の質問を探してみたのですが 解決せず、困っています。 よろしくお願いいたします。

  • Oracle8での数値チェック

    現在、Oracle8.1.7で開発しております。 検索する条件として、『数値かどうか』または『文字列かどうか』 という判断を行いたいのですが可能でしょうか? やりたい事は、以下のデータの右から2桁目が数値となっているものと 文字列になっているものとを区別したいのです。  ○○○○-A01  ○○○○-C99  ○○○○-AB1  ○○○○-Z21     : 設計上、すべてのフィールドは『VARCHAR2』となっています。 よろしくお願いしますm(_ _)m

  • ExcelVBA CSV読込書き込み

    ExcelVBAです。Excelバージョンは2003,2007です。 CSVファイルを読み込み、書き換えて、別のファイル名で保存します。 一通りできるのですが、次の場合どの様にしたら良いでしょうか? CSVのデータ項目が、20桁ほどの数値、住所などの文字列、5桁ほどの数値となっています。 20桁ほどの数値は文字列扱いにしたいのですが、Excelでは指数表示になってしまいます。 そのままCSVとして保存すると指数で保存されてしまいます。 これを文字列として表示し、CSV保存でも文字列として保存したいのです。 よろしくお願いします。

専門家に質問してみよう