• ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • 日経BP
  • PR

  • PR

  • PR

  • PR

  • PR

Excel即効テクニック

同じ数字に順位をつける方法

■対応バージョン: Excel 5.0、95、97、98(Mac)、2000

田中 亨=テクニカルライター 2006/02/23 日経パソコン

 ある数字が特定の範囲内で何番目の順位かを調べるにはRANK関数を使う(図1)。試験の順位を求めるときなどに便利だが、RANK関数は「同じ数字は同じ順位を返す」という大きな特徴がある。図1では鈴木さんの79点と黒沢さんの79点が同じ点数なので、2人とも第2位と判定された。

 だが、同じ数字であっても異なる順位を決めたいときがある。たとえば、第2位が2人になったが、第2位の商品や賞状を1つしか用意していなかった場合などだ。そんなときは、鈴木さんか黒沢さんのどちらかに第3位として泣いてもらうことになる。これをワークシート関数で自動化してみよう。ここでは計算を簡単にするため、同点だった場合はリストの下に入力されている人を上位とする。

 問題になるのは「3」行目の「79」点と、「5」行目の「79」点だ。どちらも得点だけを見ると違いはないが、入力されている行番号が異なっている。これを利用して、3行目の得点を「79.003」、5行目の得点を「79.005」と変換できれば両者に差が出てくる。つまり、得点をそのまま判定するのではなく、「得点+行番号÷1000」をRANK関数で調べればいいのだ。

 図2はC列で一度「得点+行番号÷1000」を計算している。これは、RANK関数内では引数の計算が許されていないからだ。行番号を1000で割ったのは、本来の得点に影響しない非常に小さな数字を加えたかったためだ。100でも10000でもかまわない。D列にRANK関数を入力して順位を表示したのが図3。C列の仮計算がジャマなら、列を非表示にすればいい。

図1 順位を返すRANK関数は、同じ数字には同じ順位を返してしまう


図2 C列で「得点+行番号÷1000」を算出した。行番号を取得するにはROW関数を使う


図3 今度は同じ順位にならない

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

  • 【波乱のエネルギーIT】

    RPAにすがりたい電力業界、膨らむ事務処理に機運高まる

     銀行や製造業などで導入が相次ぐソフトウェアロボット「RPA」。中国電力IT子会社のエネコムがRPAのクラウドサービスの提供を開始した。RPAツールの導入支援を手がけるシステムインテグレーターやコンサルティング会社は増えているが、クラウドサービスは珍しい。実は、電気事業とソフトウェアロボットは相性が…

ITpro SPECIALPR

What’s New!

経営

アプリケーション/DB/ミドルウエア

クラウド

運用管理

設計/開発

クライアント/OA機器

ネットワーク/通信サービス

セキュリティ

もっと見る