教育関係で事務職をしております。
教育関係で事務職をしております。 業務の効率化の一環として、エクセルの関数を利用して、下記の内容ができればと考えております。 可能でしたら、ご教示お願いいたします。 ・全クラス名簿から各クラス用のデータ作成をします ・各クラス用のデータの指定のセルにクラス名を入力すると、全クラス名簿の該当クラスから、名前などの情報が飛んでくるようにしたい ・現在は手動でコピー・貼り付けを各クラス毎に行なっている ・下記の内容ではクラス数を4クラスとしていますが、実際は20クラス程度ございます。 ・IF関数でできそうなのですが、検索値のクラスが多いため、関数が長くなるため、断念しました。 ・現状の一覧は下記のようになっております。 ○全クラス名簿の内容: シート名→全クラス名簿 B1:D1→クラス名(1-1) E1:G1→クラス名(1-2) B2:D2、E2:G2→各項目名(名前、単月、累計) B23:D23→クラス名(2-1) E23:G23→クラス名(2-2) B24:D24、E24:G24→各項目名(名前、単月、累計) B列、E列(3〜22行目、25〜44行目)→各学生の名前 C列、F列(3〜22行目、25〜44行目) →各学生の出席率(当月) D列、G列(3〜22行目、25〜44行目) →各学生の出席率(累計) ○各クラスデータの内容: シート名→各クラス掲示用 A4→クラス名(1-1、1-2) A5:C5→各項目名(名前、単月、累計) A6:A25→各学生の名前 B6:B25→単月出席率 C6:C25→累計出席率 ○現在は、「各クラス掲示用」シートのA4にクラス名を手入力して、A6:C25の範囲に、「全クラス名簿」の該当箇所を各クラス毎にコピペしております。 ○「各クラス掲示用」のA4にクラスを入力すると、クラス毎の学生情報が全クラス名簿からとんでくるようにしたいです。 例:「各クラス掲示用」シートのA4に「1-1」と入力すると、同シートのA6:C25に、「全クラス名簿」シートのB3:D22の情報が飛んでくる。 分かりづらい内容でしたら、補足説明いたします。 どうぞ、お力添えお願いいたします。
Excel・211閲覧・100
1人が共感しています
ベストアンサー
列の検索ではなく、行と列の検索になるので数式が長くなるのは仕方ないです。データベース型に表を作ると数式は短くなるのですが・・・ 数式を短くするために行数、列数をセルに出しておきます。 A4セルに検索するクラス名を入れます。 B4 =SUMPRODUCT((全クラス名簿!$B$1:$Y$320=$A$4)*ROW($1:$320)) C4 =SUMPRODUCT((全クラス名簿!$B$1:$Y$320=$A$4)*COLUMN($B:$Y)) A5 =IFERROR(IF(OR(ROW(A1)>21,INDEX(全クラス名簿!$A:$Z,$B$4+ROW(A1),$C$4+COLUMN(A1)-1)=""),"",INDEX(全クラス名簿!$A:$Z,$B$4+ROW(A1),$C$4+COLUMN(A1)-1)),"") A5セルは右と下にコピーします。 ※範囲は40クラス分ぐらいあるので全部カバーできるかと、
1人がナイス!しています