• 締切済み

Excel(エクセル) 同じ列の空白でないセルの数を数える際、数えるセル範囲を流動的にしたい

A~D評価をして、それぞれ2,1,0,-1,-2という点数にします。 その点数の合計を出したいのです。 以下に具体的な例をあげます。 [A1]セル =SUM(COUNTIF(A$2:A$11,"=A")*2,COUNTIF(A$2:A$11,"=B")*1,COUNTIF(A$2:A$11,"=C")*0,COUNTIF(A$2:A$11,"=D")*-1,COUNTIF(A$2:A$11,"=E")*-2) [A2]~[A11]セル 評価(A~D)を入力 ここまではいいのですが、したいのはA12セル以降に新しく値を入れたら、自動的にA12セル以降の点数も加えてA1セルに表示されるようにしたいのです。A1セルに「A$2:A$11」の「11」代わりにもっと大きな値を入れれば可能なのですが、それはしたくありません。また名前をつけてもいいのですが、オートフィル機能を利用してB列以降にも数式を入れたいため、どうしていいかわかりません。 どなたか解決策がお分かりになられる方がおられましたら、どうかお知恵を拝借願えないでしょうか?

みんなの回答

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

COUNTIF関数は「列」で範囲指定が可能ですから以下で良いのではないでしょうか。  =COUNTIF(A:A,"A")*2+COUNTIF(A:A,"B")-COUNTIF(A:A,"D")-COUNTIF(A:A,"E")*2 「C評価」はゼロ点ですので式には入れませんでした。それでも結果は変わりません。

cpdqp454
質問者

お礼

回答ありがとうございます。 しかし、問題は合計を出しているのが評価を入力する列と同列ということなのです。 回答いただいたようにしますと、「循環参照しています」となってしまいます。 まさにその循環を回避する方法が知りたいのです。

cpdqp454
質問者

補足

回答ありがとうございます。 しかし、問題は合計を出しているのが評価を入力する列と同列ということなのです。 回答いただいたようにしますと、「循環参照しています」となってしまいます。 まさにその循環を回避する方法が知りたいのです。

