[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『他の方が作った数式の意味』(くるみ)
こんにちは。
他の方が作った関数で下記のセルがあったのですが、
=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 >
<=は以下を表すので、今回の式では、
r8セル以下の数値の個数+1を求めてます。
(sy) 2018/08/14(火) 07:59
(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
ご回答ありがとうございます。
>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.