pickup

目次

グループ毎にランクを振るの関数とは?

こんにちは。伊川(@naonaoke)です。

ExcelとACCESSでは、ランクを振る数式は、まったく異なります。

ExcelとACCESSでは、カウント系の関数を使います。







ACCESS編







問題提起

(株)IKAWAの阿久 世子男(アク セスオ)は上司から下記の依頼を受けました。

ACCESSでグループ毎にランクを振ってほしい。

クエリでどのようなSQL文を記載したらいいだろうか?








解決策

回答
sesuo2.jpg
・クエリでDoCount関数を使ってクエリを作成する







DoCount関数

ACCESSではExcelでのCOUNTIF関数のような役割があります。

個人的見解では、DoCount関数を利用すると、ACCESSの作動が重くなるような気がします。

しかし、今回は、DoCountでランクを振りたいと思います。

DoCount関数 作成手順その1 データベース確認

分類をグループとして、売上順にランクを振ります。







DoCount関数 作成手順その2 クエリを確認


最初で ”*” を入力しているのは、単純にカウントするだけなので、任意にフィールドを指定しています。

任意のフィールドなので、”*”としています

 

順位: Nz(DCount("*","MT_売上","[分類]='" & [MT_売上].[分類] & "' And [売上] > " & Nz([MT_売上].[売上],0)),0)+1

上のSQL文がランクを付けるコードです。







Excel編







問題提起

・(株)IKAWAの柄久 瀬瑠子(エク セルコ)は上司に下記の依頼を受けました。

グループ毎の売上順にランクを付けて欲しい。

どのような関数を使えばいいだろうか?








解決策

回答
sesuo2.jpg
・COUNTFIS関数で解決する。

COUNTIFS関数

COUNTIFS関数は上の記事で説明しています。

しかし、今回は、トリッキーな方法かも知れません。

COUNTIFS関数 作成手順その1 データベース確認

.

やることは、ACCESSと同じです。

COUNTIFS関数 作成手順その2 数式確認



=COUNTIFS($A$2:$A$29,A2,$B$2:$B$29,">"&B2)+1







ここがポイント

ここがポイント
Function8.png
ExcelとACCESSも、カウント系の関数でグループ毎のランクを付けることができました。知っている関数を応用することで、色々な工夫ができます。。

 







まとめ

今回は、Excel、ACCESSのグループ毎のランク付けを紹介しました。

ACCESSとExeclの連携ではありませんが、各ツールごとに憶えておくことも重要です。

 








今回のサンプルファイルは、No83です。

毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

スポンサーリンク

Twitterでフォローしよう

おすすめの記事