• 締切済み

Excel2010文字の並べ替えでカタカタ優先

Excel2010にて、文字の並べ替えで昇順を行うと、カタカナが優先されて上位にきてしまう。 通常はあいうえお順なのでカタカナであっても関係ないですよね。 どなたか、ご教授をお願いいたします。

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

>カタカナが優先されて上位にきてしまう。 【添付図参照】 まっさらのエクセルを用意 セルに いとう 荒川 チョコ 井上 とそれぞれ『手で打ち込んで』記入(<重要)、これを昇順で並べ替えても「カタカナが上に来る」とか起こりません。 ダマされたと思って、実際にエクセルを起動して回答している通りに手を動かして、動作を確認して下さい。 【失敗する方法】 手抜きして、たとえば上述回答からコピーしてエクセルに貼り付けたのを並べ替えると、失敗例のようになります。 【並べ替えに失敗するリストを正常に戻す方法】 まず、大前提としてリストは「生データを記入してある」ものとします。 ご相談では何も説明されていませんが、数式で表示されているデータでは全くダメなので、もしもそういう場合は別途あなたのエクセルの具体的な状況をキチンと添えて、新しいご相談として投稿し直して下さい。 手順: 失敗するリスト範囲を上から下まで選択する ALT+F11を押す 現れた画面でCtrl+Gを押す 現れたウィンドウに selection.setphonetic と記入、Enterキーを押す ファイルメニューから終了してエクセルに戻る 改めて並べ替えてみる。

すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

もしよい回答が出れば下記は無視してください。 またVBAが性に合わなければ無視してください。 ーーー 質問文の説明がそっけなくて、真意がよくわからない。 「文字種を加味した(文字種による)並べ替え」を希望しているのかな。 エクセルの場合は・文字コードか・ふりがなでの並べ替えができると思う。 どちらも、コンピュター基礎的仕様で並び順番は決まっていて、自由にならない。 しかし、もっと自分の思うとおりにやるのは、普通のエクセルでの並べ替えの操作では、むつかしいと思う。 VBAには関心がないかもしれないが、したいことに合致したら、そしてやる気になれば、検討してみてください。 ・A列の左に2列を挿入する ・その右側B列に問題のデータの入っている列をコピー。A列は空白のまま。 ・エクセルのシートの画面で、ALTキーを押しながら、F11キーを押す。VBE画面という画面になる。 ・下記のプログラムをコピーし、上記の画面(VBE画面)に貼り付ける。 Sub test01() lr = Range("B65536").End(xlUp).Row 'データはB列にあるとする MsgBox lr ’データ行数は自動的に取れる。その間の各行で、街頭の判定を繰り返す For i = 2 To lr x = Left(Range("B" & i), 1) '第1文字を取って問題にする。第1文字は英字で第2文字以下は漢字などはないとする If x Like "[あ-ん]" Then Range("A" & i) = 1 ElseIf x Like "[ア-ン]" Then Range("A" & i) = 2 ElseIf x Like "[A-Z]" Then Range("A" & i) = 3 ElseIf x Like "[亜-黑]" Then Range("A" & i) = 4 ElseIf x Like "[ア-ン]" Then Range("A" & i) = 5 Else Range("A" & i) = 6 End If Next i End Sub 上記を下記の考慮で修正する。 氏名か商品名をイメージして、第1文字目だけを問題にする  ひらがな [あ-ん]  カタカナ [ア-ン]  英字   [A-Z]  漢字   [亜-黑]  カタカナ [ア-ン]  その他 について、ソートでの優先順位の順に数字コード1桁を考えて決めてください。 そして 上記VBAコードで [あ-ん]や[ア-ン] などのある行のすぐ下の行の Range("A" & i) = 1などの数字を、質問者の決めたコード(数字)で書き換えてください。 その他の行はElseの下の Range("A" & i) = 6 で最大の数字を設定してください。 修正し終わったら ・F5キーを押します。(プログラム実行です) ・シートA列、B列(元からあり)に A列  B列 文字種 氏名 2 アオキ 6 aoki 4 青木 1 あおき 3 William 4 木村 5 アオキ のように設定されます。 A列を第1優先ソートキー列として、 これでA列とB列や、A列とフリガナなどで並べ替えすればどうでしょう。 A列が第1優先の並び替えキーになります。

すると、全ての回答が全文表示されます。
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 キーボードを使って文字列を直接入力したセルを並べ替えるのであれば、並べ替えの際に[ユーザー設定の並べ替え]を使用して[オプション]の設定を[ふりがなを使う]に設定して並べ替えをされると良いと思います。  それに対し、コピー&貼り付けによって入力されたセルや、関数の結果が表示されたセルを並べ替えるのであれば以下の様な設定操作を行ってから、並べ替えを行う様にして下さい。(設定操作は初回の1回のみで十分です) [ファイル]タブをクリック   ↓ 現れた[オプション]をクリック   ↓ 現れた「Excelのオプション」ダイアログボックスの[詳細設定]をクリック   ↓ 現れた「全般」の中の「並べ替え順や連続データ入力設定で使用するリストを作成します」の所にある[ユーザー設定リストの編集]ボタンをクリック   ↓ 現れた「ユーザー設定リスト」ダイアログボックスの「リストの項目」欄に あ ア ぁ ァ い イ ぃ ィ ・ ・ ・ か カ が ガ ・ ・ ・ ん ン などの様に、並べたい順番通りに全ての平仮名と片仮名のリストを入力 (途中の「・」の部分も上記のような省略した形ではなく、全てのかな文字を漏らさずに記入する事)   ↓ 「ユーザー設定リスト」ダイアログボックスの[追加]ボタンをクリック   ↓ 「ユーザー設定リスト」ダイアログボックスの[OK]ボタンをクリック   ↓ 「Excelのオプション」ダイアログボックスの[OK]ボタンをクリック

すると、全ての回答が全文表示されます。
  • msMike
  • ベストアンサー率20% (371/1817)
回答No.1

ご質問が何かをハッキリ書かないと「ご教授」できませんが・・・

すると、全ての回答が全文表示されます。

関連するQ&A