関数で金額順に並び替える技① - Vol.41 -
8月 27, 2018
スゴ技会計士からの挑戦状 VOL.41
┃関数で金額順に並び替える技①
エクセルのフィルタや並べ替え機能はとても便利なのですが、マウスを使った作業が多くなり、
・毎回の作業となると時間がかかる
・手作業のためミスが発生しやすくなる
・手順を人に引き継ぎするのに手間がかかる
といったデメリットもあります。
試行錯誤の段階ではマウスを使ったこのようなフィルタ作業も仕方ありませんが、ルーチン業務になったら関数で実現できないかを考えてみましょう。
基本的な関数を活用することで実現できることが多いです。
【問題】難易度★★★
「支店別売上データ」を、関数で売上順に並び替えてください。
【ヒント】
まずはそれぞれの支店の順位を求めます。
順位はCOUNTIF関数で求めてみましょう。
各支店の売上以上の金額が、売上全体の中にいくつあるかを数えます。
並べ替えにはVLOOKUP関数を使ってみてください。
【解答例】
COUNTIF関数やSUMIF関数で、「以上」とか「以下」の条件を指定する方法があります。
ご存じない方が多いので必ず身につけてください。
まずは北海道支店の順位を求めます。
北海道支店の売上順位は「3位」です。
これは北海道支店以上の売上が、北海道も含めて3件あることを意味します。
つまり北海道支店の順位を知りたければ、全支店の中で北海道支店の売上以上の件数を数えればいいことになります。
条件に合致する件数を数えるのですから、COUNTIF関数を使います。
例えばA1~A4の範囲に「50超」のセルがいくつあるか調べたい時は、以下のようになります。
=COUNTIF(A1:A4,">50")
ポイントは「検索条件」を「文字列」で指定するところです。
文字列で指定するため、セル参照を活用した柔軟な抽出が可能になります。
B列の中にB3セル以上の金額がいくつあるかを知りたい時は以下のようになります。
=COUNTIF(B:B,">="&B3)
これを下までコピペすると、各支店の順位を求めることができます。
範囲を列ごと指定する方法にも慣れてください。