[[20180814055909]] 『他の方が作った数式の意味』(くるみ) ページの最後に飛ぶ

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

 

『他の方が作った数式の意味』(くるみ)

こんにちは。

他の方が作った関数で下記のセルがあったのですが、

=IF(ISERROR(SMALL(U8:AI8,COUNTIF(U8:AI8,"<="&R8)+1)),"",SMALL(U8:AI8,COUNTIF(U8:AI8,"<="&R8)+1))

この最後の部分の

COUNTIF(U8:AI8,"<="&R8)+1の"<="&R8+1の部分の意味が分かりません。

状況としては、
U8からAI8までにすでに価格が入力してあります(入っていたり空欄だったり同じ価格だったりします)。
R8,S8,T8には計算式が入っていて、それぞれ最安値、2番目に安い価格、3番目に安い価格が求められるようになっています。
R8には=IF(ISERROR(SMALL(U8:AI8,1)),"",SMALL(U8:AI8,1))が入っていて最安値が表示されます。ここの意味は分かりました。
しかしS8にある問題の式の理解ができず困っております。

"<="&のところで何をしたいのかがググっても出てこないので、どなたかこれの意味を教えていただけないでしょうか。
単純に、=IF(ISERROR(SMALL(U8:AI8,2)),"",SMALL(U8:AI8,2))で2番目に安い価格を出すのと何が違うのでしょうか?

よろしくお願いします。

< 使用 Excel:Excel2013、使用 OS:Windows10 >


最安値が2つ以上の時があるんじゃないですか?

<=は以下を表すので、今回の式では、
r8セル以下の数値の個数+1を求めてます。

(sy) 2018/08/14(火) 07:59


u8:ai8に、1,1,2,2,3,3 とだけ入力して
第2引数を2や3で指定した時と比較すれば
理解しやすいと思います。

(sy) 2018/08/14(火) 08:08


 質問の回答やおまへん。

 ISERRORやなしに、IFERROR関数を使うと数式がコンパクトになりますな。

 =IFERROR(SMALL(U8:AI8,1),"")
 =IFERROR(SMALL(U8:AI8,COUNTIF(U8:AI8,"<="&R8)+1),"")
 
(よみびとしらず) 2018/08/14(火) 09:46

syさん

ご回答ありがとうございます。

>u8:ai8に、1,1,2,2,3,3 とだけ入力して
>第2引数を2や3で指定した時と比較すれば
>理解しやすいと思います。

やってみたら違いがばっちりわかりました。ありがとうございます。

しかし
>今回の式では、 r8セル以下の数値の個数+1を求めてます。

ここがやはり意味が分かりません。

今U8=45.10、V8=45.10、W8=45.82、X8=45.10、Y8=空白、Z8=45.10が入っていてR8には45.10が表示されています。
「r8セル以下の数値の個数」「+1」
とは
「45.10以下の数値の個数(=つまり45.10が4セル分あるので4個?)」「+1」
で答えが5となってしまうのですが、違いますよね。。。

よみびとしらずさん

さらに一歩進んだアドバイスもありがとうございます。とても勉強になりました。

(くるみ) 2018/08/14(火) 10:22


 >「45.10以下の数値の個数(=つまり45.10が4セル分あるので4個?)」「+1」 
 >で答えが5となってしまうのですが、違いますよね。。。 

 それで合ってますよ。

 最小値の次に小さい数値=45.82を求めようとして =SMALL(U8:AI8,2) にしても
 45.1になりますわな?
 45.82を求めたかったら、その場合は5番目に小さい数値にせなあきまへん。

 最小値の次に小さい値
 最小値が1個やったら → 2番目に小さい数値
 最小値が2個あったら → 3番目に小さい数値
 最小値が3個あったら → 4番目に小さい数値
 最小値が4個あったら → 5番目に小さい数値

 これでわかりまっしゃろか?
 
(よみびとしらず) 2018/08/14(火) 11:43

コメント返信:

[ 一覧(最新更新順) ]


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