
No.2ベストアンサー
- 回答日時:
何十年コンピュターの利用者であったのですが、自分の考えていたイメージと違うこの事実は予想外で衝撃的でした。
か9259
が9260
のコードなので「か」が昇順で先出すると思っていました。
#1のご回答をみて、同様のことを違った方法でやれそうに思って
A列にひらがな文字列があるとき、3列列挿入して
(A6でやったが、特に意味はありません)
B列に=CODE(MID(A6,1,1))
C列に=CODE(MID(A6,2,1))
D列に=CODE(MID(A6,3,1))
以下あればF,G、H・・の第2引数を4,5,6・・とする。適当な文字数で打ちきる。
そこでB、C、D列でソートする。
エクセルで4列以上のソートは解説書に解説あり(略)。
下記のように並ぶ。
(A列) (B列) (C列) (D列)
なかやま929092599316
ながい929092609252
あるいはc列に=CODE(MID(A6,1,1))&CODE(MID(A6,2,1))&CODE(MID(A6,3,1))も出きるようです。
929092599316
そうすれば、C,D、Eを使って、先頭から9文字までなら、列数を3列以下に出来そうです。
通常名前などなら先頭から読みのかなの4-5文字で実用の順序になるでしょう。
この回答へのお礼
お礼日時:2004/04/08 22:10
ありがとうございました!すばらしい!
感謝感謝です^^
お二人の考え方これからのエクセル人生?(笑)に役に立つことだと思います。また是非わからないことあったら教えて下さいm(_ _)m>ご協力頂いたお二人様。
No.1
- 回答日時:
初めてご質問されたようですので、まず、このカテゴリーでのエチケットについてお話いたします。
アプリケーションソフトのバージョンによっては、回答で得られた操作が可能なものと不可能なものがある場合があります。
よって、エクセルのバージョンや、場合によってはOSのバージョン、操作環境などの提示を必ず明記してください。でないと、最適な解が得られません。
また、そのアプリケーションソフトについての使用レベル(初心者~上級者)や、データ表の構成なども場合によっては説明していただかないと回答できない場合がありますので、今後は、それらの点をご留意くださった上でご質問ください。
さて、ご質問の件ですが、通常、五十音順並び替えのルールでは、清音も濁音も、同じ音と捉えられ、区別されることはありません。また、清音と濁音を区別することに意味があまりないことが多いので、エクセルにおいても、ご質問のような結果になってしまいます。
たとえ、メニューのツール→オプションで出たダイアログの、ユーザー設定オプションタグで、あなたのルールに従った新規リストを作っても、できません。
それでも清音と濁音で、清音を優先させたいのであれば、面倒ですが、関数式の表を作成して並び替えさせることが可能です。
たとえば、名前が列記された列がA列だと仮定します。名前はA2セルから下にずらっと入っているとします。
B列が空白であるとすれば(埋まっていたら空白となる列名に置き換えてください)、たとえばB2セルに、
=LEN(A2)と入れてください。名前データの最終行まで、上記式をB列の対応する行にコピーしてください。A列の名前の文字数が表示されます。
B列の最大値を調べます。
任意のセルに、=max(b:b)と入れ、出てきた値が最大文字数です。
C列以降の列(埋まっていたら空白となる列名に置き換えてください)に、最大文字数に該当するまで、C列1行目から、d列以降の1行目に1から順に番号をつけていきます。
sheet2(何も入っていないシート)のA列に、
あ い う え お か が き ぎ く ぐ・・・
ん と、ご希望の五十音の並びの順に一文字ずついれてきます。となりのb列に、「あ」には11、「い」には12・・・と、順番に2桁の番号を入力します。
また、sheet1にもどります。次に、C2セルに、
=IF($B2>=C$1,VLOOKUP(MID($A2,C$1,1),Sheet2!$A$1:$B$70,2),"00")と入力します。
この式を、最終行の最終列までコピーします。
最終列の左の列に、
=CONCATENATE(C2,D2,E2,F2,・・・)と、最終列までのセル番地を入れた式を入力します。
最後に、名前の入った最初の列から、=CONCATENATE(C2,D2,E2,F2,・・・)までの列の、最初の行~最終行までを範囲選択して、メニューのデータ→並び替えで、並び替えで最優先されるキーに、=CONCATENATE(C2,D2,E2,F2,・・・)の入っている列を指定し、okボタンをクリックします。
その際、「数値に見えるものは数値として並び替えを行う」か、「数値とテキスト形式の数値を分けて並び替えを行う」のどちらかを選択するよう指示されたら、後者を選択してokボタンをクリックします。
希望の順番で並び返されるはずです。
この回答へのお礼
お礼日時:2004/04/08 22:14
初めての私にルールから教えていただき大変ありがとうございました。この回答は大変参考になりました。ちなみに、、、おはずかしながら。。エクセルは10年近くさわっております・・・・。経験じゃないですね^^
エクセルの可能性感じました。。感謝感謝です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの複雑なシフト表から...
-
エクセルの関数について
-
【マクロ】実行時エラー '424':...
-
【マクロ】変数に入れるコード...
-
エクセルのリストについて
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
【マクロ】【配列】3つのシー...
-
【マクロ】元データと同じお客...
-
Office2021のエクセルで米国株...
-
【マクロ】左のブックと右のブ...
-
【画像あり】オートフィルター...
-
他のシートの検索
-
エクセルのVBAで集計をしたい
-
vba テキストボックスとリフト...
-
【関数】3つのセルの中で最新...
-
【マクロ】excelファイルを開く...
-
エクセルシートの見出しの文字...
-
LibreOffice Clalc(またはエク...
-
【マクロ】別ファイルへマクロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】元データと同じお客...
-
エクセルの関数について
-
【画像あり】オートフィルター...
-
エクセルのVBAで集計をしたい
-
エクセルのリストについて
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
Office2021のエクセルで米国株...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
-
エクセルの複雑なシフト表から...
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
【マクロ】左のブックと右のブ...
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】別ファイルへマクロ...
-
【関数】同じ関数なのに、エラ...
-
Amazonでマイクロソフトオフィ...
-
ページが変なふうに切れる
おすすめ情報