• ベストアンサー

科目数の種類を求めたいのですが...

私立高校で英語を教えています。 新年度の教科の各教師の持ち時間を調整しています。 私の勤務校は特進クラス、理数クラス、文系特進クラス、普通クラスと1年は4種類に分かれます。2,3年は特進クラスと普通クラスが文系と理系に分かれるので6種類のクラスがあることになります。 ややこしいのは例えば、3年ではリーディングという科目があるのですが、コースによって3単位、4単位、5単位のリーディングがあります。これらは単位数はちがってもすべて同じ科目とカウントしたいのです。 科目名が2行目にG~AN列まで記入されています。B列の4行目から20行目までが教師名が入っています。 G4~AN20までに担当クラス数が1とか2とか入っている表ができているのですが、どのようにしたら各教師の持ち時間の科目数の種類をカウントできるでしょうか? 関数でもVBAでもかまいません。よろしくお願いします。 ヴァージョンはWindows XP, Excel2007です。

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

2行目の科目では、3単位のリーディング、4単位のリーディング、5単位のリーディングがそれぞれ、1列づつ使用されているが、科目としては1科目としてカウントしたいと、言う事でしょうか? その前提で書きます。勘違いでしたらごめんなさい。 それぞれが同じ科目であるか否かの情報がありませんので、作業行を作って、科目が区別できるような情報を入れておきます、例では科目を区別する情報として3行目にA、B、Cと文字列を入れました。リーディングは単位数に関わらず、科目情報は「C」です。 次に表の下に、各教師が受け持っている科目情報を表示します。 例では、G22に↓をいれ、G22:AN38にコピーします。 =IF(G4>0,G$3,"") 後は、各行のデータの種類をカウントすれば良いので、↓で出せます。 =SUMPRODUCT(1/COUNTIF(G22:AN22,G22:AN22))-1

CaveatEmptor
質問者

お礼

回答ありがとうございます。 > 2行目の科目では、3単位のリーディング、4単位のリーディング、5単位のリーディングがそれぞれ、1列づつ使用されているが、科目としては1科目としてカウントしたいと、言う事でしょうか? はい、全くその通りです。 ありがとうございました。できました。本当に助かりました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • shinkami
  • ベストアンサー率43% (179/411)
回答No.2

少し情報が不足です。感違いかもしれませんが 列の右側に一旦科目の種類毎の単位数を求め、種類の数をカウントします。 3行目に各科目の単位数(3行目が何か入っていれば1行挿入してください)、G~Hをリーディング列、AP~BD列を種類の単位数列とします。 セルAPをリーディングの種類の集計列とします。 AP=G4*$G$3+H4*$H$3+I4*$I$3 AO=COUNTIF(AP4:AR4,">0")

CaveatEmptor
質問者

お礼

回答ありがとうございます。 説明がうまくできずに申し訳ありません。 1行目に学年、2行目に科目名、3行目に単位数が入っています。 すみません。ご教示いただいた式の意味がよくわかりません。また、何が悪いのかわかりませんが、エラーになってしまいます。

すると、全ての回答が全文表示されます。
  • Turbo415
  • ベストアンサー率26% (2631/9774)
回答No.1

ちょっとイメージしにくいです。 単純な疑問として、1年で4種類、2年3年で6種類、3年のリーディングで3種類でいいのでしょうか? だとすると13種類の授業内容ですから横はGからSで収まると思うのですが・・・ それと結果としてどういう物が欲しいのか分かりにくいです。 例えば、22行目のA列に教師の番号を入れると、Bに氏名、C以降に各項目の時間数、21行目の各時間数の上に授業種類がでればいいのでしょうか?それとも別のエリアに一覧表として必要なのでしょうか。 一覧表とする場合、各教師の時間数の欄の上とかに授業の種類がでないと結局最初の表と変わらない表になってしまいます。 そうなると、あえて作る必要は無いように思えますが。 最終的にどんなイメージの結果が欲しいのかで変わってきますが。

CaveatEmptor
質問者

お礼

説明不足ですみません。 科目数は、同じ科目でも単位数のことなるものを別々にカウントすると34種類あります。同じ科目でも単位数が異なるものは、持ち時間をカウントするときのために別の列になっています。例えば、3年のリーディングで3~5単位の差は、普通クラスは基礎からしっかりやるので5単位で、特進クラスは同じことを3単位でやります。ですので、教師の方の準備は基本的には同じなので、同じ種類の科目ということになるわけです。 ある教師が普通クラスが4クラスのリーディング(5単位)を教えるとなると、それだけで20時間の持ち時間になりますが、種類は1つなのでOKがでるかもしれません。16時間でも種類が4種類となると考慮しないといけないという事情があるのです。 ですので教える時間数(教師の持ち時間)と教える科目の種類の数をカウントしたいのです。 以上で、理解いただけるでしょうか?とても困っているので、よろしくお願いします。

すると、全ての回答が全文表示されます。

関連するQ&A