関数で金額順に並び替える技③ - Vol.43 -
9月 29, 2018
スゴ技会計士からの挑戦状 VOL.43
┃関数で金額順に並び替える技③
【問題】難易度★★★★
「支店別売上データ」を、関数で売上順に並び替えてください。
金額が同じときは上の行を上位にしてください。
【ヒント】
前回エラーになった原因を考えましょう。
「順位」が「1」のときエラーになっています。
これはH列の「売上順」に「1」がないことが原因です。
「東京」と「大阪」の売上が同順位なので、1位が存在しないのです。
このような場合は同じ金額でもユニークになるように工夫する必要があります。
ユニークというのは「他と重なっていない」という意味です。
【解答例】
同じ金額をユニークにするためのアイデアとして、小数点以下を利用する方法があります。
今回は若い行番号を上位に表示したいので、行番号の逆数(1÷行番号)を売上に加算します。
このようにすれば、同じ売上があってもユニークであることが保証されます。
このユニークキーを使って売上順を求めると、ユニークな売上順になります。
ここまできたら同じ金額の「順位」を同順位で表示したいですよね。
今回はRANK関数を使うと実現できます。
このようにしておけば、売上データを変更するだけで、売上順に並べ替えた報告用資料を作成することができます。
ルーチン業務は関数で実現できないか、見直してみましょう。