少し長文になりますが、読んでいただけると幸いです。

■やりたいこと
赤いセル(F20)に、自動的に正解率が入るようにしたい。

■計算式の考え方
F11~14の中で、○がつくとC列の点数が加算される。
例えば、Aの項目で○がつくと、20点加算。Bの項目で○がつくと、25点加算。
×がついた場合は、その項目は0点となる。
N/Aがついた場合は、その項目は採点対象から外れる。
0点とは違い「そもそも存在しなかったもの」として考える。

■詳細
添付したファイルだと、太郎はAが○なので20点、Bが×なので0点、
CがN/Aなので採点対象からはずす、Dが○なので30点。
これを合計すると、20点+0点+30=50点。
N/Aは採点対象からはずすので、75点満点中、50点だったということ。

花子で考えてみると、すべてに○がついているので、20+25+25+30=100点。
100点満点中、100点だったということ。

大介は、Bが○なので25点、Cも○なので25点、他はN/Aなので、
50点満点中、50点だったということ。

太郎 :75点満点中、50点 ⇒ 正解率は、66.7%
花子 :100点満点中、100点 ⇒ 正解率は、100%
大介 :50点満点中、50点 ⇒ 正解率は100%

この「正解率」が、赤いセル(F20)に自動的に反映されるようにしたい。

■その他
点数は時期によって変動するので、20点を加算する、25点を加算するという式ではなく、
「C11の値が加算される」「C12の値が加算される」という式になっていて欲しい。

以上です。
どうやっても解決しなかったので、Excelに詳しい方がいたら、教えていただければ助かります。
説明が下手で恐縮ですが、よろしくお願いします。

「Excelの計算式を教えて欲しい」の質問画像

このQ&Aに関連する最新のQ&A

A 回答 (4件)

 この場合は、IF関数を使用する必要は無いと思いますから、



=SUMIF(F$11:F14,"○",$C$11:$C14)/(SUMIF(F$11:F14,"○",$C$11:$C14)+SUMIF(F$11:F14,"×",$C$11:$C14))

で良いと思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。
おかげで、解決することができました。

お礼日時:2011/05/11 04:52

参考


この表の設計でN/Aが関数=NA()の値、すなわち、エラー値だとすると、ほとんどの数式が使えなくなる。
セル範囲を引数に指定する関数式は、結果かエラーとなって正常に機能しない。
働くのは{=SUM(IF(ISERROR(B2:B5),0,1)*(A2:A5))}(配列数式)のように、エラー値を他の値に置き換えに成功したときだけで、この置き換えて、その結果で何かをさせる式を見つけるのが難しい。
文字列”N/A”などに置きかえる(IF関数でその該当の場合、第2引数を”N/A”にしたらしまい)ように設計すべきだ。
すると
例 B列は実際はF,G,H列にあっても式の列番号が変わるだけ。
A列の配点は、その期ごとに変えれば式は変えないで済む。
生徒ごとの式は右方向の式の複写で対処できる。
A列    B列
20○
25×
25N/A ←文字列
30○
  の場合
獲得点は =SUM((B2:B5="○")*(A2:A5)*(B2:B5<>"N/A")) と入れてSHIFT+CTRL+ENTER(配列数式)
で 50点
ーー
満点は =SUM(IF(B2:B5="N/A",0,1)*(A2:A5)) と入れてSHIFT+CTRL+ENTER(配列数式)
で 75点
正解率は上記の割り算。
ーー
配列数式がイヤならSUMPRODUCT関数でも出来ると思う。
    • good
    • 0
この回答へのお礼

ありがとうございます。
おかげで、解決することができました。

お礼日時:2011/05/11 04:54

まず C1に =IF(ISERROR(F1:F13),COUNTIF(F1:F13,"○"))と入れると○の数が出ます


N/AとはERRではじかれた数字ですか?その場合ISERRORを使えばいいかと思います。

さらに C2そのカウント数に点数をかければその数字が出ます
=C1*20

後は足して行って、セルを%に書式設定すればいいと思いますが?
F20
=C2+C3+・・・・

という感じではないですかね?
    • good
    • 0
この回答へのお礼

ありがとうございます。
おかげで、解決することができました。
説明が不足していてお手数をおかけしました。

お礼日時:2011/05/11 04:53

○の付いた得点はSUMIFで数えます。


SUMIF(F11:F14,"○",$C11:$C14)

