[[20050801141455]] 『数字と文字列が混在した列の計算』(夏風邪) ページの最後に飛ぶ

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

 

『数字と文字列が混在した列の計算』(夏風邪)
 初めまして。セルB1にSUMPRODUCT関数を使って計算式を作っていますが、以下のような
 文字列を含む列計算で#VALUE!を出さずに(=7と)正確に計算する方法があれば教えて
 ください。
 Win98SE,Excel98です。

   A    B    
 1     =SUMPRODUCT((A2:A7="○")*(B2:B7))
 2 ○   3
 3     △
 4 ×   2
 5           
 6 ○   4
 7     ▲


 集計列が1つなら SUMIF関数で十分かと。
 =SUMIF(A2:A7,"○",B2:B7)
(純丸)(o^-')b


純丸さんの回答のようにSUMIF関数の使用をお薦めします。

強いてSUMPRODUCT関数でするなら
=SUMPRODUCT((A2:A7="○")*1,B2:B7)

by sige

 純丸さん、sigeさん
 即行レスありがとうございます。 どちらも試行OKでした。
 TO;sigeさん
  *1 としているのは、何をさせているのでしょうか?
 (お手すきの時にでもお願いします)
 
 (夏風邪)

 検索結果はTRUE=1, FALSE=0を返します。しかしTRUEは1であり
ながらTRUEと返ってしまい(FALSEも同様に0だがFALSEと返り)ます。
つまり 上記(A2:A7="○")はA2:A7に○があればTRUE(=1)を返すので
1×1=1とすることによって正式な数値1を作ります。
さらにSUMPRODUCT(X,Y)でX*Yとし、結果を得ます。
試しにB1=(A2:A7="○")として、○の有無からTRUEとFALSEを確認
して、B1=(A2:A7="○")*1としてみてください。
(***)
 ご丁寧な説明を頂きありがとうございました。よく理解できました。
 ところで、やってる途中で以下のような現象がおこりましたので、
 しつこくなって申し訳ありませんが(本当にお手すきの時で結構です)
 ご教示願います。
 *1 を外しても正常な計算をしました。但し、*を使う場合はやはり
 *1 を入れなければ#VALUEとなります。 
 掛け算記号の"*" と","は意味が異なるのでしょうか?

 SUMPRODUCT((・・・),(・・・))   → *1が無くても正常に計算している。
 SUMPRODUCT((・・・)*(・・・))    → #VALUE
 SUMPRODUCT((・・・)*1*(・・・))   → #VALUE

(夏風邪)


コメント返信:

[ 一覧(最新更新順) ]


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