アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルで担当授業の出席状況と出席率が分かる下のような表を作っています。
ここで出席=○、欠席=×、遅刻=△としています。

     列A     列B
行1         学生名
行2    1日目    ○
行3    2日目    ×
・        ・      ・
・      ・      ・
行19   18日目    △
行20   出席     16
行21   欠席       1
行22   遅刻       1
行23   出席率    94.4

B20には「=COUNTIF(B2:B19,"○")」
B21には「=COUNTIF(B2:B19,"×")」
B22には「=COUNTIF(B2:B19,"△")」
B23には「=ROUND((B20+B22)/(B20+B21+B22)*100,1)」を入力してあり、その日の出席状況(○、×、△)を入力すれば常に現在の出席率が分かるようにしてあります。
しかし、厄介なことに「遅刻は3回で欠席1回分」というルールがあります。この表と数式ではこのルールが反映されず遅刻は全て出席になってしまいます。何とかこのルールも反映させて正確に出席率が自動計算される表を作りたいのですが、どのような方法があるでしょうか。
お知恵を拝借したいと思いますのでよろしくお願いします。

A 回答 (4件)

>B23には「=ROUND((B20+B22)/(B20+B21+B22)*100,1)」



B23には「=ROUND((B20+B22-INT(B22/3))/(B20+B21+B22)*100,1)」
ではダメでしょうか。
算数で考えてみました。正しいか実際に確認してみてください。
    • good
    • 0
この回答へのお礼

ありがとうございました。
教えてもらった数式でずばり合いました。
INT関数知りませんでした(^^ヾ
ちなみに
=ROUND((COUNTA(B2:B19)-B21-INT(B22/3))/(COUNTA(B2:B19))*100,1)
でも同じになりました。

お礼日時:2008/07/13 13:16

参考にするため元のカウント式のセルはそのまま残し別に、D20にでも


出席には-INT(B22/3)を加え,D21にでも欠席には+INT(B22/3)を追加し
出席率には、修正後の計数D20,D21を使えばよいだけの話では。
私の勘違いか、余分なセルD20、D21を使えないのかな。
それでも上記の考えをB20などの元の式に組み込むのは簡単だが。
    • good
    • 0
この回答へのお礼

ありがとうございました。
色々な方法があるようですね。
皆さんのお陰で何とかできました。
=ROUND((B20+B22-INT(B22/3))/(B20+B21+B22)*100,1)
または
=ROUND((COUNTA(B2:B19)-B21-INT(B22/3))/(COUNTA(B2:B19))*100,1)
で計算合いました。

お礼日時:2008/07/13 13:18

=ROUND((B20-INT(B22/3))/COUNTA(B2:B19)*100,1)

    • good
    • 1
この回答へのお礼

ありがとうございました。
皆さんのお陰で何とかできました。
=ROUND((B20+B22-INT(B22/3))/(B20+B21+B22)*100,1)
または
=ROUND((COUNTA(B2:B19)-B21-INT(B22/3))/(COUNTA(B2:B19))*100,1)
で計算合いました。

お礼日時:2008/07/13 13:17

=ROUND((B20+MOD(B22,3))/(B20+B21+B22)*100,1)



でどうでしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございました。
皆さんのお陰で何とかできました。
=ROUND((B20+B22-INT(B22/3))/(B20+B21+B22)*100,1)
または
=ROUND((COUNTA(B2:B19)-B21-INT(B22/3))/(COUNTA(B2:B19))*100,1)
で計算合いました。

お礼日時:2008/07/13 13:15

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