プロが教えるわが家の防犯対策術!

エクセルの関数で質問です。
下記エクセルファイルですが、
シフト表というシートには名前と日付、シフトが記入されています。
カレンダーというシートには月単位で変更できるカレンダーがあるのですが、
自動でシフト表というシートのシフト(1/1であればJ4)が
カレンダーのシートの日付の下のセル(1/1であればB5)
に自動で入るような関数を教えてください。
また、シフト表のシートで複数名のシフトを入れた場合、選択したら
その人のシフト表をカレンダー形式で自動で表示させるようにもしたいです。

https://38.gigafile.nu/1226-b3a4527674f3abddee37 …

「シフト表を自動でカレンダーに反映したい」の質問画像

質問者からの補足コメント

  • 回答ありがとうございます。
    質問のURLに元データのファイルがダウンロードできますので
    一度確認いただくこと可能でしょうか?

    No.1の回答に寄せられた補足コメントです。 補足日時:2023/12/22 15:19

A 回答 (4件)

A1を2024にしてから


B4セルに
=INDEX(シフト表!$4:$4,0,MATCH(B4,シフト表!1:1,0))
あとはコピペ出来ると思います。
ちなみに山田さんです。$5:$5にしたら次の人になるから
範囲を可変にするならOFFSET関数が使えます。
    • good
    • 0

ダウンロードしたけど間違ってるから、出来ません。


これ2023年になってるでしょう?
2023年1月は月曜始まりじゃないですよ。
    • good
    • 0

No1です



>ダウンロードできますので
>一度確認いただくこと可能でしょうか?

安全性への配慮から、
 ・当方に不要なファイル
 ・出典が不明なファイル
などに関しては、基本的なスタンスとしてDL等はいたしません。

誰かにDLして欲しければ、そういう方が現れるのをお待ちください。
あるいは、No1の回答や条件が当たらずとも遠からずであれば、質問者様の環境に合うように修正して、利用することができるかも知れません。
(No1は、あくまでも考え方や要領を示しただけのサンプルですので・・)
    • good
    • 0

こんにちは



どういう構成なのかよくわからないので、勝手なレイアウトで作成してみましたが、要領は伝わるだろうと思います。

・添付図で、それぞれのシートが図のようになっていると仮定
・シフト表のシートから、該当する日付のシフト(名前とシフト)を抽出して
 カレンダーの同じ日付の欄に転記するものと仮定
・両シートとも、日付欄の値はシリアル値(エクセルの日付型の値)であると仮定
・スピル機能が使える環境であると仮定

という仮定条件で、カレンダーシートのA6セルに
=TEXTJOIN(CHAR(10),1,FILTER(シフト表!$A$4:$A$200&" "&シフト表!$C$4:$C$200,シフト表!$B$4:$B$200=A5,""))
の式を入力し、これをA6:G6までフィルコピー。
更に、それを8行目、10行目・・とコピーしてあります。

※ 6、8、10・・行目のセルは「折り返して~」の表示設定にしてあります。
「シフト表を自動でカレンダーに反映したい」の回答画像1
この回答への補足あり
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A