[[20180808112148]] 『sumproductについて・・・。』(ゾーマ) ページの最後に飛ぶ

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

 

『sumproductについて・・・。』(ゾーマ)

sumproduct関数がいまいち分からず質問します。

 ABCDEFGHI
1あか 式あいうえお
2けこ 式
3あい 式

式には=IF(Sumproduct(COUNTIF(A1:B1,"*"&($E$1:$I$1)&"*")),"o","x")
が入っており、E1:I1の文字がA1:B1に入っているかどうかをマルバツで判断する式になってます。
上から○×○になります。

IFはおかざりですので除くと
(たぶんワイルドカードも曖昧検索用のおかざりだと思いますが、)
=Sumproduct(COUNTIF(A1:B1,"*"&($E$1:$I$1)&"*"))
これだと個数を調べる式になってますので
上から102になります。

なぜこれで個数を調べられるのかいまいちよく分かってません。

そもそもCOUNTIFの検索条件に範囲を指定できるのか
(1個というか一つの文字だけだと思ってました。SUMPRODUCTと何か関係が?)
SUMPRODUCTはかけ算と足し算をまとめて行う関数だと思ってたので余計分からなくなりました。

SUMPRODUCT関数は数値以外の配列要素は、0であると見なされます。
とあったのでたぶんこれ何でしょうけれどもいまいち分かりません。

=Sumproduct(COUNTIF(A1:B1,"*"&($E$1:$I$1)&"*"))
わかりやすい解説をどなたかお願いできますでしょうか。

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


 まずCOUNTIF(A1:B1,"*"&($E$1:$I$1)&"*")の結果は
 COUNTIF(A1:B1,"*"&($E$1)&"*")
 COUNTIF(A1:B1,"*"&($F$1)&"*")
    〜
 COUNTIF(A1:B1,"*"&($I$1)&"*")
 の結果の配列となる。
 通常の関数では配列に対応していないので配列に対応した
 SUMPRODUCT関数で上記の結果を足している。
(ねむねむ) 2018/08/08(水) 13:06

 なお、式の確定時にShifキーとCtrlキーを押しながらEnterキーを押すことで配列計算を行えるものもあるので、
 SUMPRODUCT関数をSUM関数にしたうえでShift+Ctrl+Enterとすると同じ結果になる。
(ねむねむ) 2018/08/08(水) 13:09

 >(1個というか一つの文字だけだと思ってました。SUMPRODUCTと何か関係が?)
 何の関係もありません。

 >SUMPRODUCTはかけ算と足し算をまとめて行う関数だと思ってた
 その理解でいいです。 
 でも、かけ算は、最低2つの配列があって初めて実行されます。

 配列は、この数式の中に一つしかないですよね?
     ↓
 >=Sumproduct(COUNTIF(A1:B1,"*"&($E$1:$I$1)&"*")) 
            ~~~~~~~~~~~~~~~~↑~~~~~~~~~~~~~~~~~
              全体で一つの配列

 なので、このSumproduct関数は、かけ算には関与しておらず、足し算しかやっていません。

 つまり、SUM()と同じような働きだけです。
 足し算が今一つ分からない、なんて人は居ませんよね?

 >SUMPRODUCT関数は数値以外の配列要素は、0であると見なされます。 
 >とあったのでたぶんこれ何でしょうけれどもいまいち分かりません。
 上述の通り、数値の配列が1つあるだけで、
 数値以外の配列なんて、今回どこにも関係していないです。

(半平太) 2018/08/08(水) 15:04


なるほど。分かりました。
個人的にはSUMの配列計算の方が分かりよいのでそちらを使いたいと思います。

お二人ともありがとうございました。
(ゾーマ) 2018/08/09(木) 09:27


コメント返信:

[ 一覧(最新更新順) ]


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