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

No.2
- 回答日時:
もしかして漢字をソート対象にしていませんか?
漢字の文字コードは、あいうえお順に正確に並んでいるという訳では
ないようですので、ソート用に"ひらがな"か何かのキーを作って、
それをソート対象にしてはいかがでしょう?
ご回答ありがとうございます。
ソートの対象は確かに漢字です。ただ、ソート順とかは
あまり問題とは感じておりませんので、かなをソート対象に
する必要もないと思います。(折角お答え頂いたのにすいません)
お聞きしたいのは、具体例に示したように「なぜ同じAなのに上や下に
分かれてしまうか」なのです。言葉足らずで、質問したい事が
うまく表現できてなかったかもしれません。すいません…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 結合セルのソートについて 5 2022/04/22 11:57
- Visual Basic(VBA) Excel VBAで並べ替えをしたい 3 2023/02/25 09:31
- Excel(エクセル) Excel 効率的な名簿と得点の管理の仕方 8 2022/08/07 08:15
- Excel(エクセル) Excelの50音順ソートを全ての行列に適用するには? 4 2022/12/05 11:28
- Excel(エクセル) Excelのソート(並べ替え) 2 2022/05/15 22:54
- JavaScript jsonテキストデータの並び替えができるサービスを教えてください 2 2022/08/05 20:16
- Excel(エクセル) 重複しているか否かをソートせずに判断する方法ありますか? 2 2022/07/06 21:16
- Excel(エクセル) excel 行でソートすると計算式が上手くいかない。 6 2022/06/01 08:18
- Excel(エクセル) エクセルでの色付け 5 2022/10/09 18:58
- Visual Basic(VBA) Excel VBA キーワードから列を取得して、さらに空欄行を非表示にする 3 2022/10/21 22:49
このQ&Aを見た人はこんなQ&Aも見ています
-
Excel VBAにてソートが上手くいかない
その他(Microsoft Office)
-
2つのエクセルのデータを同じように並べ替えたい
Excel(エクセル)
-
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
-
4
エクセルで並び替えが一部(下の方の行)のみできない
Excel(エクセル)
-
5
【エクセル】ピボットテーブルの集計で同一項目が合算されません
Excel(エクセル)
-
6
Excelの並び替えを実行すると数字が変わってしまいます
Excel(エクセル)
-
7
エクセルで異なる列のデータを一致させて並び替え
Excel(エクセル)
-
8
ファイル起動時、毎回 シート1のA1セルを表示させたい。
その他(Microsoft Office)
-
9
Exce2007でBorder クラスの LineStype プロパティを設定できません。
その他(Microsoft Office)
-
10
EXCEL関数:重複した値がある並び替えについて
Excel(エクセル)
-
11
Excel条件付書式(残業45時間以上になったら色をつけたい)
Excel(エクセル)
-
12
Excel2017 フィルタ昇順並びがA1、A10、A11、A2、A3となってしまう。
Excel(エクセル)
-
13
エクセルでA列と同じ並びにB列を並び替える方法を教えて下さい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル ドロップダウンリスト...
-
特定のセルだけ結果がおかしい...
-
エクセル
-
エクセルのdatedif関数を使って...
-
【マクロ】アクティブセルの時...
-
【関数】同じ関数なのに、エラ...
-
エクセルの循環参照、?
-
【マクロ】A列にある、日付(本...
-
【マクロ】3行に上から下に並...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】WEBシステムから保存...
-
iPhoneのExcelアプリで、別のシ...
-
【エクセル】期限アラートについて
-
Excelファイルを開くと私だけVA...
-
Excelの新しい空白のブックを開...
-
Excelについての質問です 並べ...
-
マクロ・VBAで、当該ファイルの...
-
VBA チェックボックスをオーバ...
-
派遣会社とかハローワークとか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelファイルを開くと私だけVA...
-
エクセルについてどう関数を使...
-
マクロ・VBAで、当該ファイルの...
-
エクセルのセルに画像は埋め込...
-
エクセルで、一部のセルだけ固...
-
【マクロ、画像あり】A表かB表...
-
エクセルでカウントする
-
【マクロ】コードを少しでも、...
-
VBA_日時のソート
-
エクセルで教えてください。 例...
-
エクセル 月間シフト表で曜日ご...
-
セルの左に余白を付ける
-
エクセル
-
エクセルについて教えてください
-
2枚のエクセル表で数字をマッチ...
-
ExcelのIF関数との組み合わせの...
-
エクセルのファイルのコピーを...
-
エクセルで二つのブックの違い...
-
空白処理を空白に
-
Excelのチェックボックスについ...
おすすめ情報