• ベストアンサー

excelの数式の作り方について(2)

今さっき、ひとつの数式を教えていただいたのですが、またなぞが出てきました。 以下のような計算をしたい場合の関数をご存知の方がいらっしゃいましたら、教えてください。 《エクセルのシート》  │  A  │  B  │  C  │  D  │  E  │ … ―――――――――――――――――――――――――――― 1│ 分類 │ 知識 │ 思考 │ 思考 │ 知識 │…  2│テスト名│テスト1│テスト2│テスト3│テスト4│… 3│ Aさん │  5  │  5  │  欠  │  4  │… 4│ Bさん │  3  │  5  │  1  │  欠  │… 5│ Cさん │  欠  │  欠  │  4  │  2  │… 上記のようなシートで、4つのテストのうち、「思考」のテストと「知識」のテストをそれぞれ受験したものだけを拾い上げて、それぞれの達成率算出する(例えば、Aさんであれば、「思考」のテストを2回中、1回を受けているので、5点中、5点で達成率100%、「知識」のテストは2回中、2回受けているので、10点中、9点で達成率は90%のようにする)ような関数はあるのでしょうか?もしあるとすると、どのようにすれば、テストの分類ごとに達成率を出せるのですか? もしお分かりの方いらっしゃいましたら、力を貸してください。 よろしくお願いします。

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

  • ベストアンサー
  • camputer
  • ベストアンサー率64% (22/34)
回答No.3

 こんばんは.もし今後もテスト結果を追記していく予定で かつその度に表を作り直さないでも勝手に表が計算されていく... というものが必要でしたら,縦横をひっくり返したらすぐにできます. 下の写真のようになります.(縦横をひっくり返すのについては, 今までに作製した表を全部「コピー」→他の広い場所で右クリック →「形式を選択して貼り付け」→「行列を入れ替える」→「OK」で すぐにできます.)もし横並びの方がよろしければ,読み飛ばしてください.  関数が入力されている場所は水色のセルのみです. ・セルE24に =SUMIF($C$3:$C$21,$C24,E$3:E$21)  と入力して  それをE24~G25へコピー ・セルE28に =DCOUNT($C$2:$G$22,E$2,$I27:$M28)  と入力して  それをF28~G28へコピー ・セルE29に =DCOUNT($C$2:$G$22,E$2,$I29:$M30)  と入力して  それをF29~G29へコピー ・セルE32に =E24/(E28*5)  と入力して右クリック→  「セルの書式設定」→「表示形式」で「パーセンテージ」を選択  (「小数点以下の桁数」を「1」とかにしておくとかっこいいかも^^)  それをE32~G33へコピー で完成です.  一瞬難しく見えるかもしれませんが単純に,黄色い3つの表にそれぞれ 「合計点」,「出席回数」,「合計点」÷(「出席回数」×5)を 計算しているだけです.  あとは次の日からのテスト結果を入力していくと勝手に計算されます. もしテスト結果の表が足りなくなったら,「行の挿入」で表を下へ 増やせばOK.  ちなみにエクセルは左右より上下の方が幅が広いので, 今後何か追記していくような表を作成する場合は下に伸ばしていく方が お勧めですよ^^  以上,ご参考まで..

その他の回答 (2)

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

こんばんは! 参考になるかどうか判りませんが・・・ ↓の画像のように表を作ってみました。 質問では「思考」と「知識」のみのデータですので あまり難しく考えなくてもいいと思います。 画像のF3セルに =IF(COUNTBLANK(B3:E3)>0,"",SUM(C3:D3)/COUNT(C3:D3)/5) G3セルに =IF(COUNTBLANK(B3:E3)>0,"",SUM(B3,E3)/COUNT(B3,E3)/5) という数式を入れ、共に「%」表示にします。 飛び飛びでセルを範囲指定したい場合は、Ctrlキーを押しながら セルを選択すればOKです。 その場合、数式を見てもらえば判ると思いますが、 コロン「:」ではなくカンマ「,」が入ります。 そして、F3・G3セルを範囲指定し、 G3セルのフィルハンドルで下へコピーすると 画像のような感じになります。 以上、参考になれば幸いですが、 他に良い方法があれば読み流してくださいね。m(__)m

kaz0910
質問者

お礼

丁寧な分かりやすい説明をいただきありがとうございます。 「なるほど!」と思わずうなってしまいました。 是非この方法で資料をまとめてみます。 エクセルって本当におくが深いですね。

  • shintaro-2
  • ベストアンサー率36% (2266/6245)
回答No.1

理解を深めるために、じっくりご自分で考えることをお勧めします。 一度に全部を処理しないで、 ステップごとに考えることが基本です。 そのために、結果を表示する場所とは別に作業セルをつかったりします。 ネットで探すと、いろいろなwebサイトでエクセルの関数の使い方を解説しています。 例えば↓ http://pc.nikkeibp.co.jp/pc21/tech/excel36/index.shtml 書籍も有効です。

kaz0910
質問者

お礼

ご回答をいただき、ありがとうございます。 早速添付のURLをチェックしてみます!

関連するQ&A