PowerQueryが使えるなら...
データ
→テーブルまたは範囲から
→「先頭行〜」にチェックを入れてOK
→詳細エディター
→以下のコードを貼り付け
let
ソース = Excel.CurrentWorkbook(){[Name="テーブル1"]}[Content],
Grp = Table.Group(ソース, {"性別", "年代"}, {{"売上", each List.Sum([売上]), type nullable number}}),
Rnk = Table.AddRankColumn(Grp,"全体順位",{"売上",Order.Descending}),
Srt = Table.Sort(Rnk,{{"性別", Order.Ascending}, {"年代", Order.Ascending}})
in
Srt
→OK
→閉じて読み込む
A B C D
1 性別 年代 売上 全体順位
2 女性 10代 7000 6
3 女性 20代 9000 5
4 女性 30代 10000 4
5 女性 40代 5000 8
6 女性 50代 7000 6
7 男性 10代 2000 10
8 男性 20代 14000 1
9 男性 30代 12000 3
10 男性 40代 13000 2
11 男性 50代 4000 9