質問: 【excel】ゼロを除いたランク付け(マイナス有) お世話になります。 表題の通りなのですが、excelでマイナス値も含めた点数があり、それに順位を付ける場合の式を教えてください。 例えば a b 1 20 2 24 3 0 4 -5 とした場合、通常の式 「=rank(a1,$b$1:$b$4,0)」 で良いと思うのですが、それでは a b 1 20 2 2 24 1 3 0 3 4 -5 4 となりますよね? しかし、こうではなく a b 1 20 2 2 24 1 3 0 - 4 -5 3 のようにゼロの部分を除いた範囲で順位付けをしたいのです。 見づらくて大変申し訳ありませんが、お知恵をいただければ幸いです。
回答: rank関数の代替は,自分より大きいデータの個数+1番と数えます。 b1: =if(a1=0,"-",sumproduct(($a$1:$a$10<>0)*($a$1:$a$10>a1))+1) 以下コピー。 #参考:同得点を出現順などにして同順位にしない計算も,この応用です。 また既出ご回答の秀逸なアイデアを拝借して =if(a1=0,"-",rank(a1,a:a,0)-if(a1<0,countif(a:a,0))) のようなやり方でもできますね。