満点は,4教科の全てに○か×かNAが入る前提で
SUMIF(F11:F14,"<>N/A",$C11:$C14)
となります。

結果して
=IF(COUNTA(F11:F14)=4,SUMIF(F11:F14,"○",$C11:$C14)/SUMIF(F11:F14,"<>N/A",$C11:$C14),"")
といった具合に組み立てることが出来ます。



#参考
満点の求め方については,○の付いた得点をSUMIFで数える(上述の通り)と,×の付いた得点をSUMIFで数える(上述の応用)を加算するという考え方も出来ます。
上述のように「4科目の成績が埋まって初めて計算できる」としたくないときは,こちらの考え方を使います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
おかげで、解決することができました。
詳しい説明、ありがとうございました!

お礼日時:2011/05/11 04:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで種類を数える関数が無いのは何故?

エクセルで種類を数える関数が無いのは何故なんでしょうか?

エクセルで種類を数えるには、いくつかの関数を組み合わせるのが一般的ですよね?
直接数える関数が無いのは、訳があるんでしょうか?

Aベストアンサー

>>エクセルで種類を数える関数が無いのは何故なんでしょうか?

やっぱり、そういう関数が必要な方が全体からみたら少数派だと、エクセルの開発者たちが考えているからではないかと思います。
また、既存の関数を組み合わせたら、対処可能だから、無理して新しい関数を作る必要性もない、開発の優先順位が低いって判断もあるでしょうね。

私は、エクセルの表を作ったり、エクセルVBAでプログラムを作ったりしますけど、そういう関数が必要になったことが全くありませんし。

QExcel関数と数値の違い?について知恵を貸していただけると幸いです

いつも大変お世話になっております。

C14のセルにとある数値が入力されています。
F14のセルに
=IF(IF(F15<>0,$C$14,"")="","",IF(F15<>0,$C$14,""))と関数が入力されています。

F15セルに
=IF(IF(P15*10=0,"",P15*10)=0,"",IF(P15*10,"",P15*10))と関数が入力されています。

上記の関数を使うにあたり、P15のセルに数値を入力した時(初めて数値が入力された時)にF14のセルにC14の数値を表示させたいと思っているのですが、F15セルの関数にF14セルの関数が反応してC14の数値を表示してしまって困っています。

解決方法があるようでしたら皆様の知恵をお貸しいただけると幸いです、よろしくお願いいたします。

Aベストアンサー

F14=IF(F15="","",C14)
F15=IF(COUNT(P15)>0,P15*10,"")

こういうことですか?

なんかやたらに複雑な式がかかれていますが、
要は、P15に数値が入力されたら、F15にP15の10倍の数値を、F14にC14の値を表示させればいいんですよね?
だったら、これでできます。
ちなみに、ちょっとひねってあるのは、COUNTを使ったところで、P15に数値以外の文字が入力された場合は反応しないようになっています。代わりに、数値であれば、0を入力しても反応します。
これが嫌なら、COUNT(P15)>0の部分をP15<>0に置き換えてください。

ご参考:
P15*10=0???意味ないですよね?P15=0で充分です。

Excelでは、空白セル、""(長さゼロの文字列)、0は数値として扱う限りにおいて同一です(0とみなされる)。
空白セルを明確に取り出すためにはISBLANK関数、""を取り出すためには=""とかの式にしないとだめです。

Qエクセルの関数で

エクセルの関数辞典を見ていたら、CUMPRINC関数というのがありました。
しかし、エクセルの「挿入」→「関数」→関数の分類で「財務」というのを選択したのですが、一覧表に載っていません。
どこに載っているのでしょうか?
どうすればこの関数を使えますか?
ちなみにシートの上でやっても関数の反応をしませんでした。

Aベストアンサー

Yahooで検索してみると、参考URLが引っかかりました。

参考になりませんか?

参考URL:http://money-sense.net/doc/20041215_224257.php

QEXCELの計算式(日付が入ったのものを計算式でもとめれるか?)

EXCELでの計算式です。「2005/07/08 (金) 11:07」「2005/07/08 (金) 11:07」などの、二つ時刻をセルへ代入して、時間の差を求めたいのですが、(金)などの日付の影響で、うまく計算できません。(金)を消してしまえば計算はうまくいくのですが、OUTLOOKメールからコピペで貼り付けるため、消すのが面倒くさく、何かいい方法がありませんが?
計算式は=($B$4-$B$2)*1440を使っていました。
宜しくお願いいたします。

