• ベストアンサー

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

私立高校で英語を教えています。 新年度の教科の各教師の持ち時間を調整しています。 私の勤務校は特進クラス、理数クラス、文系特進クラス、普通クラスと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

  • エクセルの条件付きでデータの種類をカウントする関数

    エクセルの条件付きで重複データや空白データをカウントせず、種類数をカウントする関数の書き方を教えてください。 C列の5行目から14行目に「品目」が入力され、D列に「売れた数」が入力されているとします。売れていない場合は「売れた数」は空白。品目等のデータがない行もあります。品目には重複しているものもあります。 ここで、G5セルに「売れた品目の種類数」を表示させる関数をどのように書けばよいか教えてください。 SUMPRODUCTやCOUNTIFまたはMATCH関数を使っていろいろ試してみましたが、うまくいきません。

  • 必修科目の単位

    四年制の大学(文系)に通っています。 通ってると言っても一年目は学校に馴染めず、結局学校に行かず単位ほとんど落としました。 二年への進級は単位関係なくできるのですが、一年次での必修科目落としたとなると四年間での卒業は不可能ですか? 必修科目は必ず単位取らないといけないんですよね?

  • L列で条件に該当する場合の、A列のデータ種類数

    A列には「文字列」が入力されています。 L列には計算式が入力され、計算結果が数字で表示されています。 L列の計算結果が「0より大きい」「0より小さい」という条件に該当する、A列のデータの種類数をカウントする関数を教えてください。データ行数は「1行目から100行目」でお願いします。 A列 L列 田中 100 鈴木 -50 田中 70 佐藤 80 佐藤 -70 工藤 -15 L列で「0より大きい」 → A列のデータの種類数は田中、佐藤なので 「2」という計算結果を導き出したい。 L列で「0より小さい」 → A列のデータの種類数は、鈴木、佐藤、工藤なので、「3」という計算結果を導き出したい。 Excel2013を使っていますが、2007にも対応できる計算式だと、なおありがたいです。 お手数をおかけいたしますが、よろしくお願いします。 

  • 卒業単位数足りていますか?

    ある大学の法学部・法律学科に所属しています。今3年目で来年の春に卒業予定です。 まず質問からいいますと、来年度の履修は必要かどうかです。 どの大学にも卒業所定単位には「必修科目」「選択必修科目」「選択科目」があると思います。現在、必修・選択必修科目はすべてとれているのですが、選択科目がまだ卒業所定単位数に足りていません。 しかし、必修・選択必修科目で必要以上にとれている分、卒業に必要な単位数(124単位)は確保できています。 質問の内容をまとめますと、選択科目で必要な単位数は確保できていませんが、「必修」ではない為、他必修科目等であふれた単位数をカウントされるかどうか、お聞きしたいところであります。 理解しにくい質問ですが、よろしくお願いいたします。

  • 選択科目について

    公立高校に通う一年生です。もう2年の履修科目を提出しなければならないのですが・・・単位制高校なので自由に科目を選べるのです。 まだ進路ははっきりしてないのですが、今のところ興味があるのは理系なら医療系、文系なら社会科学系です。 今現在主要5科目は、現文、古典、数(1)、数A、生物(1)、理科総合A、現代社会、英語(1)、グラマーをとっています。 文系にも理系にもいけるようにしたいので、世界史B、生物(2)、化学(1)をとろうと思ったのですが、世界史Bは覚える事がかなりあって大変なので地理Bにしたほうがいい。といわれたのですが、地理は好きじゃないし、文系だと地理では不利なんですよね?生物(2)を3年に回したら?ともいわれましたが、今生物(1)を取っているのでそのまま引き継ぐほうが理解しやすいんじゃないかなと思ってます。この3科目を同時に取るのは避けるべきですか? ちなみに、得意な科目は生物で、苦手な科目は芸術、技術とか不器用なのでその辺は苦手です。

  • 以下のようにA列に16桁の数があります。これが何種類あるかをカウントし

    以下のようにA列に16桁の数があります。これが何種類あるかをカウントし(この場合は"5")その数を行数として使用したいのです。Range(Range("B1"), Range("B5").Select                               ↑                      この矢印部分(B5の5)にそのカウントした数を使用したいのです。よろしくお願いします。    2009042505020101 2009042505020101 2009042505020102 2009042505020102 2009042505020102 2009042505020103 2009042505020103 2009042505020103 2009042505020103 2009042505020105 2009042505020109 2009042505020109 2009042505020109

  • Excel2003で、指定列に空白セルのある行の数をカウントしたいので

    Excel2003で、指定列に空白セルのある行の数をカウントしたいのですが。 下記の様なセルがあり、A列とC列が共に空白の行の数をカウントしたいのですが どの様にすれば良いでしょうか? (3行目と6行目がA列とC列のセルが空白なので、「2」を表示したいのです)  ABC 1あか 2い さ 3 き 4う 5え し 6 く 7 けす 宜しくお願い致します。

  • 条件にあてはまるデータの数をカウントするエクセルVBA

    下記のようにA列に1~3のコードがありB~E列には測定値があります。 B列以降の測定値のカウント(+3の個数、+2の個数…)を列ごとにVBAでカウントしてます。 A列に関係なくカウントするコードは記述して実行できましたが A列の条件が1の時だけカウントするVBAが良くわかりません。 シート A    B    C  ・・・E 1    -1   +1  ・・・ 1    +2   0 2     0   0 3    -3   0 1    -1   +3 101行目以降 +3    カウント数 … +2      〃 +1      〃 0       〃 -1      〃 -2      〃 -3      〃   A列に関係なくカウントするコード sub カウント() Dim 行 As Long Dim 列 As Long For 列 = 2 To 5 For 行 = 101 To 107 Cells(行, 列).Value = Application.WorksheetFunction.CountIf(Range(Cells(2, 列), Cells(100, 列)), Cells(行, 1)) Next 行 Next 列 End Sub

  • 勝敗数について。

     初めまして、よろしくお願いします。  スコアーで勝敗数のカウントしていく表を作りたいと思います。 例)      A       B       C          D          E 1   日時   チーム名A チーム名B Aチームの勝数 Bチームの勝数 2 7月20日  スコア数   スコア数       3          1 3 7月19日    ”        ”          2          1 4 7月18日    ”        ”          2          0 5 7月17日    ”        ”          1          0  日時はスコアー数は2行めに自動挿入していきます。A列B列C列のデーターから、D列E列に近日10日間の(ここでは2行目から11行目までの)勝数を表示されるような(D列、E列、2列で3-1となるかの様に)関数を教えて頂きたく、よろしく願いします。

  • 編入試験と一般試験の科目数の違いについて

    気になったので投稿させてもらいました。編入試験の科目数についてです。 率直に質問すると、なぜ、編入試験では一般的に科目数が少ないのですか? だいたい編入試験は1科目~3科目+面接などです。 (例えば:建築学+面接など) 一般入試に比べて、編入試験ではセンター試験、二次試験などがありせん。 国立の一般入試の場合、センター試験で5教科7科目を科しすところが一般的です。二次では1科目~多数の科目を科します。 同じ大学なのに編入試験の科目数と一般入試の科目数が違うのはなぜですか? 一般入試の場合、センター試験などがあるため、どの教科もオールラウンドに出来ないと合格することができません。 しかし、編入学の場合、少ない科目で合格することが出来ます。 自分的に考えたのですが、編入学と言えば、3年次がほとんです。大体の大学では教養科目を履修済みで単位を認めてくれます。 教養科目は文系の生徒でも、化学を履修したり、理系の生徒なら、政治学を履修したりします。 そこで、一般入試では、文系、理系を問わずに入学試験の時にオールラウンドに勉強していたほうが大学に入学してから一般的な知識があった方がスムーズに教養科目が学べるからではないかと考えています。 それに比べて編入生は3年次からのため教養科目を履修することがなく、いきなり専門科目などを要求されるため、少ない科目で大学へ入学でき、オールラウンドに5教科7科目も学習をする必要がないと考えています。 長文、分かりにくい文章で、すいません。

専門家に質問してみよう