• 締切済み

EXCEL 「並び替え」の誤動作について

imogasiの回答

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

第1行にタイトル(例氏名)行を入れ(本質ではないが、リストというのが基本なので。) 中間にスペース(データなし)行を入れず フリガナを使わない、にチェックをいれ 大文字と小文字を区別するにチェックを入れ 行単位 でやってみてください。 うまくいくはずです ==== 文字コードに関心を持ったり、プログラム経験がない人はそう感じるかも知れませんが、コンピュターのソートは 文字コードで考えて 最左の桁から、ビット比較的に 比較して、勝負か付く(0ビットが勝、1のビットの方が巻け)ところまで比較を続け、1回目の勝負がついたところで決定(打ち切り)です。コンピュタの原初的仕組みです。 (上記は文字列の場合で、数値の場合は人間の大小の考えと、コンピュターの内部ビット表現が一致するよう定義されています。 動かしようがありません。) ーー 最近(1985年以後、パソコンなどから)エクセルなどのソフトなどからコンピュタに入り始めた人は ソフト側で裏で(便利なように)細工をしているので、ソートといえばそんな便利なものかと思いがちですが、修正ソートキーを裏で作って、それで自分(世間)の思うようにソートするようにしてるはずです。 ーー 結論は、コンピュタの基本原理は動かしようがないので、自分の思うように、逆手にとって、原ソートキーから、修正ソートキーを作らないとなりません。 ●レディメードで「フリガナを使う」 ●関数で別列に修正ソートキーを作る ●プログラムで修正キーを作る ほとんど3番目でないと出来ないでしょうが。 -- ただそんなに修正キーを作らなければならないケースは多くない。 前株後株、カ)など入力の多様化で、困ってしまって、必要になる場合が多い。 ーー スペースの問題 昔の半角かなの濁点・半濁点 の場合の扱いで、普通にソートすると、常識、慣用と異なる結果 ガ出るので、苦労した経験があります。 ーー 質問の点で、テスト的に =CODE("か")は 9259 =CODE("が")は 9260 になったので、同じ桁位置に2つがあれば、普通のソートでは、「か」が先に来ます。 (ただし昇順指定) ただ内部文字コードや色々あって各過程で使用文字コードが変化することがあるので、詳しい知識を必要とする場合があると思うが、文字コードの設計者は「か」を先(小さいコードで)に定義するはずです。

Dor_001
質問者

補足

丁寧で、かつご親切な解説をいただきありがとうございます。 ただ、 >第1行にタイトルを入れ >中間にスペース行を入れず >フリガナを使わない、にチェックをいれ >大文字と小文字を区別するにチェックを入れ >行単位 はすでにやってますが、 うまくいきませんでした。 なにか他にチェックしておかないといけない設定とかあるんでしょうか? 内部コードで単純比較してるのだったら、 このような結果は出ずに、 素直に正しい結果が出るのと思うのですが、 ご説明のように、 なにか、小細工してるようですね。 それが何のためなのかよくわからないところです。 そして、それがむしろ足を引っ張っているような気がします。 VBAでの一連の処理の流れの中のSORTなんですが、 処理前に、姓名の「名」の方を削除して、 SORT後、処理がすべて終わった段階で「名」を付加してます。 手作業です。

