[[20041118201604]] 『範囲内で2番目に大きな数値を返す方法について』(蟹江) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『範囲内で2番目に大きな数値を返す方法について』(蟹江)

   A
1 400
2 400
3 300
4 300
5 200

とあるときに、2番目に大きな数値を求めるためにLARGE(A1:A5,2)とすると400が返りますが
重複した同一の値の数値は同じ順位にして(つまりA1とA2は1位、A3とA4は2位)、上の例で2番目に大きな値=300を求めるにはどのようにすればよろしいのでしょうか?

よろしくおねがいします。


 =LARGE(A1:A5,COUNTIF(A1:A5,MAX(A1:A5))+1)
 こんなのはどうでしょうか。
 (川野鮎太郎)


ありがとうございます!この方法だと3位、4位にも対応できそうです。
素早いお返事に感謝します!
(蟹江)


すみません、上記の方法では3位、4位に対応できませんでした。
1位、2位がわかるのでそこから3位を求められないか自分で考えてみたのですが、なかなか結果がでません。お知恵を拝借お願いしますm(_ _)m
(蟹江)


 こんなのはどうでしょうか。
	 A	 B	 C
  1	500	1	500
  2	500	2	400
  3	400	3	300
  4	300	4	200
  5	200		
  6	500		C2=LARGE($A$1:$A$10,COUNTIF($A$1:$A$10,">="&C1)+1)
  7	500		以下コピーで。
  8	400		
  9	300		
 10	200		
 (川野鮎太郎)


たびたびありがとうございます。うまくできました!
こういうやり方だったのですね。参考になりましたm(_ _)m(蟹江)

 解決していますが、指定した順位の数値を表示するものです。           (LOOKUP)
 B1に順位、C1に
 =IF(ISERR(LARGE(IF(FREQUENCY(A1:A9,A1:A9),A1:A9),B1)),"",
 LARGE(IF(FREQUENCY(A1:A9,A1:A9),A1:A9),B1))

   A  B  C
1 400  4  200
2 400		
3 300   		
4 300		
5 200		
6 350		
7 200		
8 100		
9 100		

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.