• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:文字の種類によって、数値をカウントしたいのですが、)

エクセルで文字の種類による数値カウント方法

このQ&Aのポイント
  • エクセルのオフィスXPにおいて、特定のセルに○を入力した場合には別のセルに1をカウントし、×を入力した場合には-1をカウントし、△を入力した場合には0.5をカウントする方法について教えてください。
  • また、異なるセルに○、×、△を入力し、それぞれの数値を足し引きして合計値を求める方法もお伝えいただければ幸いです。
  • 検索しても詳細な情報が見つからないため、IF文ではない別の方法を教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.2です! たびたび失礼します。 >疑問点があります。 >=COUNTIF(A1:A1000,"○")*1 ”*1”の部分ですが、なぜ”*”かわかりません。 とありましたので再び顔を出しました。 今回の質問の場合、○一つに付き+1 △の場合は+0.5 ×の場合は-1 ということだと思いますので 結局数式の意味は (○の個数×1)+(△の個数×0.5)+(×の個数×(-1)) ということですので 前回の数式で希望の結果になったと思います。 COUNTIF関数で各種類の個数を算出し、それぞれの値をかけて合計するために前回の数式にしています。 たまたま○=1ということなので 今回の数式は =COUNTIF(A1:A1000,"○")+COUNTIF(A1:A1000,"△")*0.5+COUNTIF(A1:A1000,"×")*(-1) と*1を省いても同じ結果になるはずです。 例えば○一つに付き+2ということであれば COUNTIF(A1:A1000,"○")*2 としないと正確な結果は得られません。 疑問の中のようにに「*」の部分を「+」にしてしまうと、 ○の個数+1という意味ですので、 仮に○が5個あれば○に関しては6という値だけで 単純に○の個数に1をプラスしたに過ぎません。 以上、長々と書きましたが この程度の説明で理解いただけたでしょうか? どうも何度もごめんなさいね。m(__)m

noname#250193
質問者

お礼

回答ありがとうございました。 遅くなりすみませんでした。 わかりやすい説明ありがとうございました。

その他の回答 (4)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.5

解答No3です。 =IF(A1="○",1,0)+IF(A2="×",-1,0)+IF(A3="△",0.5,0) この式でIF関数の最後の引数に0を使っているのはなぜかとのことですね。 この全体の式は+を使っています。それはそれぞれの条件が重なれば、それぞれの値を加算するということですね。加算をする場合には、例えばIF関数の結果が空白のような場合には空白を加算することはできません。エラーになります。そのため加算ができるように0にしているのです。 例えばA1セルを空白にしてA2セルも空白にしてから =IF(A1="","",1)+IF(A2="","",2)と計算してみましょう。エラー表示になってしまいますね。 =IF(A1="",0,1)+IF(A2="",0,2) のように0などの数値にしておくことが必要ですね。

noname#250193
質問者

お礼

ありがとうございました。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

IF関数を使うのでしたら例えばB1セルに入力する式は次のようになります。 =IF(A1="○",1,0)+IF(A2="×",-1,0)+IF(A3="△",0.5,0)

noname#250193
質問者

お礼

ありがとうございました。 末尾の”0”は何を意味しているのでしょうか。 宜しくお願い致します。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! あるセルが3つあり、表示させるセルばB1セル一つだけという事でしょうか? その場合、他のセルの入力が1セルだけなら問題なくIF関数でOKかと思いますが、 もし、複数の種類の入力があればIF関数の最初の条件だけしか当てはまらなくなります。 余計なお世話かもしれませんが・・・ 質問に >こうやって、違うセルに、"○"、”×”、”△”を入力し、数値を足したり引いたりして、 合計の数値を出したいと考えています とありましたので、 ○・×・△のセル数をカウントして、○の場合は「1」 ×の場合は「-1」 △の場合は「0.5」倍したものを合計するのかな?と思い ↓のように表を作ってみました。 B1セルに =COUNTIF(A1:A1000,"○")*1+COUNTIF(A1:A1000,"△")*0.5+COUNTIF(A1:A1000,"×")*(-1) という数式が入っています。 (とりあえず1000行まで対応できるようにしています。エラー処理はしていません) 以上、お役に立てれば幸いですが、 まったくの的外れの可能性もありますので その場合は無視してくださいね。m(__)m

noname#250193
質問者

お礼

回答ありがとうございました。 疑問点があります。 >=COUNTIF(A1:A1000,"○")*1 ”*1”の部分ですが、なぜ”*”かわかりません。 プラスしていくので、”+”と思ったのですが、 試しに”+”にすると、上手くいきませんでした。 ”*”だと、掛け算になると思いました。 プラスやマイナスなどでカウントを考えているので、 なぜ、”*”掛け算なの疑問に思いました。 宜しければ、教えて頂きけませんでしょうか。 宜しくお願い致します。

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

普通に COUNTIF関数を使えばいいと思いますけど…  COUNTIF(範囲,検索条件) こういう書き方をします ですので  COUNTIF(A1:A10,"○")*(1) + COUNTIF(A1:A10,"×")*(-1) + COUNTIF(A1:A10,"△")*(0.5) こんな感じにカウントした値に対して重みを掛けた後に足し算すればよいでしょう

noname#250193
質問者

お礼

回答ありがとうございました。 COUNTIF(範囲,検索条件)という関数があるんですね。 >COUNTIF(A1:A10,"○")*(1) + COUNTIF(A1:A10,"×")*(-1) + COUNTIF >(A1:A10,"△")*(0.5) 関数を見てなんとなく、動きが読めました。 ありがとうございました。

関連するQ&A