関連するQ&A

  • Excel(エクセル) 同じ列の空白でないセルの数を数える際、数えるセル範囲を流動的にしたい

    S,A,B,C,Dと評価をして、それぞれ2,1,0,-1,-2という点数にします。 その点数の合計を評価と同じ列に表示されるようにしたいのです。 以下に具体的な例をあげます。 [B3]セル =SUM(COUNTIF(B$5:B$11,"=S")*2,COUNTIF(B$5:B$11,"=A")*1,COUNTIF(B$5:B$11,"=B")*0,COUNTIF(B$5:B$11,"=C")*-1,COUNTIF(B$5:B$11,"=D")*-2) [B5]~[B11]セル 評価(S,A~D)を入力 ここまではいいのですが、したいのはB12セル以降に新しく値を入れたら、自動的にB12セル以降の点数も加えてB3セルに表示されるようにしたいのです。B3セルに「B$5:B$11」の「11」代わりにもっと大きな値を入れれば可能なのですが、それはしたくありません。また名前をつけてもいいのですが、オートフィル機能を利用してC列以降にも数式を入れたいため、どうしていいかわかりません。 どなたか解決策がお分かりになられる方がおられましたら、どうかお知恵を拝借願えないでしょうか? ※管理者の方へ 訂正して再投稿ました。前回の書き込みは削除していただけると幸いです。

  • セルに数式が入ってるかどうかを取得する関数は?

    C1には、=SUM(A1:B1) C2には、0 が入力されています。 実際、A1:B1の値は0なので、 C1もC2も0が表示されています。 D列で、ちゃんとC列にsum関数が入ってるか調べてたいのですが =COUNTIF(C1,"*sum*") をオートフィルしても、0が返ります。 C3に「sum」と言う文字列を入れて、=COUNTIF(C3,"*sum*")をしたら 1が返りました。 COUNTIF関数は文字列は認識しますが数式は認識しないようです。 このような場合、セルに数式が入ってるかを取得する方法はありますか?

  • あるセルの値が空白の時は空白に

    いつもお世話になります。 WINDOES XP EXCELL2003 G2のセルに下記の数式を入れています。 =SUM(B2*D2) この時G2のセルに値が入力されていないと #NAME? と表示されます。 私の力で =IF(=B2””,””,( =SUM(B2*D2)) としましたが 相変わらずうまく行きません。 G2に入力されていないときは値を返したくない数式をどうすればいいかご教授いただけませんか。 宜しくお願いします。

  • EXCEL 数式が入った空白セルを数える

    毎度お世話になっています。 質問の内容ですが、例えば下記のようなシートがあるとします。 セルB1、セルC1、セルD1:手入力セル セルA1:数式「=IF(B1="","",B1+C1)」 セルA2:文字列 セルA3:数式「=IF(D1="","",D1*0.1)」 セルA4:文字列 セルA5:A1+A3の計算結果を表示 (※なお、セルA2、A4は数値が入らない) というような場合において、 ●セルB1、C1、D1になにも入力されていない場合、セルA5が空白となる。 ●セルB1、C1にのみ数値が入力されている場合、セルA5の計算結果がセルA1の値のみ。 ●セルD1にのみ数値が入力されている場合も上記と同様に計算結果が表示される。 以上の条件を満たす数式をセルA5に入力したいのですが、 COUNTBLANKは数式が入っている場合には使えず、COUNTAの場合だとセルA1、A3のどちらにも数値が入った場合に表示される、といった数式になります。 IFをいくつも使えば可能とは思いますが、もう少し単純に数式を作れたらと思い質問をさせて頂きました。 よろしければ御回答宜しくお願い致します。 (内容を訂正したため、いったん質問を削除しました。もし御回答中の方が居ましたら申し訳ありませんでした。)

  • 数式が入った空白のセルを合計するとき

    数式が入った空白のセルを合計するとき WINDOWS XP EXCELL 2003 です。 各セルの数式は C43 =SUM(B36-C36) D36 =SUMPRODUCT((入力!$C$2:$C$50=$A36)*(入力!$A$2:$A$50=D$1),入力!$E$2:$E$50) E36 =SUMPRODUCT((入力!$D$2:$D$50=$A36)*(入力!$A$2:$A$50=D$1),入力!$F$2:$F$50) E43 =SUM(C43+D36-E36) と数式がそれぞれに入っています。 ご教示を仰ぎたいのは D36,E36 に値がない空白のセルですがこの場合、E43 G43 I43 と表示(この場合 50,000)がされますがD36 若しくはE36に値が表示されたときのみにE43 を表示したいのですが可能でしょうか。 目的は見やすくしたいのですが。 ご指導いたたければ幸甚の至りです。

  • Excel のセル範囲を指定したい

    あるセルの値を、他のセル内の式の中で用いたい。 例えばA1のセルの"100"とした場合、A2のセルに"+sum(B1:B100)"を実行。A1が"200"だとA2は"+sum(B1:B200)"。 いわゆるA1が"n"だとA2は"+sum(B1:Bn)"。 選択するセルの範囲を別のセルから導入したいのですが、式の表し方がわかりません。 もしくは不可能? 良い方法はありますか?

  • エクセルの文字列中の指定した位置の文字列の置き換え(REPLACE)。

    エクセルの文字列中の指定した位置の文字列の置き換え(REPLACE)。 エクセルのセルA1に 「A123B1234X9876C123DD」と入力されています。 これを 「A123-B123X9876-C123-DD」としたいです。 現在 ・B1のセルに=REPLACE(A1,5,0,"-") ・C1のセルに=REPLACE(B1,15,0,"-") ・D1のセルに=REPLACE(C1,20,0,"-") と入れて、D1にできた値の 「A123-B123X9876-C123-DD」 をコピーして E1のセルに「形式を選択して貼り付け」「値」で貼り付けして B1~D1を削除して ・A1のセルには元の「A123B123X9876C123DD」 ・B1のセルには編集後の「A123-B123X9876-C123-DD」 が表示されるようにしています。 このA列が100行もあるとうんざりです。 式をオートフィルでコピーしていくのですが  ・B1に式を入れてオートフィルでB100までコピー  ・C1に式を入れてオートフィルでC100までコピー  ・D1に式を入れてオートフィルでD100までコピー  ・D1~D100をコピーしてE1~E100に「形式を選択して貼り付け」「値」で貼り付け  ・B,C,D列を列削除  3回は式を入れないといけないです。一発で編集する方法はありますでしょうか?

  • エクセルでセルの値を数式の範囲として使うには?

    タイトル通りなのですが、エクセルでセルの値を数式中で範囲として使うにはどうすればよいのでしょうか? 例えばA1セルに「1」という値が入っており、B2セルに「10」という値が入っているとします。この時、数式中で、「A1」と「B2」を用いて、「E1からE10まで」を指定することは可能でしょうか。可能でしたらどのような数式を組めば良いのでしょうか? よろしくお願いします。

  • エクセル2010の絶対参照について。

    エクセル2010についての質問です。 ファイルはエクセル2003?2007?のものを互換モードで使っております。 よろしくお願い致します。 sheet1のセルA1に、別のシート(Sheet2)のA2~A11の合計をオートサムで求めると数式が=SUM([Sheet2.xls]Sheet2!$A$2:$A$11)となっています。 sheet1のセルB1に数式=SUM([Sheet2.xls]Sheet2!$B$2:$B$11) sheet1のセルC1に数式=SUM([Sheet2.xls]Sheet2!$C$2:$C$11) sheet1のセルD1に数式=SUM([Sheet2.xls]Sheet2!$D$2:$D$11) をオートフィルか、コピーアンドペイストで素早くやりたいのですが、 数式の$を消して、=SUM([Sheet2.xls]Sheet2!A2:A11)でオートフィルでできるのですが、 自動で$が入力されるのがなぜだか分かりません。 $が自動で入力される理由と、$があるなしの違いを、理解してる方に聞きたいと思い 質問しました。 よろしくお願い致します。

  • Excelで数式中に他セルの値

    Excelで数式について、他のセルに書いてある数字を文字列として代入したいのですが、 どうすればよいでしょうか。 具体的には 1  A1に10と入っており 2-1 B2に=COUNTIF(OFFSET(A1:D10, 0, 1), "=【A1】") 2-2 SUMIF(~~~, "=【A1】", ~~~) のような形で、A1の値に応じてCOUNTIFとSUMIFの条件分岐をしたいのです。 よろしくお願いします。

専門家に質問してみよう