- 締切済み
Excel2002での並べ替え
Excel2002でアンケートの集計をし、会社名でデータの並べ替えをしています。 以下のデータがあるとします。 人形劇団あああ 劇団おおおおお かかか本舗 二人組み 財団法人いいいいいい 人形劇団ささ このデータを 人形劇団あああ 財団法人いいいいいい 劇団おおおおお かかか本舗 人形劇団ささ 二人組み というように、並べるにはどのようにしたら良いのでしょうか?データは全部で300件ぐらいあります。初心者にもわかる、簡単な操作方法を教えていただけたら嬉しいです。 どうぞよろしくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- 1ryokutya
- ベストアンサー率34% (19/55)
こんなのはどうでしょうか。簡単ですよ。 ツールのオプションを開く→ユーザー設定リストを選択→リストの項目に 人形劇団あああ 財団法人いいいいいい 劇団おおおおお かかか本舗 人形劇団ささ 二人組み と入力する(又は左のリストのように入力)→追加→OK 次に並べ替えにはいります。 データの並べ替えを開く→オプションを選択→並べ替え順序の指定を自分が作成した、人形劇団あ・・・・~を選択する→OK→OK これで希望の順序に並び変わります。 番号順やあいうえお順など以外の並び替えの場合はこの方法で並び替えるといいと思いますよ。
- at121
- ベストアンサー率41% (85/206)
#2 と同じですが・・明示的に 削除するものを定義するマクロ:ユーザー関数にしました。 会社名は 法人肩書き & 法人名前 または 法人名前 & 法人種類 として 前にある 法人肩書き を削除して 後ろの 本舗 など 法人種類 はそのままとします。 法人肩書き = "・・・に 必要な項目を、句読点区切りで、 長いものを前に配置して 設定してください。 ・・、株、株式会社、・・ だと 株だけが先に削除され 式会社・・が残ります・・ 二人組み など 肩書きの無いものに対処するため・・ それとも これは 名前が無いのか・・ 名前がない場合 "_??_" としてあります。 ソートしやすいように 変更してください。 ツール-マクロ-Visual Basic Editor 挿入(I) -標準モジュール ↓ 以下を貼り付ける ↓ Function 法人肩書き削除(セル As Range) '下記の 前置き 法人肩書き を削除する。 '全角句読点区切り とし 長いものを前に配置 すること 法人肩書き = "二人組み、人形劇団、劇団、(財)、財団法人、(株)、(株)、株式会社、(有)、(有)、有限会社," 法人肩書きs = Split(法人肩書き, "、") 法人名 = Trim(セル.Value) For Each 法人肩書きe In 法人肩書きs If 1 = InStr(1, 法人名, 法人肩書きe, vbTextCompare) Then 法人名 = Trim(Mid(法人名, Len(法人肩書きe) + 1)) Exit For End If Next If 法人名 = "" Then 法人名 = "_??_" '名前がない場合 法人肩書き削除 = 法人名 End Function
- subri
- ベストアンサー率28% (16/56)
データが少ないので、手入力でインデックスを1列作ってみてはいかがでしょうか。 入力されている列を右クリックで選択し、挿入。 できた列に あ お か ふ い さ この2列を選択して データ→並べ替え→最優先されるキーをインデックスの入力されている列にします。 これから追加の劇団の名前を入力するついでにインデックスも入力する規則を作っておくといいですね。 また、どうしても関数などで自動的にしたい場合は、 ルールを教えてください。 例)財団法人、劇団、人形劇団の3語は無いものとする、などです。
- Wendy02
- ベストアンサー率57% (3570/6232)
>初心者にもわかる、簡単な操作方法を教えていただけたら嬉しいです。 初心者対象ではありませんが、 ツール-マクロ-Visual Basic Editor 挿入(I) -標準モジュール 以下を貼り付ける '--------------------------------------------------- Function 漢字削除(ByVal セル As Range) As String Dim objReg As Object Dim myStr As String Dim myPat As String Set objReg = CreateObject("VBScript.RegExp") myPat = "[^ぁ-ん]+" With objReg .Global = True .Pattern = myPat 漢字削除 = .Replace(セル.Value, "") End With Set objRge = Nothing End Function '--------------------------------------------------- 後は、通常の関数と同じように =漢字削除(A1) とすれば、ひらがなだけが出てきますので、その列を並び替え ただし、 >人形劇団あああ こういう漢字、ひらがな混じりの文字列に対してのみです。
- fukkyse
- ベストアンサー率32% (130/402)
この5個の内容からすると、(A列にデータがあるとして) B列に、=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"人形劇団",""),"劇団",""),"財団法人","") として、データ→並べ替え→B列。でよいのでしょうけれども…。置換する数が不明です。 300件ぐらいのデータですので、B列に =MID(A2,C2+1,LEN(A2)-C2) データを見ながら、C列に左側から削除したい文字数を入力あたりでも大丈夫ではないでしょうか。