ここから本文です

エクセルでのスケジュール管理について。 まずシートAに1ヶ月全てのスケジュー...

sanche1012sancheさん

2015/9/1817:12:45

エクセルでのスケジュール管理について。

まずシートAに1ヶ月全てのスケジュールを管理。
添付の様な【掲載者】、【掲載開始日】、【掲載終了日】の一覧になります。

※開始、終了はばらばらで、実際には500組近くになる予定です。

シートBには日別のリストを作成します。
例えば【10月10日】のシートを作成するとします。
その際、【10月10日】のシートにシートAよりその日掲載される組を自動で呼び出されるようにしたいです。
※今回の例ですとシートBに『A組、B組、E組』が呼び出される状態

数が多いので手で入力するのは難しいと考えており、何か方法があれば教えていただきたいと思っています。
ちなみに当方、マクロは全く使用出来ません。
もしマクロだったら簡単に解決するとの事でしたら申し訳ありませんが、詳細を記載していただけると助かります。

以上、よろしくお願いいたします。

シート,スケジュール,Sheet1,掲載終了日,エクセル,シートB,A1セル

この質問は、活躍中のチエリアン・専門家に回答をリクエストしました。

閲覧数:
153
回答数:
1

違反報告

ベストアンサーに選ばれた回答

mitokuboさん

2015/9/1909:59:13

マクロが優れているといったことはありません。関数式で対応できるのでしたらその方がベターでしょう。
シート1にはお示しの表がA列からD列までにありそれぞれのデータは3行目から下方に入力されているとします。
そこで例えばシート2に10月1日の掲載者を表示させるとしたらシート2に作業列を設けます。
例えばシート2のA1セルには必ず表示させたい日付を10/1のように入力します。
そのうえでH3セルには次の式を入力して下方にドラッグコピーします。

=IF(OR($A$1="",Sheet1!B3=""),"",IF(AND($A$1>=Sheet1!C3,$A$1<=Sheet1!D3),MAX(H$2:H2)+1,""))

その後にお望みの掲載者をA3セルから下方に表示させるとしたらA3セルには次の式を入力して下方にドラッグコピーします。

=IF(ROW(A1)>MAX(H:H),"",INDEX(Sheet1!$B:$B,MATCH(ROW(A1),H:H,0)))

作業列が目障りでしたらその列を選択して右クリックし「非表示」を選択すればよいでしょう。
このシートを選択してコピーし他のシートに張り付けてA1セルの日付を変えることでそれぞれの日付のシートを作ることができますね。

質問した人からのコメント

2015/9/24 09:28:54

早々にご返答いただきありがとうございました。
お礼が遅くなり申し訳ありません。

お教えいただきました方法で対応出来そうです!
細かいご指示までいただき大変助かりました。

何とか本日中にまとめて形に出来るかと思います。
またご縁がありましたらご指導、お願いいたします。

ありがとうございました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。