アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルの並べ替えでは、ひらがなだけでの50音順、その後に、カタカナだけでの50音順、というような並べ替えをすることができないのでしょうか?ふりがなを使わない設定にしても文字コード順になるだけで解決できません。並べ替える方法があれば教えて頂けないでしょうか?
よろしくお願いします。

A 回答 (3件)

もっと簡単な方法もあるかもしれませんが、ここは少々強引に・・・


VBAを使います。まず標準モジュールに以下のコードを貼り付けます。
Function SortString(s As String)
  
  If StrConv(Left(s, 1), vbKatakana) <> Left(s, 1) Then
    '1文字目がひらがなの場合
    SortString = "0" & s
  Else
    '1文字目がカタカナの場合
    SortString = "1" & s
  End If
  
End Function

並べ替える文字列がA列1行目からあるとすれば、セル1Bに、
=SortString(A1)として、これを2行目以降にもコピーします。
B列はソート用に作った文字列で、A列の文字列が平仮名ではじ
まるなら前に0をつけ、カタカナではじまるなら前に1をつけた
ものです。
次に、A列とB列を、B列をキーとして並べ替えます。
後はB列を消して完成です。
    • good
    • 0
この回答へのお礼

ありがとうございます。
すいません。初心者なのでVBAはまだやったことがないのです。でも、近々やってみようと考えているので、そのときこの回答を生かしたいと思います。

お礼日時:2006/05/30 22:29

自分も同じようなことで悩みました。

それでひねり出した方法ですが・・・

1、並び替えたい表の先頭にもう一つ列を加える。(自分は「優先順位」という名前にしています。)
2、ひらがなの前のセルには「1」を、ひらがなの前の列には「2」を入力。
3、並び替えの設定で、最優先させる列を今新たに作った列に指定し、2番目に優先させる列をひらがなカタカナ順にしたい列を指定する。
4、見た目が悪ければその列の幅を限りなく狭めればOKです。

本当はもっと専門的な方法があるのでしょうが、素人なのでこれ以上はわかりません。体裁や手間を気にしなければいけると思います。
    • good
    • 0
この回答へのお礼

いやー同じことで悩んだ人がいるとなんか安心します。とても助かりました。
もうちょっと日本語にしっかりした対応をオフィスソフトやWindowsに求めたいですね。この程度の並べ替えですらこのような手段や、VBAを覚えなきゃいけないなんて・・・
ありがとうございました!

お礼日時:2006/05/30 22:34

文字コードの順序に反したソートをしたければ、文字コードで修正コードを作らないとなりません。


一番楽なのは、#2のご回答にもある、ひらがなは0,カタカナは1を入れた1列増やすことです。その列を優先キーとしてソートすることです。1語句は、ひらがな、カタカナ混じりは無いとして、第1字目がひらがなか、カタカナかは
=IF(CODE(LEFT(J1,1))<CODE("ァ"),1,0)などで判別できそうです。
アは小字のア。
    • good
    • 1
この回答へのお礼

ありがとうございました。一度やってみます。

お礼日時:2006/05/30 22:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!