[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『数字と文字列が混在した列の計算』(夏風邪)
初めまして。セル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.