- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルでn番目に小さな値を重複値からもとめたい)
エクセルでn番目に小さな値を重複値からもとめたい
このQ&Aのポイント
- エクセルのワークシート関数で小さいほうから2番目を求める場合、通常はSMALL関数を使います。
- 重複する値がある場合、=SMALL(A1:A20,COUNTIF(A1:A20,MIN(A1:A20))+1) のように最小値の数+1番目で求めることができます。
- n番目の値を求める場合、=SMALL(A1:A20,COUNTIF(A1:A20,"<="&SMALL(A1:A20,COUNTIF(A1:A20,MIN(A1:A20))+1))+1) のように書けます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
回答No.3
有名な問題のようなのだが、 趣旨を誤解していたらすみません、無視してください。 もっと質問にデータ例を書いて説明してください。自己流の試行錯誤の、式ばかり書かず、データ例と、ほしい結果を掲示してくれた方がよくわかる。 また作業列(中間結果列)を使っているのが、気に食わない時もスルーして。 例データ A1:A16 23 34 1 3 5 45 63 2 3 5 6 78 56 4 4 -- E2セルに =RANK(A2,$A$2:$A$16,1)+COUNTIF($A$2:A2,A2)-1 下方向に式を複写。 E2:E16 10 11 1 3 7 12 14 2 4 8 9 15 13 5 6 G2セルに何番目の数字を入れる H2セルに =INDEX($A$2:$A$16,MATCH(G2,$E$2:$E$16,0),0) 例えばG2に 7を入れると、H2は 5 とでる。
質問者
お礼
ありがとうございます。 質問の書き方が悪かったようです。 単にn番目だけを求めたい場合、もっと簡単な方法とは作業列などを使わない趣旨でした。すみません。 仮に3番目であれば以下の数式で求められることがわかりました。 =SMALL(IF(FREQUENCY(A1:A20,A1:A20),A1:A20),3)
- msMike
- ベストアンサー率20% (364/1804)
回答No.1
お礼
ありがとうございます。 助かりました!