• ベストアンサー

エクセルのソート

例えば、以下のような数字があり、これをB列の昇順でソートをかけた場合、B列にある5の数字を含む行が、1番下にくるとはずですが、そうなりません。なぜでしょうか? A列   B列 15200  1 15150  1 15150  1 15100  5 15000  1 セルに空白もありませんし、念のため手打ちで5と打ち直しています。範囲指定も、全部しており、問題ないと思うのですが、そうならないのは、他に何か原因があるのでしょうか?

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 可能性としては、 1."1"が"'1"になっている(セルの書式設定が標準だと表示上は"1"に見える) 2."1"が"1"(全角)になっている("1"は半角と全角で区別がつきにくい) ということがあります。 どちらも"5"の行が一番下になりませんでした。 "1"も手入力し直してみて下さい。 では。

nagaim
質問者

お礼

ありがとうございました。全角と判明しました。 TRIM関数で、スペースは取ったんですが、全角とは表面上わからなかったたです。ついでで恐縮ですが、全角と半角を区別するには、セルの書式で、数値にすれば、文字の大きさからわかると思いますが、それ以外に方法はあるのでしょうか?また、全角を半角にする関数というのはあるのでしょうか?

その他の回答 (2)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.3

再びmaruru01です。 全角→半角にする関数は、ASCを使用します。 =ASC(変換する文字列またはセル番号) ちなみに半角→全角は、JIS関数です。 任意のセルをクリックして、メニューの[挿入]→[関数]を選択すると、[関数の貼り付け]ダイアログが出ます。 そこの関数の分類で、[文字列操作]を選択して、右の関数を順にクリックしていくと、下にそれぞれの関数の説明が出ます。 ここでいろいろな関数と説明を見ることが出来ますので、一度一通り見てはいかがですか。 では。

nagaim
質問者

お礼

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

noname#6248
noname#6248
回答No.1

…おかしいですね…excel2000で確認しましたがきちんとソートされました… 確認方法は以下の通り。 数値入力後 列Aと列Bを選択状態にし、データ(D)→並び替え(S)を選択し 並び替えのダイアログで最優先されるキーに列 B 昇順を選択し、2番目3番目は空白、範囲の先頭行はデータ として[OK] もしもこの通りに行なってできないのならば列Bを値が文字列と数値が混合していないかを見てください 上から順に「1」なのか「’1」なのか…等 とりあえず今考えられる事はそれだけですが見つかったらまた書きます。

nagaim
質問者

お礼

ありがとうございました。全角とわかりました。文字列かどうかを区別する方法は、セルの書式を見るしかないのでしょうか?また、全角を半角にする関数は、あるのでしょうか?

