- ベストアンサー
Excelで ソートすると同じ項目が全く別の位置に並んでしまうのはなぜ?
仕事上Excelでデータ管理をしています。 以前から気になっていたのですが、ある行についてソートを行った際、 たまに同じ値のはずなのに全く違う位置に並んでしまったりすることがあります。 具体的には… ABCABCABCABCABC ↓昇順でソート AAAAABBBBBCCCCC 期待される結果はこうですが、 AAAABBBBCCCCABC 実際にはこう並んだりします。 一応自分なりの解決策として、ソートする行をコピーし、新しいシートへ 形式を(値)に選択して貼り付けしてからソートすると、期待通りの結果が 得られる事は見つけました。問題は、「なぜそうなるのか」なのです。 もしご存知の方がいらっしゃれば、宜しくお願いします!
- みんなの回答 (10)
- 専門家の回答
質問者が選んだベストアンサー
今晩は、帰りの電車の中で寝ながら考えました。 このままだと夜眠れそうにないんで(さっき寝たって言ったが~) それはさて置き本題です。結論から言いますとbin-chanさんの意見で正しいです。 では対策です シート2 a b 1 県名 県番 2 東京都 1 3 神奈川県 2 4 埼玉県 3 シート1 a b c 1 県番 県名 県ふりがな名 2 東京都 とうきょうと 3 神奈川県 かながわけん 4 埼玉県 さいたまけん 5 東京都 ひがしきょうと 6 神奈川県 しんなせんけん 7 埼玉県 さいたまけん 注1)c2は計算式PHONETIC(B2) 注2)a2は=VLOOKUP(B2,Sheet2!$A$2:$B$4,2,FALSE) 解説 phonetic関数は、前回答者の通りに振り仮名(入力した通り)を振ります 漢字のエリアのソートは入力した通りにソートするようです vlookup関数はテーブル検索です 第一パラメータは、入力データです 第二パラメータは、テーブルを指定します 例:seet2のa2からb4までをテーブルとしています $a$2の$はコピーした時に値がずれないようにしています 第三パラメータは、出力データでテーブルの左から何番目のデータを使用するか 第四パラメータは、テーブルの値が順番に並んでいなくても良いという指定です 最後に並び替えを行うときは、AZ↓キーを使わず データ→並び替え→優先されるキーをAに指定して下さい。 こんなもんでどうでしょうか?(^.^) これで眠れる(さっき寝たって言ったが~)オヤスミナサイ
その他の回答 (9)
- k_eba
- ベストアンサー率39% (813/2055)
まだソート出来ませんか? なにか有ると思いますので 状況の補足をお願いします。
- himehime
- ベストアンサー率37% (133/354)
No.8の方に補足です。 Excelは、Excelで「入力したもの」の 読み情報で、ソートします。 ですので、たとえば、Wordから、 コピー&貼り付けした場合などにも、 ただしい読み情報が入っていないので、 ソートすると、希望どおりにならない場合があります。 (WordからExcelに適当なデータをコピーして、 フリガナ表示すると、ふりがな入ってないのが、わかりますよ。 また、Excelのバージョンが違って、 貼り付けた場合も、フリガナ情報は、コピーされていません。) たとえば、人様のお名前で難しい名前を、 別の読みで入力することもよくあるとおもいますが、 そのExcelで、入力した読みでソートされます。 例:「洋子」ってお名前を、ヨウコと、ヒロコで入力して 「洋子」に両方、漢字変換して、 ソートしてみてください。 同じ漢字であっても、 昇順であれば、ヒロコさんが、 降順であれば、ヨウコさんが先にくるはずです。 Excelの読み情報での、ソートの意味がわかるはずです。 なので、漢字が入っている列を、直接ソートするのではなく、 Phonetic関数で、ふりがな表示させてから、ソートするのが、 一番いいとおもわれます。 列の非表示などはできますので。
- masakaji
- ベストアンサー率33% (38/113)
フリガナのデータは必ずついているとは限らない。 これが、正解です。 というのは、Excelでデータを作成したタイミングや、データのコピーの仕方によっては、フリガナを持ったまま貼り付けることができないケースがあるのです。 簡単な具体例をあげると、 1.セルA1に「ほっかいどう」と打って「北海道」と入力します。 2.セルA1をコピーしてセルB1にデータを貼り付ける際に、右クリックして、形式を選択して貼り付けを選び、ダイアログボックスが開いたときに、「貼り付け」のなかの「値」にチェックマークをいれて「OK」ボタンを押します。 3.セルA1とセルB1を選択して、「書式」メニューから「ふりがな」→「表示・非表示」を選択します。 結果としてセルA1はふりがながついていますがB1はふりがながついてません。 ふりがながある場合は、ふりがなを基準にソートしますが、ふりがながない場合は、文字フォントのコード順に並びます。 通常の並び替えのときもふりがなを無視してコード順に並べるオプションがちゃんとついていて、「データ」→「並び替え」→「オプション」のなかに、ふりがなを使うか使わないかが選択できます。 データを並び替える際は、そういったExcelの癖を踏まえた上で、ふりがなをすべてにちゃんと振ってあるか、または、ふりがなをすべて取っているか、を確認した上でソートしなければなりません。 用途に応じて、ふりかなの管理もしなければならないのですよ。面倒くさいですが、ちゃんとしていれば、それなりに便利に使えます。 ふりがなの編集もできるので、こだわるのならお勧めですよ。
- k_eba
- ベストアンサー率39% (813/2055)
あまり大きい表だと上手く動作しないみたいですね 私は、メールのアドレス帖をcsvに変換しエクセルで開いて 一番左端でソートかけましたが上手く行く時と ほんとにソートした??と思える動作をしました やはりエクセルだと限界かなと思いました そこで対策 1)このまま我慢して使用する 2)アクセスでソートする エクセルはそのまま アクセスを作成、空のデータベース ファイル→外部データの取り込み→テーブルのリンク ファイルの種類をエクセル アクセスでデータが使えます どちらにしても、逃げだ~(ーー;)あせあせ がんばって下さい。時間が来ました。土、日の両日で考えときます。
補足
> あまり大きい表だと上手く動作しないみたいですね うん、僕も始めはそういう印象をもっていました。 人に聞いても「Excelの限界ちゃうか」という意見は確かにあり、 なんとなく僕もそんな気になってました。 Accessですか、やっぱり使わないといけないかな~ 興味はあるのですが覚える時間が無くて… んで、結局、対象の行などをコピー→新しいシートに値として貼り付け してからソートという原始的なことをしてます。 はあ、時間が欲しい。。。
- bin-chan
- ベストアンサー率33% (1403/4213)
すみません。関数名を誤ってました。 ただしくは「PHONETIC」です。
- bin-chan
- ベストアンサー率33% (1403/4213)
全角のデータ入力時に「ふりがな」を自動的に保存しているからです。 [データ]-[並べ替え]のダイアログに[オプション]ボタンがあるので これをクリックすると「方法」ふりがなを使う、がデフォルトのはずです。 これを・・・使わないにする。 中身を見たい場合は全角の値のセルを別のセルから=photonic("セル番号")と すると「どうやって日本語入力したか」が見えると思います。
お礼
うおおっ、こんな関数知りませんでした! 試してみると、同じ北海道でも「ホッカイドウ」と「北海道」がある!! なるほど、これでソートしてたからこうなっていたのか… bin-chanさん、ありがとうございます!! しかし、先程から皆さんが「ふりがな」と言っていたのはこの事だったのですね、 不勉強ですいません、全くわかってませんでした… さて、残る問題はなぜ「ホッカイドウ」と「北海道」になっているかですね。 web上でのプルダウンによる選択記入項目なので、 違いが発生するように思えないのですが…
- k_eba
- ベストアンサー率39% (813/2055)
そうですか 後考えられる所をあげます メモリーが足りなく途中で止めてしまう(考えにくいか?) 当初のソートの範囲にデータが入っていない 一回並びが変なものの内一つか二つ入力し直して実施してみるのはいかがですか かんばって下さい。なんの回答にもなってない~(・・;)あせあせ
お礼
> メモリーが足りなく途中で止めてしまう(考えにくいか?) これは辛うじて大丈夫です。(笑) > 当初のソートの範囲にデータが入っていない これもちゃんと指定しています。 範囲指定が出来ていなければ、指定から外れている個所については ソートされませんよね?具体例のケースでは、全てソートされた上で ああなってしまうのです… > 一回並びが変なものの内一つか二つ入力し直して実施してみるのはいかがですか 解決策としては、これも有効だと思います。 実際に行った例としては、 AAAABBBBCCCCABC となっている内、最後の方にあるAを入力し直して 再ソートをかけると、ちゃんと AAAAABBBBCCCCBC となった事もありますし、 逆に始めのAAAAを再入力してソートすると BBBBCCCCAAAAABC と なったりします。もう何が何だか… 一応、自分なりには各Aの入力コードが違うからこうなるんじゃないか、とは 思っているのですが、真相はどうなのでしょう? > かんばって下さい。なんの回答にもなってない~(・・;)あせあせ いえいえ、Methylnさんもk_ebaさんも、お答え頂くだけで感謝です!
- Methyln
- ベストアンサー率29% (242/823)
もしかして漢字をソート対象にしていませんか? 漢字の文字コードは、あいうえお順に正確に並んでいるという訳では ないようですので、ソート用に"ひらがな"か何かのキーを作って、 それをソート対象にしてはいかがでしょう?
お礼
ご回答ありがとうございます。 ソートの対象は確かに漢字です。ただ、ソート順とかは あまり問題とは感じておりませんので、かなをソート対象に する必要もないと思います。(折角お答え頂いたのにすいません) お聞きしたいのは、具体例に示したように「なぜ同じAなのに上や下に 分かれてしまうか」なのです。言葉足らずで、質問したい事が うまく表現できてなかったかもしれません。すいません…
- k_eba
- ベストアンサー率39% (813/2055)
良くあるパターン 全角と半角 書式で文字、数値 などで並び替えが美味くいかないことがあります いろんな人が入力したり、違う日に入力したりするとなります 解決策として漢字のみとか数字だけとかプロテクトするといいと思います がんばって下さい
お礼
早速の回答、ありがとうございます。 全半角は、全角で統一されています。 と言いますか、都道府県の選択入力(漢字のみ)なので、 バラバラになる事はないと思うのですが… プロテクト…ですか?試した事ないですがやってみます。
お礼
k_ebaさん、丁寧に考えていただきながら 返事が遅れて申し訳ありません・・・ ううむ、色々関数が出てきて勉強になると思ったのですが 僕の頭が追いつきません… でも何となくですが、書いてある通りで思ったような 並び替えができそうな気がするので、試してみます。 ありがとうございます。