質問では並べ替え前のデータ個数が7個、並べ替え後が8個になっています。Excelの並べ替え機能ではデータ個数の増減はできないので、何らかの処理手順が必要になります。
並べ替え後の意味を、「数字のついた文字で並べ替え、その文字の先頭の場合に前に文字を表示し、数字のついた文字が現れない文字については、文字のみを表示する」と解釈しました。
○セルA2:A6に{a、b、c、d、e}を入力。
○セルB2:B8に{b1、a2、a1、c1、e1、c3、c2}を入力。
○セルC2に「=LEFT(B2,1)」を入力してC8までコピー。
○セルD2に「=COUNTIF($C$2:$C$8,A2)」を入力してD6までコピー。
{2、1、3、0、1}が表示されるはずです。
○セルF2に「=IF(D2=0,A2,"")」を入力してF6までコピー。
○セルF7に「=C2&" "&B2」を入力してF13までコピー。
○セルF2:F13をコピーして、セルH2に値貼り付けします。
○セルH2:H13を選択して、「データ」タブ>「並べ替えとフィルター」グループ>「降順」ボタンをクリックします。セルH2:H9に文字が見えるはずです。
○セルH2:H9を選択して、「データ」タブ>「データ ツール」グループ>「区切り位置」ボタンをクリックします。
区切り位置指定ウイザード 1/3で、カンマやタブなどの・・・を選択し「次へ」。
区切り位置指定ウイザード 2/3で、区切り文字の「スペース」をチェックし「次へ」。
区切り位置指定ウイザード 3/3で、表示先を「$J$2」にして完了。
○セルJ2:K9を選択して、「データ」タブ>「並べ替えとフィルター」グループ>「並べ替え」ボタンをクリック。
最優先されるキーをJ列、昇順、
次に優先されるキーをK列、昇順にして「OK」ボタンをクリック。
○セルM2に「=IF(J2=J1,"",J2)」を入力してM9までコピー。
○セルN2に「=K2&""」を入力してN9までコピー。
これで完成です。
質問にあるように、1文字と数字1桁の前提です。文字が1文字以上だったり、数字が1桁以上がある場合は、
セルC2に入力する算式を
「=LEFT(B2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},ASC(B2)&1234567890)-1))」
にしてください。
お礼
詳しく記載していただきありがとうございます。 参考にさせていただきます。