アプリ版:「スタンプのみでお礼する」機能のリリースについて

マイクロソフト オフィス エクセルで、
100社の会社名が縦に並んでおり、それぞれ会社名の右横に売上の金額が記載されているとします。

その時、売上の高い順から順位をつけていきたいのですが、会社によっては売上が”0”の場合とシステム上セルが空白になっている場合があります。

順位を必ず連番にしたい場合(売上の数値が同じでも同じ順位ではなく、必ず連番としたい、ただし同じ売上の会社の順番は問わない(アルファベット順等は関係無い))、
どのような関数を組めば良いでしょうか。

Rank関数とCountifを組み合わせる方法はWebで見つかりましたが、
上記のすべての要件を満たす場合、さらに複雑な関数が必要かと思います。

※関数で完結するのが望ましいです。
※100社の会社名と売上の金額はRawデータを元にピポットで集計したものが元になっています。
 →同じ会社名で複数の売上レコードがあり、それを合算する必要があるためです(そのためピボットは崩せません)。

A 回答 (2件)

No.1です。



結局作業用の列を使うのではなく、一気に結果を表示したい!というコトですよね?

前回アップした画像の配置通りだとして・・・
C2セルに
=IF(A2="","",IF(OR(B2="",B2=0),COUNTIF(B:B,">0")+COUNTIF(B$2:B2,"")+COUNTIF(B$2:B2,0),COUNTIF(B:B,">"&B2)+COUNTIF(B$2:B2,B2)))

という数式を入れ下へコピーしてみてください。m(_ _)m
    • good
    • 0

こんばんは!



要するに「RANK関数」で同順位があっても同じ順位を表示しなければよいのですね?

>会社によっては売上が”0”の場合とシステム上セルが空白になっている場合があります。

「0」だけであれば簡単なのですが、「0」と「空白セル」の順位も必要だというコトだと思いますので、
一例です。

↓の画像のように作業用の列を1列設けておきます。
作業列E列は空白セルも「0」になるようにしておきます。
E2セルは単純に
=IF(A2="","",B2)
という数式を入れフィルハンドルでずぃ~~~!っとこれ以上データはない!というくらいまで下へコピー!
このE列データを利用します。

順位のC2セルに
=IF(A2="","",COUNTIF(E:E,">"&E2)+COUNTIF(E$2:E2,E2))
という数式を入れフィルハンドルで下へコピーすると
画像のような感じになります。

※ 同順位の場合は上側の行が上位となります。m(_ _)m
「エクセル 0や空白もランキングでカウント」の回答画像1
    • good
    • 0
この回答へのお礼

ありがとうございます。

Rawデータの関係上、空白を0におきかえることができないのが悲しいです。。。
ただ、参考にさせて頂きます。

もし空白であってもランキングカウントできる方法あれば、ご教示頂けますと幸いです。。。

お礼日時:2016/12/29 10:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!