- ベストアンサー
Excelで文字列の並べ替え方法を教えてください
- Excelの列Bの文字列データを昇順で並べ替える方法を教えてください。
- 並べ替え操作を行わずに列C、Dに表示される数値を求める方法を教えてください。
- 文字列の長さは最大10文字とし、マクロを使用しない方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
振り仮名を使わずの例示が手元の計算と異なりますが、まぁ置いておいて。 順位は要するに「自分より『小さい(大きい)』データ」の個数+1です。 使わない方が計算は簡単で D2: =SUMPRODUCT((B$2:B$8<B2)*1)+1 以下コピー とかで十分です。 使う方はPHONETIC関数の特性を逃げるため、例えば C2: =SUMPRODUCT((PHONETIC(INDIRECT("B"&ROW(B$2:B$8)))<PHONETIC(B2))*1)+1 以下コピー みたいに、仕込みが要ります。
その他の回答 (1)
- f272
- ベストアンサー率46% (8467/18126)
E2=CODE(B2) F2=RANK(E2,$E$2:$E$8,1) $E$8の8は適当に変えてください。 として下にコピーすればF列にふりがなを使わない時の順位が分かります。 E2=CODE(PHONETIC(B2)) F2=RANK(E2,$E$2:$E$8,1) $E$8の8は適当に変えてください。 として下にコピーすればF列にふりがなを使わう時の順位が分かります。 どちらも1文字目だけを見て判断していますので,1文字目が同じであれば同順位になります。それが嫌なら E2=CODE(B2) E2=CODE(PHONETIC(B2)) を E2=CODE(MID(B2,2,1)) E2=CODE(MID(PHONETIC(B2),2,1)) などと変更すれば2文字目をみることになりますから,それも加えて判断するように変更すればよいでしょう。
お礼
ご回答、ありがとうございました。 》 …などと変更すれば2文字目をみることになりますから, 》 それも加えて判断するように変更すればよいでしょう。 やはり、そういう手しかないですか。 佐村河内守氏、勅使河原由佳子さん、小比類巻かほるさんのように長い苗字の人が複数存在している場合もそういう手を使うしか方法はないですかね?
お礼
》 振り仮名を使わずの例示が手元の計算と異なります あれッとビックポンしました。 改めて試したら、上から 6、5、1、4、3、7、2 の間違いと分かった次第です。 ご指摘、ありがとうございます。 》 順位は要するに「自分より『小さい(大きい)』データ」の個数+1です なるほど!正に目から鱗でした。 この度は誠にありがとうございました。