メむンコンテンツぞスキップ
芋出し画像

倏季䌑業䞭の勀務態様衚をスプレッドシヌトで䞀芧衚瀺日盎の電話察応や孊校日誌蚘入を効率化したす

    倏季䌑業䞭の勀務態様䞀芧衚スプレッドシヌト䜜成ず関数解説

     倏季䌑業䞭の勀務態様を䞀芧衚瀺するこずで、日盎の電話察応や孊校日誌の蚘入を効率化するためのスプレッドシヌト䜜成に぀いお解説したす。50人分の個人の予定衚シヌトがあり、それぞれのシヌトには午前ず午埌の予定、研修・出匵・職免等の甚務名ず甚務先が蚘入されおいるこずを前提ずしたす。

    䜜成する䞀芧衚

    1. 日付別勀務䞀芧衚: 瞊軞に7月21日から8月31日たでの日付、暪軞に個人の午前ず午埌の予定を衚瀺したす。

    2. 個人別勀務䞀芧衚: 瞊軞に個人名、暪軞に7月21日から8月31日たでの日付、午前ず午埌の予定を衚瀺したす。

    3. 日盎甚職員動向䞀芧衚:日付を遞択し、その日の職員の動向が衚瀺されたす。

    スプレッドシヌトの構成

    • 個人別予定衚シヌト: 50人分のシヌト。シヌト名は「1」「2」 「50」のように連番で管理したす。各シヌトのC6:D47の範囲に、日付ごずの午前の予定がC列、午埌の予定がD列に蚘入されおいるずしたす。

    画像
    • 日付別勀務䞀芧衚シヌト: 日付別に個人の予定を衚瀺するシヌト

    画像
    • 個人別勀務䞀芧衚シヌト: 個人別に日付ごずの予定を衚瀺するシヌト

    画像
    • 日盎甚職員動向䞀芧衚:遞択した日付の職員の動向を衚瀺するシヌト

    画像

    各䞀芧衚の䜜成ず関数解説

    1. 日付別勀務䞀芧衚

    この䞀芧衚は、50個のシヌトから、日付ごずの午前ず午埌の個人の予定が暪方向に䞀芧衚瀺されたす。

    画像
    氏名はによっお䜜成された架空のものです

    数匏:のセルにこの関数を䞀぀入れるだけで、䞀芧衚が完成したす

    =REDUCE(TOROW(,1),SEQUENCE(1, 50),
    LAMBDA(pv,cv, HSTACK(pv,INDIRECT(cv & "!C6:D47"))))

    関数の目的:

    この関数の目的は、Excelの耇数のシヌトシヌト名は "1", "2", "3"... "50"に存圚する特定の範囲のデヌタC6:D47を、1぀のシヌトに暪方向に連結しお衚瀺するこずです。぀たり、各シヌトのC6:D47のデヌタが、1぀のシヌトの連続した列に䞊べられたす。

    関数の構成芁玠ず解説:

    1. `TOROW(,1)`:

      • `TOROW`関数は、配列や範囲を1行に倉換する関数です。

      • `,1` は、空の行を䜜成するための匕数です。`REDUCE`関数の初期倀ずしお䜿甚され、ここに各シヌトのデヌタが远加されおいきたす。

    2. `SEQUENCE(1, 50)`:

      • `SEQUENCE`関数は、指定された開始倀から指定された個数の連番を生成する関数です。

      • `1, 50` は、1から50たでの連番を生成するこずを意味したす。この連番は、シヌト名ずしお䜿甚されたす。

    3. `LAMBDA(pv, cv, HSTACK(pv, INDIRECT(cv & "!C6:D47")))`:

      • `LAMBDA`関数は、無名関数を定矩するための関数です。

      • `pv`: 环積された結果前のLAMBDA関数の結果。初期倀は`TOROW(,1)`で䜜成された空の行です。

      • `cv`: 珟圚の連番の倀1から50。

      • `HSTACK(pv, INDIRECT(cv & "!C6:D47"))`:

        • `INDIRECT(cv & "!C6:D47")`: `INDIRECT`関数は、文字列をセルの参照ずしお解釈する関数です。この郚分では、珟圚の連番`cv`をシヌト名ずしお、C6:D47の範囲を参照したす。䟋えば、`cv`が1の堎合、`INDIRECT("1!C6:D47")`ずなり、シヌト "1" のC6:D47の範囲を参照したす。

        • `HSTACK(pv, ...)`: `HSTACK`関数は、配列や範囲を暪方向に連結する関数です。この郚分では、前の环積結果`pv`ず、珟圚のシヌトから抜出したC6:D47のデヌタを暪に結合したす。

    凊理の流れ:

    1. `SEQUENCE(1, 50)`で1から50たでの連番が生成されたす。

    2. `REDUCE`関数が開始され、初期倀ずしお`TOROW(,1)`で䜜成された空の行が蚭定されたす。

    3. `REDUCE`関数は、連番の各倀1から50に察しお、`LAMBDA`関数を繰り返し適甚したす。

    4. `LAMBDA`関数では、珟圚の連番をシヌト名ずしお、`INDIRECT`関数を䜿っおC6:D47の範囲を参照したす。

    5. `HSTACK`関数を䜿っお、前の环積結果ず珟圚のシヌトから抜出したC6:D47のデヌタを暪に結合したす。

    6. `REDUCE`関数は、すべおの連番に察しお`LAMBDA`関数を適甚し終えるず、最終的な环積結果を返したす。

    7. 最終的な环積結果ずしお、すべおのシヌトのC6:D47のデヌタが暪方向に連結されたデヌタが衚瀺されたす。

    前提条件:

    • シヌト名が "1", "2", "3"... "50" ず連番で付けられおいるこず。

    • 各シヌトにC6:D47の範囲にデヌタが存圚するこず。

    この関数は、耇数のシヌトからデヌタを効率的に収集し、1぀のシヌトにたずめお衚瀺するための䟿利なツヌルです。シヌト名が連番で付けられおいるずいう前提条件がありたすが、その条件䞋では非垞に匷力な関数です。

    2. 個人別勀務䞀芧衚

    この䞀芧衚は、特定の個人がい぀どのような予定が入っおいるかを把握するのに圹立ちたす。

    画像
    氏名はによっお䜜成された架空のものです

    数匏:のセルにこの関数を䞀぀入れるだけで、䞀芧衚が完成したす

    =MAP(A4:A53,
    LAMBDA(_v,
    TOROW(indirect(_v&"!C6:D42"))
    )
    )

    関数の目的:

    この関数は、指定された個人名の番号A4:A53に基づいお、各個人のシヌトから特定の範囲C6:D42のデヌタを抜出し、暪方向に連結しお䞀芧衚瀺するこずを目的ずしおいたす。

    関数の構成芁玠ず解説:

    1. `MAP(array1, lambda_function)`

      • `MAP` 関数は、指定された配列`array1`の各芁玠に察しお、指定されたラムダ関数`lambda_function`を適甚し、その結果を新しい配列ずしお返したす。

      • `array1`: この堎合は、`A4:A53` で指定されるセル範囲です。この範囲には、個人名の番号シヌト名がリストずしお入力されおいるこずを想定しおいたす。

      • `lambda_function`: この堎合は、`LAMBDA(_v, ...)` で定矩されるラムダ関数です。

    2. `LAMBDA(_v, TOROW(INDIRECT(_v&"!C6:D42")))`

      • `LAMBDA` 関数は、無名関数名前のない関数を定矩したす。

      • `v`: `MAP` 関数によっお枡される、珟圚の配列芁玠この堎合は、A4:A53 のセルに入力された個人名番号シヌト名です。アンダヌスコア `` で始たる倉数は、慣䟋的に「䜿甚しない倉数」たたは「重芁でない倉数」を瀺すために䜿われるこずがありたすが、この堎合は `INDIRECT` 関数内で䜿甚されおいるため、実際には重芁な倉数です。

      • `TOROW(INDIRECT(_v&"!C6:D42"))`: この郚分が、実際にデヌタを抜出しお暪方向に連結する凊理を行いたす。

    3. `INDIRECT(_v&"!C6:D42")`

      • `INDIRECT` 関数は、文字列で指定されたセル範囲を参照したす。

      • `_v&"!C6:D42"`: `_v`個人名たたはシヌト名ずセル範囲 "!C6:D42" を連結しお、参照するセル範囲の文字列を䜜成したす。䟋えば、`_v` が "1" の堎合、`INDIRECT("1!C6:D42")` ずなり、"1" ずいうシヌトのセル範囲 C6:D42 を参照したす。

      • この関数は、指定された個人シヌトの C6:D42 の範囲にあるデヌタを配列ずしお返したす。

    4. `TOROW(...)`

      • `TOROW` 関数は、指定された配列たたは範囲を1行の配列に倉換したす。

      • `INDIRECT` 関数が返す配列C6:D42 の範囲のデヌタを、暪方向に連結しお1行の配列にしたす。これにより、各個人のデヌタが暪方向に䞊んだ䞀芧が䜜成されたす。

    凊理の流れ:

    1. `MAP` 関数は、`A4:A53` のセル範囲にある各個人名番号シヌト名に察しお、ラムダ関数を適甚したす。

    2. ラムダ関数は、䞎えられた個人名番号 `_v` を䜿っお、以䞋の凊理を行いたす。

      • `INDIRECT` 関数を䜿っお、`_v` ずいう名前のシヌトのセル範囲 C6:D42 を参照したす。

      • `TOROW` 関数を䜿っお、参照されたセル範囲のデヌタを暪方向に連結しお1行の配列にしたす。

    3. `MAP` 関数は、ラムダ関数の結果各個人の暪方向に連結されたデヌタを瞊方向に䞊べた配列を返したす。

    前提条件:

    • `A4:A53` のセル範囲に、個人名番号シヌト名がリストずしお入力されおいるこず。

    • 各個人名番号シヌト名に察応するシヌトが存圚し、そのシヌトに "C6:D42" の範囲にデヌタが存圚するこず。

    • C6:D42 の範囲には、䞀芧衚瀺したいデヌタが適切に入力されおいるこず。

    • 各行のデヌタは、日付順に䞊んでいるこずが望たしいです䞀芧衚の可読性を高めるため。

    この関数によっお、指定された個人名番号に基づいお、各個人のシヌトから抜出されたデヌタが暪方向に連結され、個人別の䞀芧衚が䜜成されたす。

    3. 職員動向䞀芧衚

    日盎甚のシヌトで日付を遞択するず、その日付に察応する職員の動向が䞀芧衚で衚瀺されたす。

    画像

    関数の目的:
    この関数は、日盎甚のシヌトで、日付をダブルクリックでカレンダヌから遞択するず、その日付に察応する職員の動向を䞀芧衚で衚瀺するこずを目的ずしおいたす。職員の動向は、別のシヌトここではシヌト名が "1"に日付ず職員の動向が蚘録されおいるこずを前提ずしおいたす。

    数匏:のセルにこの関数を䞀぀入れるだけで、䞀芧衚が完成したす

    = LET(r,
    xmatch($C$2,'1'!A:A),
    MAP(B5:B54,
    LAMBDA(v,
    indirect(v&JOIN(r,"!C",":G",""))
    )
    )
    )

    関数の構成芁玠ず解説:

    1. `LET(name1, value1, name2, value2, ..., expression)`

      • `LET` 関数は、数匏内で䜿甚する倉数に名前を付けお倀を割り圓おるこずで、数匏をより読みやすく、管理しやすくしたす。

      • `name1, value1`: 倉数名ずその倀を定矩したす。

      • `expression`: 定矩された倉数を䜿っお蚈算を行う匏です。

    2. `r, XMATCH($C$2,'1'!A:A)`

      • `r`: 倉数名。この倉数には、日付が䞀臎する行番号が栌玍されたす。

      • `XMATCH($C$2,'1'!A:A)`: `XMATCH` 関数は、指定された倀が配列内で最初に芋぀かる䜍眮を返したす。

        • `$C$2`: 怜玢倀。このセルには、カレンダヌから遞択された日付が入力されおいるこずを想定しおいたす。`$` 蚘号は、セル参照を絶察参照にするために䜿甚されおいたす。

        • `'1'!A:A`: 怜玢範囲。シヌト名が "1" の A列党䜓を怜玢範囲ずしお指定しおいたす。この列には、日付がリストずしお入力されおいるこずを想定しおいたす。

        • `XMATCH` 関数は、`$C$2` の日付が `'1'!A:A` の範囲内で最初に芋぀かる行番号を返したす。この行番号が倉数 `r` に栌玍されたす。

    3. `MAP(B5:B54, LAMBDA(v, INDIRECT(v&JOIN(r,"!C",":G",""))))`

      • `MAP` 関数は、指定された配列`B5:B54`の各芁玠に察しお、指定されたラムダ関数`LAMBDA(v, ...)`を適甚し、その結果を新しい配列ずしお返したす。

      • `B5:B54`: 配列。この範囲には、個人名の番号シヌト名がリストずしお入力されおいるこずを想定しおいたす。

      • `LAMBDA(v, INDIRECT(v&JOIN(r,"!C",":G","")))`: ラムダ関数。

    4. `LAMBDA(v, INDIRECT(v&JOIN(r,"!C",":G","")))`

      • `LAMBDA` 関数は、無名関数名前のない関数を定矩したす。

      • `v`: `MAP` 関数によっお枡される、珟圚の配列芁玠この堎合は、`B5:B54` のセルに入力された個人名の番号シヌト名です。

      • `INDIRECT(v&JOIN(r,"!C",":G",""))`: この郚分が、実際に職員の動向を抜出する凊理を行いたす。

    5. `JOIN(r,"!C",":G","")`

      • `JOIN` 関数は、耇数の文字列を連結しお1぀の文字列にしたす。

      • `r`: `XMATCH` 関数で取埗した行番号日付が䞀臎する行番号です。

      • `"!C"`: 文字列。シヌト名、"!"、"C" を連結したす。

      • `":G"`: 文字列。":" ず "G" を連結したす。

      • `""`: 区切り文字。ここでは区切り文字を指定しないため、空文字列 "" を指定したす。

      • `JOIN` 関数は、これらの文字列を連結しお、参照するセル範囲の文字列を䜜成したす。䟋えば、`r` が 10 の堎合、`JOIN(r,"!C",":G","")` は `"!C10:G"` ずいう文字列を返したす。

    6. `INDIRECT(v&JOIN(r,"!C",":G",""))`

      • `INDIRECT` 関数は、文字列で指定されたセル範囲を参照したす。

      • `v&JOIN(r,"!C",":G","")`: 個人名の番号シヌト名`v` ず、`JOIN` 関数で䜜成されたセル範囲の文字列を連結したす。䟋えば、`v` が "1" で、`JOIN(r,"!C",":G","")` が `"!C10:G"` の堎合、`INDIRECT("1!C10:G")` ずなり、シヌト "1" の 10行目の C列からG列たでの範囲を参照したす。

      • `INDIRECT` 関数は、指定されたセル範囲の倀を返したす。

    凊理の流れ:

    1. `XMATCH` 関数は、`$C$2` に入力された日付が、シヌト "1" の A列で最初に芋぀かる行番号を怜玢し、倉数 `r` に栌玍したす。

    2. `MAP` 関数は、`B5:B54` のセル範囲にある個人名の番号シヌト名に察しお、ラムダ関数を適甚したす。

    3. ラムダ関数は、䞎えられた個人名の番号シヌト名 `v` を䜿っお、以䞋の凊理を行いたす。

      • `JOIN` 関数を䜿っお、`r`日付が䞀臎する行番号ずセル範囲の文字列を連結しお、参照するセル範囲の文字列を䜜成したす。

      • `INDIRECT` 関数を䜿っお、䜜成されたセル範囲の文字列に基づいお、職員の動向を抜出したす。

    4. `MAP` 関数は、ラムダ関数の結果各職員の動向を瞊方向に䞊べた配列を返したす。

    前提条件:

    • シヌト名が "1" のシヌトの A列に、日付がリストずしお入力されおいるこず。

    • `$C$2` のセルに、カレンダヌから遞択された日付が入力されるこず。

    • `B5:B54` のセル範囲に、個人名の番号シヌト名がリストずしお入力されおいるこず。

    • 各職員のシヌトが存圚し、シヌト名が個人名の番号シヌト名ず䞀臎するこず。

    • 各職員のシヌトの、日付が䞀臎する行の C列からG列に、職員の動向が蚘録されおいるこず。

    この関数によっお、日盎甚のシヌトで日付を遞択するず、その日付に察応する職員の動向が䞀芧衚で衚瀺されたす。

    4.共有デヌタのリンク:

    倏季䌑業䞭職員勀務態様衚のスプレッドシヌト

    コピヌを䜜成するをクリックするず、マむドラむブに保存されたす

    免責事項

    • 私が投皿したデヌタに぀いお、ダりンロヌドや䜿甚に蚱可は䞍芁です。

    • 各孊校内で共有しおいただくこずは構いたせんが、SNSやHPなどでのむンタヌネット䞊での再配垃改倉しおの再配垃含むはご遠慮ください。

    たずめ倏季䌑業䞭の勀務態様䞀芧衚䜜成ず日盎業務効率化

    倏季䌑業䞭の孊校運営を円滑に進めるためには、教職員の勀務状況を把握し、日盎業務を効率化するこずが重芁です。本皿では、以䞋の2぀の勀務態様䞀芧衚を䜜成し、日盎業務を支揎する方法に぀いお解説したした。

    1. 日付別勀務䞀芧衚: 特定の日付に誰がどのような予定が入っおいるかを䞀目で把握できたす。

    2. 個人別勀務䞀芧衚: 特定の教職員がい぀どのような予定が入っおいるかを把握できたす。

    3. 日盎甚職員動向䞀芧衚:日付を遞択し、その日の職員の動向が把握できたす。

    これらの衚は、Google スプレッドシヌト䞊で、`LET`、`MAP`、`SEQUENCE`、`INDIRECT`、`XMATCH`、`JOIN` などの関数を組み合わせるこずで実珟可胜です。特に、`INDIRECT` 関数は、シヌト名やセル範囲を文字列ずしお動的に指定できるため、耇数のシヌトからデヌタを集蚈する際に非垞に匷力なツヌルずなりたす。

    日盎業務においおは、カレンダヌから日付を遞択するだけで、その日の教職員の動向が䞀芧衚瀺されるように工倫するこずで、電話察応や来客察応、孊校日誌の蚘入などを倧幅に効率化できたす。

    ただし、`INDIRECT` 関数は蚈算負荷が高くなる傟向があるため、シヌト数やデヌタ量が倚い堎合は、パフォヌマンスに泚意が必芁です。必芁に応じお、より効率的な関数や数匏構造ぞの芋盎しを怜蚎しおください。

    本皿で解説した内容を参考に、各孊校の状況に合わせおスプレッドシヌトをカスタマむズするこずで、倏季䌑業䞭の日盎業務をよりスムヌズに進め、教職員の負担軜枛に繋げるこずが期埅できたす。



     
     
    ICT教育アドバむザヌ小孊校の先生の残業れロを本気で目指す🔥 幌児・小孊生向け孊習Webアプリを完党無料で公開䞭💻 子どもが倢䞭になる先生の負担を劇的に枛らす 登録䞍芁・DL䞍芁で今すぐ䜿えたす👚‍🏫✚ 開発䞭アプリの最新情報もこちらで👇

    あなたぞのおすすめ