関連するQ&A

  • エクセルの関数で

    次のような表があります。 名前 国語 算数 理科 あい 90 80 80 うえ 40 70 89 おか 60 70 90 きく 60 80 80 この中で科目別の最大最小をもとめ、 その点数をだしたのは誰かを求めたいのです。 重複した場合は、最初にヒットしたものでかまいません。 LOOKUPはソートしないとだめだし、 VLOOKUPはソートしなくてもいいのですが範囲の指定が・・ MATCHでは何番目までは取得できたのですが・・ マクロを使わず、この表の並び替えもしないで 出来る方法はありますか? win2k・Excel2000です

  • Excel を使用して運用データを編集する

    目的はODCファイルを開くことですがhttp://office.microsoft.com/ja-jp/excel-help/HA001086488.aspxこのページの「Web からのデータのインポートについて」の[データ] メニューはどこにありますか?

  • Excelの集計方法について(集計KEYが2個ある場合です)

    WinxpでExcel2002を使用しています。 A列  B列   C列 日付  性別  人数 上記の表があります。 SORTで日付(降順)、性別(昇順)に並べ替えを行い、その結果を以下のように人数を集計するには、どうすれば良いでしょうか? 性別計  男 ○人  性別計  女 ×人 日付計   ○+×人 尚、合わせて、日付計で、改ページも行いたいです。 ご教示宜しくお願いします。  

  • エクセルで英数字の文字列から数字を抽出

    エクセルで英数字を含む文字列から数字を抽出く =1*MID(A1,MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$9),1)),0),COUNT(1*MID(A1,ROW($1:$9),1))) 小数点にも対応させるにはどうしたら良いでしょうか。 「AA0.45」→0.45 「0.65BB」→0.65 「CC0.85CC」→0.85 http://office.microsoft.com/ja-jp/excel-help/HA001154901.aspx を参照しました

  • Excel2002でX/数値軸目盛にラインを入れることができますか?

    Excel2002でX/数値軸目盛にラインを入れることができますか? Microsoft Office Excel 2002です。 Excel2002でY/数値軸目盛にラインを入れることはできます。 どうすれば Excel2002でX/数値軸目盛にラインを入れることができますか? または、いつのバージョンのExcelならX/数値軸目盛にラインを入れることができますか? http://office.microsoft.com/ja-jp/excel-help/HA001034643.aspx?CTT=1

  • ExcelVBA:列方向の並び替え Orientation

    いつも大変お世話になります。初心者です。 長文で申し訳ありませんが、私の間違いについてご指導をお願いします。(Excel2003) 並び替えについて訳が分からなくなってしまいました。現状は、 ・A2セル=1月、A3=2月、A4=3月、A5=合計 ・B1セル=札幌、C1=東京、D1=名古屋、E1=大阪 ・B2:E4 は売上金額です。 ・B5 は、SUM(B2:B4) です。C5~E5も同様です。 ※売上合計は多い順に、東京、大阪、名古屋、札幌です。 この表の合計金額を並び替えをしたいと思い、以下を書いてみました。 左から順に、売上合計の多い支社順に、並ばせようとしました。 Cells(1, 1).CurrentRegion.Sort _ key1:=Cells(5, 1), order1:=xlDescending, Orientation:=xlSortColumns, header:=xlYes 【甲】 すると全く意図した形ではない並び替えが実行されてしまいました。 (なぜか行が入れ替わり、列は変わらず。) 【乙】 しかし、上のOrientationを、xlSortRows に変えてやってみると、意図した通りに並び替えられました。 【丙】 また、Order1:=xlAscending, Orientation:=xlSortRows でやってみると、列の並び替えは実施されますが、 月の見出し列(A1~A5)が一番右に移動してしまいます。 -------------------------------------------------------------------------- その後いろいろ調べたり、試行したりしたのですが疑問が山積してしまいました。 基礎的な話かもしれませんが、上記の例で、「列方向に、合計金額を基準に、正しく降順・昇順並び替え」をしたいと思っています。 【質問1】Sortメソッドのヘルプで見ると、Orientation の説明に、xlSortRows,xlSortColumnsの説明がありますが、 行方向、列方向、どうしても実際の動きと逆な気がしてなりません。 私の勘違いでしょうか。 【質問2】マクロの自動記録時に気づいたのですが、Orientation の設定に、xlLeftToRight や、xlTopToBottom というのが使われていました。 これらと xlSortRows, xlSortColumns の違いはありますか。 【質問3】列方向への並び替えの際には、Headerの設定をするのは無意味ですか? 上記(丙)のパターンで、xlGuess でも、xlYes 、xlNo でも全く動きは変わらず、月の見出し列が最右に移動しました。 【質問4】上の(丙)のパターンで正しく動かす為には、Sort の対象となる範囲を、B列以降にする必要があるのでしょうか。 ---------------------------------------------------------------------------- 分かりにくい箇所もあったかと思いますが、ご指摘いただければ補足させていただきます。 なお、「そんな簡単な表だったら、手で作業したら?」ということではなく、後学のために知っておきたいので質問させていただきました。 なにぶん勉強中なため見当外れの質問もあるかもしれませんが、なにとぞご教示よろしくお願いいたします。

  • Excel2007のフィルタ

    職場のPCで、あるPCは可視セルのみをコピーし、あるPCは非表示セルまでコピーをしてしまうのです。(全てExcel2007です。) http://office.microsoft.com/ja-jp/excel/HA102448971041.aspx?pid=CH100648341041 上記URLによると「すべてのセルをコピーするか、可視セルのみをコピーするかを選択できます。」とあるのですが、その方法が分かりません。 ご存知の方、お教え下さい。

  • Excel2002で右と左に違う軸の数値でグラフを出すことができますか

    Excel2002で右と左に違う軸の数値でグラフを出すことができますか? Microsoft Office Excel 2002です。 Excel2002でY/数値軸目盛にラインを入れることはできます。 どうすれば 右と左に違う軸の数値でグラフを出すことができますか? 相関関係がある指標と実際の価格を出して比較するようなときに使いたいのです。 または、いつのバージョンのExcelなら右と左に違う軸の数値でグラフを出すことができますか? http://office.microsoft.com/ja-jp/excel-help/HA001034643.aspx?CTT=1

  • セル結合されていないのに結合のメッセージが出る

    エクセル2010を使っております。 ある表を五十音順に並び替えようと思っているのですが、「この操作には、 同じサイズのセル結合が必要です。」とのメッセージが出てしまいます。 しかし、結合セルをhttp://office.microsoft.com/ja-jp/excel-help/HP010342686.aspx#BMfindmergedcells に記載されたとおりに検索しても見つかりません。 (並び替えようとしている範囲内を目で探しても結合セルは見つかりません) どうすれば、並び替えができるようになるのでしょうか? よろしくお願いします。

  • mos word2007でドキュメント検査

    MOS試験 word2007の試験を受けたいのですが、ドキュメント検査の問題で、メタデータというのがはっきりと分からず、マイクロソフト社のホームページで調べたところ、二通りの解釈が出てきました。 どちらで判断したらいいのか分からず、悩んでいます。どなたか教えてください。 メタデータを情報、プロパティ、隠し文字、コメントなどを言うというホームページが http://support.microsoft.com/kb/223396/ja 情報、プロパティという解釈のホームページが http://office.microsoft.com/ja-jp/excel-help/HA010037593.aspx です。よろしくお願いします。