Aベストアンサー

A1に日付が入っていると、隣のセルに=LEFT(A1,10) & " " & RIGHT(A1,5)と入力すれば(金)のみ無くなります。これをコピペでやってください。

Qエクセルの関数 ネスト

エクセルの関数 ネスト

エクセルの関数で、ネストさせるときがあるとおもうのですが、

関数を内側に書いたらよいのか外側に書いたらよいのか分からなくなる時があります。

エクセルの関数に関してわかりやすく書いてあるページなどありますか。

Aベストアンサー

こんばんは

Excel2003までは、ネストが7まで、2007では64までが可能です。
http://www.google.co.jp/search?hl=ja&source=hp&q=excel+%E3%83%8D%E3%82%B9%E3%83%88%E3%80%802003%E3%80%802007&aq=f&aqi=&aql=&oq=&gs_rfai=

「仕様上は可能」でも、複雑なネストは間違いが生じやすいですし、変更もしにくくなります。「出来るだけネストはしない」「適宜、中間結果をセルに出力する」という方法を採った方が、間違いが少なく、柔軟性のあるシステムになると思います。

>エクセルの関数に関してわかりやすく書いてあるページなどありますか。
関数の個別の機能ならば、Webサイトも書籍も多数あるのですが、「組み合わせて使う」というのはその場その場での発想になってしまうと思います。

QExcelでCSVファイル読み込み時、数字の頭のゼロを省略しないで読むには

MS-ExcelでCSVファイルを読むと、数字の頭の'0'ゼロが省略されてしまいます。
あらかじめ桁数が分かっているのなら、書式のユーザー定義で「0000」などと入れる方法もありますが、今回は桁数が一定ではないのです。
ゼロを省略せずに読み込む方法がありましたら教えてください。

データの例として、
========================
00563,0000031,03,1234
========================

これをExcelで開くと、ゼロが省略されてしまう
========================
563,31,3,1234
========================

宜しくお願いします。

Aベストアンサー

その列の書式を文字列とするのでよければ、
1)いったん、空のワークシートを開いて、
2)データ→外部データの取り込み→テキストファイルのインポート で、ファイルの種類を「すべてのファイル」にして、開きたいCSVファイルを選択し、
3)ウィザードの2/3で区切り文字の「カンマ」にチェックを入れ、3/3で0を残したい列の書式を文字列にして「完了」とすればよいと思います。

Qエクセル関数の解読サイトなんてありますか?

エクセル関数の解読サイトなんてありますか?

いつもお世話になっております<(_ _)>

エクセルファイルに関数の入った数式が入力されています。
セルごとに複数の関数が入っていますが、私にはちっともわかりません。

そこで質問です。
こんなとき「エクセル関数を解読」してくれるようなサイトってありませんか?

たとえば検索窓があってそこに「=SUM(S1:S13)」わからなくて困っている関数式を入力。
すると答えの別ボックスに「S1~S13までの数値の合計」と出てくるようなサイト。

それに近いサイトでも良いので知っている方がいらっしゃればぜひ、教えてください<(_ _)>

Aベストアンサー

もし、

=IF(E14="","",IF(O14="",(IF(E14>"18:00"*1,"18:00",E14)-IF(C14<="8:00"*1,"8:00",C14))*24*1300,(IF(E14>"18:00"*1,"18:00",E14)-IF(C14<="8:00"*1,"8:00",C14))*24*1625))

だったら、どういう文章が出て欲しいのでしょうか?

もしE14が空白だったら、
 空白、
そうじゃなかったから、
 もしO14が空白だったら、
  (もしE14が18:00より大きかったら18:00、そうじゃなかったらE14)-(もしC14が8:00以下だったら8:00、そうじゃなかったらC14)×24×1300
 そうじゃなかったら、
  (もしE14が18:00より大きかったら18:00、そうじゃなかったらE14)-(もしC14が8:00以下だったら8:00、そうじゃなかったらC14)×24×1625

って感じですか?
数式をそのまま読解したほうが解りやすくないですか?

QEXCEL(計算式のコピー方法)