関連するQ&A

  • エクセルのソートのマクロ

    エクセルでのソートのマクロを教えてください。  範囲選択は手動でその都度変更します。優先列、昇順は変更ありません。 例えば、AからE列までデータがあり、第一優先列をD列、第二優先列をA列として、それぞれ昇順でソートします。 範囲はその都度手動で複数行を全列選択します。 つまり、適宜、複数行を選択してからこのマクロを実行すれば常に先の形式でソートできるようにしたいです。  わかりにくい記述で恐縮ですがよろしくお願いします。

  • エクセルでのソートについて

    エクセルで縦方向(複数列)にデータを入れていっているのですが、 その中の1つの列のデータを昇順とかでソートしたときに、 その列しかソートされません。 行単位で意味を持ったデータなので、 どこの列でソートしても行も追随してソートしたいのですが、 どうすればいいのでしょう?

  • エクセル ソート

    当方、エクセル2010、Windows7の環境です。 エクセルで 「A列」「B列」 「1」「X」 「1」「」 「2」「Y」 「1」「Z」 というように、「A列」に数字が 「B列」には文字が入っています。 ただし、「B列」には何も入っていないこともあります。 この「A列」を第一、「B列」を第二優先順位で ソートすると、 「1」「X」 「1」「Z」 「1」「」 というように、何も入っていない行が 一番下にきてしまいます。 「B列」に何も入っていないのですから、 「1」のかたまりのなかで 一番上にきそうですが、 一番下にきてしまいます。 これを 「1」「」 「1」「X」 「1」「Z」 の順番にソートすることは可能でしょうか?

  • スプレッドでのソート

    スプレッドでソートを行いたく、列と行の設定でヘッダの動作を『ソート』にしたのですが、以下の問題が生じました。 件数 1 2 3 10 15 20 ↓ ソートすると 1 10 15 2 20 3 セル型を『数値』に設定しても同じ結果になります。 きちんと1,2,3,10,15,20と昇順にソートさせるにはどうすればよいでしょうか。 ご教授願います。

  • エクセルのソートについて

    こんにちは いつもお世話になっています。 エクセルのソートに関して教えてください。 A列に商品名(ふりがな情報あり)、B列に一桁と二桁の数字(標準表示形式)があります。 ソートの優先順位を第一がB列の下一桁の数字、第二がA列の商品名にする方法を教えてください。 よろしくお願いします。

  • エクセルでのソートがうまくいきません

    エクセル2000を使っています。 VLOOKUP関数を利用して見積書を作っていますが、時たま上手くいかない事があります。 見積書は、 見積書のページに A列:数字4桁の商品コード B列:商品名 C列:単価 (例:1001 アイスクリーム 1,500) 商品コードのページも全く同じで、A列でソートしてあります。 VLOOKUPを使って、見積書のA列の4桁の数字に対応した商品コードのB列C列からデータを持ってくるようにして、見積もり書のB列とC列をうめる・・・という簡単な仕組みです。 ところが、なぜかB列とC列にうまくデータを持ってこられない行がいくつか出てくる事があります。(#N/Aと表示される) ちなみに、見積書も商品コードもA列のセルは文字列に設定しています。 また、変換できなかったA列の数字を上書きして入力すると半分くらいはB列C列が#N/Aから本来のデータになるのですが、相変わらず変化なしの場合もあります。 そのような場合は、見積書のA列に商品コードのA列をコピーしたものを貼り付けて上書きするとちゃんと表示できるようになります。 この場合の見積書は、過去に作ったいろんな店舗への見積書を行追加して新たに作った「年間の見積書の全て」といった物なので、時によってA列のセルの性格が違っている場合があるかも・・・という訳で改めてA列を文字列に設定し直しています。 が、これをやってもA列での並べ替えもうまく昇順にならない場合がありますので、やはりセルによっては統一されていない部分があるのかと調べてみましたが全て同じく文字列になっています。 どうにも訳が判りません。 長い文章で申し訳ありませんが、御判りの方がおいででしたら後教授ください。

  • Excel 2000でソートさせようとすると・・・

    何時も皆さんの明確な回答感心するばかりです。  質問ですが、Excel2000で住所録を作りました。同窓会用なので1つのブックに3枚のシートがあり、それを増やして6枚にして1組から6組までとしました。各シートの1列目に名前、〒、住所、電話、メルアド、てな感じで入力してその下に各人をどんどん入れていきました。ここまでは良かったんですが、各項目でソートをかけたところ2枚目(2組)だけはどんなにソートをかけても1列目はソートされないのに、他のシートは1列目まで一緒にソートされてしまいます。 色々本を見たり会社の得意そうな人に聞いたりしてみましたが、答えが返ってきません。自分なりにいじって見た所、データ→並べ替え、と見ると2枚目は範囲の先頭行がタイトル行に2枚目以外は範囲の先頭行がデータにチェックが入っています。これを換えてOKとするのですが保存されない様で又すぐもとに戻ってしまいます。(表現は正しいのかな?) おそらくこれが原因だと思うのですがどう直すのか、はたまた私がヘンなことしているのかよく解りません。どのシートも同じように造ったつもりなんですがどなたか、教えて下さい。ヘ(x_x;)ヘ

  • エクセルでのソートについて

    エクセルのソートがうまくいきません。 SHP-1 SHP-10 SHP-100 というセルをソートしたいのですが、 文字列がはいっているようです。 文字列の書式を数値に変更し、さらに 空白セルに数値「1」を入力してコピー し、形式を選択して貼り付けの、演算の 乗算。という方法で書式を変更しましたが ソートがうまく出来ませんでした。 何かいい方法はありますでしょうか?

  • EXCELで範囲内にある値を検索してA列の値を返す

    タイトル通りなのですが、OSはXPでEXCEL2000を使用しています。 シート内ですが 1.A列には文字列が入っています。200行まで空白は無いです。 1.B列からL列の200行までに数字がランダムに入っています。 2.数字は1~500までです。 3.行によってはL列まですべてのセルに値が入ってません。  数字の入っていないセルは空白です。 4.数字の重複はありません。 やりたいことは 別のシートのA列に1~500までの数字を入れ、B列に上記範囲の中からその数字を検索して、その行のA列の値を返したいのですが、出来ません。 どの関数を組み合わせれば出来るのでしょうか? vlookupの検索範囲は1列だけなのでダメでした。 よろしくお願いします。

  • エクセルのソートについて

    エクセルのソートを行なおうとして、下記の手順を行なったのですが ・キーとなる列のセルを 1 つクリック。 ・(昇順で並べ替え) をクリック。 そうしたら「この操作には、同じサイズの結合セルが必要です」と言うエラーメッセージが、出てきました。 どなたか、解決策を教えてください。 何卒宜しくお願い致します。

専門家に質問してみよう