- ベストアンサー
エクセルの「昇順で並び替え」について
会社名別のリストを作成したのですが、会社名の前後に(株)や(有)を入れたことにより「昇順で並び替え」を実行すると、(株)や(有)を優先して並び替えが行われてしまうのです。 そこで、(株)や(有)はセル上にそのまま表示させておき、なおかつ純粋に会社名のみの並び替えを行いたいのですが、どなたかご存知でしたら教えて下さい。 宜しくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
少し面倒ですが、(株)や(有)を表示形式で表示するように変更すれば、可能と思います。 以下はその操作例です。 1) 先頭に(株)が付いたすべてのセルを選択し、「書式」→「セル」→「表示形式」タブを開き、「分類」の「ユーザー定義」で、「@」選び、「"(株)"@」に編集して「OK」を押します。 2) 社名が「(株)(株)あいう」のように表示されますので、「編集」→「置換」で、「検索する文字列」に「(株)」と入力し、「すべて置換」を押しますと、社名が「(株)あいう」と表示されますが、数式バーで確認すると(株)が削除された「あいう」となります。 3) (有)についても同様に操作します。
その他の回答 (4)
- imogasi
- ベストアンサー率27% (4737/17070)
新しい作業列的な列に会社組織名を省いた修正ソートキーを作らないと、他のミラクルのような方法はない。 MS社が、「カタカナを使う」ソートの場合のような仕組みをプログラムを別途組んでいてくれれば、形の上ではそうできそうですが、そうなってません。組織名、組織略号も頻出するものも、20-30ぐらい以上あるので、昔に私はプログラムを自作して対処してました。 要領を噛ますと 前株など前XXだけ削除にとどめる 事実上、(株)や(有)しかないと看做して関数で修正する )の後まで関数で削除 など 後は人間が見直して手作業で修正するなどです。 A列 B列 D列(組織名や略号) 越後屋 0 株式会社 有)東京 東京 (株) 株式会社千葉組 千葉組 有) 有限会社 東工事 東工事 有限会社 ユーザー関数は Function sosiki(a) d = Range("D65536").End(xlUp).Row For i = 1 To d p = InStr(a, Cells(i, "D")) If p <> 0 Then sosiki = Trim(Right(a, Len(a) - Len(Cells(i, "D")))) Exit Function End If Next i sosiki = 0 End Function 使い方はB1に=SOSIKI(A1) 下方向に式を複写 削除する組織名はD列に入れているとする。
- ookami1969
- ベストアンサー率14% (137/953)
結論 下記の3名のやり方でしょう。 スマートにやりたいと考えるならば「フリガナ」の列を挿入して、そこを基準にして並べ替えるのがよろしいかと。
- miazsm
- ベストアンサー率17% (34/192)
私は、いつも読み仮名も表に入れて、それを基に並び替えてました。 全部入れずに、最初から3~4文字に固定してました。 プリントアウトに邪魔なら、表からチョットずらして配置しておいて、印刷範囲に入らないようにしました。
- tomname
- ベストアンサー率20% (3/15)
作業列を1列作って 作業列に会社名をコピーした後、置き換えで (株)や(有)を空白に置換した後作業列で並び 替えするっていうのはどうでしょうか?