別シートの値を表示させる為に
以下のような式をいれたEXCELの表を作成いたしました。
7行目以降にコピーをすることで、
sheet2!a3・b3・c3 sheet2!a4・b4・c4~としたいのですが、
実際は、sheet2!a7・b7・c7 sheet2!a8・b8・c8~というようになります。
sheet2!a3・b3・c3 sheet2!a4・b4・c4にするには、
どう操作したら良いのでしょうか?

   A列
1行 =sheet2!a1
2行 =sheet2!b1
3行 =sheet2!c1
4行 =sheet2!a2
5行 =sheet2!b2
6行 =sheet2!c2

Aベストアンサー

こんにちは~

表示させたいシートの A1セルに
=OFFSET(Sheet2!$A$1,INT((ROW(A1)-1)/3),MOD(ROW(A1)-1,3))

または
=INDEX(Sheet2!A:C,ROW(A3)/3,MOD(ROW(A3),3)+1)

と入れ( コピー&ペーストしてください )、
あとは必要なだけ下にフィルコピーしてみてください。

Qエクセル関数を、書き写して分析できるツールはある?

タイトルの件、質問します。

エクセルの関数を分析する際に、エクセルの数式バーや、セルに入っている関数を
F2を教えて見るのでは、見にくい場合があります。

現在は、私は、メモ帳に関数をコピーして、分析したり、修正したりしています。
エクセルの機能or他ソフトで、関数を分析できるツールはあるのでしょうか??

【エクセルバージョン】
2003、2007

Aベストアンサー

難解な数式を理解したいとき,最も便利に利用できるのは,2003ではツールメニューのワークシート分析にある「数式の検証」です。
2007では数式タブにあります。

メンドクサイ数式のセルで数式の検証を使い,どの関数やどのカッコから計算が進んでいくのかを1ステップずつトレースして理解します。また意図しない結果がどの段階で発生しているのか追跡します。

このやり方は勿論間違った数式(意図しない結果が出てきた場合)を追跡するのにも使いますが,むしろ誰かに教わった「正しい数式」を理解する時に便利な方法です。
そもそも計算が通っていない(たとえばカッコの対応が間違えていて,Enterしても受け付けてくれないようなミスをしている場合)には使えません。



また,数式バーの中で数式の「中」にカーソルを入れて左右の矢印キーでカーソルを動かしていったときに,「(」や「)」をまたいだ瞬間に,対応する「閉じカッコ」「始まりのカッコ」が色つきで強調表示されるのを確認しながら,カッコの対応がまちがえてないかなどを調べるのも簡易な良い方法です。


あまり使わない方法ですが,数式の中で適宜ALT+Enterを打って「セル内改行」してしまい,数式を縦に分解して書いてみるのも整理しやすい方法のひとつです。

難解な数式を理解したいとき,最も便利に利用できるのは,2003ではツールメニューのワークシート分析にある「数式の検証」です。
2007では数式タブにあります。

メンドクサイ数式のセルで数式の検証を使い,どの関数やどのカッコから計算が進んでいくのかを1ステップずつトレースして理解します。また意図しない結果がどの段階で発生しているのか追跡します。

このやり方は勿論間違った数式(意図しない結果が出てきた場合)を追跡するのにも使いますが,むしろ誰かに教わった「正しい数式」を理解する時に便利...続きを読む

QEXCELの計算式入力

お世話になっております。

200万が20年の間に1年ごとに10%づつ増えていく
計算式の入力はどのような関数を使い、どのようにつくっていけばいいのでしょうか。

1年目いくら、2年目いくら、・・・・20年目いくら
問う言う形で計算式をつくりたいのですが、お願いします。

教えてください。

Aベストアンサー

再びこんばんは
#3のcomvです

>答えは1345.5でしょうか。
はい
>1年目いくら、2年目いくら、
これをご希望の形式にすると
  A  B
1 元金 金利
2 200  10%
3 年  金額
4 1   式
5 2   ↓
6 ↓   ↓

式 セルB4に =$A$2*(1+$B$2)^A4
必要下行まで複写


#2の方へのtajimaさんのコメントから
>20年目には、18,347,727円になります。
はて? 同じ結果(1345.5)になる筈です・・・

>実際の金額は20年目で400万ではないでしょか。
こちらは、元金固定の場合ですね。
こちらも既に皆さんが書かれていますが
単純な乗算で

上記の表配置で
式 セルB4に =$A$1*(1+$B$1*A4)
必要下行まで複写


人気Q&Aランキング

おすすめ情報