• ベストアンサー

期間の入力の仕方

シート1に名前と期間の始めと終了の日付が入力してあります シート2にカレンダーを作成しており期間開始~終了までの間に名前を表示させたいです。今までは期間が1日だった為作業列を作りVlook関数で作成していました。開始日や終了日は表示できますが間の日付が出来ません 解り難い質問で申し訳ございません。何かいい方法があれば教えていただければ助かります。 シート1      名前    期間始め  期間終わり 2    太郎    2/1     2/5  

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.1・2です! 何度もごめんなさい。 前回の方法は同日に同施設を複数の人が利用した場合は 正確なデータを表示できません。 限定条件として、一施設に一人という条件になります。 どうも何度も失礼しました。m(__)m

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

No.1です! たびたびお邪魔します。 結構条件が重なると難しくなりますね! ↓の画像のような感じになれば良いのですかね? まず、Sheet2にシリアル値で日付を入れる方法ですが、 B3セルに =IF(MONTH(DATE($A$1,$C$1,ROW(A1)))=$C$1,DATE($A$1,$C$1,ROW(A1)),"") という数式を入れ、セルの書式設定の表示形式は ユーザー定義から d としておきます。 これをオートフィルで31日(B33セル)までコピーします。 これでA1・C1セルに年・月を入力すると月末まで表示されます。 大の月・小の月も対応できるはずです。 そして、Sheet1に作業用の列(表)を設けています。 Sheet1のE2セルに =IF($D2-$C2+1<COLUMN(A1),"",$B2&$C2+COLUMN(A1)-1) という数式を入れ、列方向と行方向にオートフィルでコピーします。 今回はSheet2の数式の関係で、10列(N列まで)コピーしています。 行方向は100行まで対応できる数式にしていますので、そのくらいまでコピーしても構いません。 最後にSheet2のC3セルに =IF(COUNTIF(Sheet1!$E$2:$N$100,C$2&$B3),INDEX(Sheet1!$A$2:$A$100,MAX(INDEX((Sheet1!$E$2:$N$100=C$2&$B3)*ROW($A$1:$A$99),))),"") という数式を入れ、列方向と行方向(月末まで)オートフィルでコピーすると 画像のような感じになります。 この画面から数式をそのままコピー&ペーストしてみてください。 以上、かなり無理矢理の方法になります。 参考になれば幸いですが 今回も外していたらごめんなさいね。m(__)m

supercar02
質問者

補足

いえいえ、ばっちりマトを得てます。本当にいつもありがとうございます。しかも画像付きでかなりわかりやすいです。とりあえず今ある表に組み込んでみます。結果報告いたします。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんにちは! 一例です。 ↓の画像でSheet1のデータをSheet2に表示させるようにしてみました。 尚、日付は全てシリアル値が入っているものとします。 Sheet2のB4セルに =IF($A4="","",IF(AND(VLOOKUP($A4,Sheet1!$A$2:$C$100,2,0)<=B$3,VLOOKUP($A4,Sheet1!$A$2:$C$100,3,0)>=B$3),$A4,"")) という数式を入れ、オートフィルで列方向と行方向にコピーすると 画像のような感じになります。 数式はSheet1の100行目まで対応できるようにしています。 以上、参考になれば良いのですが 他に良い方法があれば読み流してくださいね。m(__)m

supercar02
質問者

補足

いつもありがとうございます。 早い回答助かっています。 今回の作成理由は施設の利用状況を管理したいです。シート1の名前と期間始の間にA棟等の施設名を追加し作成し、 シート2には施設の日別で誰が利用しているか知りたいです。画像の名前欄Aを施設名に変え、日付に入っている利用者名はそのままで大丈夫です。 カレンダーの日付欄(シート2のB3,B4,B5…)にはA1とC1の入力から日付を自動で表示させたいです。 よろしくお願いします。

関連するQ&A

  • 期間日付表をカレンダーに落とすには

    施設の予約管理表を作成しています。 シート1に施設利用期間が入力されている表があります     A    B    C    D    1   名前   部屋番  期間始  期間終 2   太郎   1号   2/1   2/5  3   花子   2号   2/4   2/7 シート2にカレンダーで部屋別に利用状況がわかる様な表を作成したいです。利用している日のセルには利用者の名前を表示したいです。カレンダーはタテでお願いします。部屋数は35部屋、1年で管理したいです。 よろしくお願い致します。

  • エクセルカレンダーの作り方

    エクセル2003でカレンダーを作成したいです。 作成方法を教えていただきたく投稿いたしました。 祝日カレンダーというシートを作成し、 A5~A50まで日付(2013/01/01と表記) B5~B50まで祝日の名前が入った表を作成しました。           A       B      6  2013/01/01   元旦 7  2013/01/14   成人の日 8  2013/02/11   建国記念の日 9  2013/03/20   春分の日 10 2013/04/29   昭和の日 といった感じです。 別シート「シート1」のE2のセルに 2013/01/01 と日付をいれてあります。 この日付は毎日変わるのですが、そのすぐしたのセルE3のセルに 祝日カレンダーシートに対応している日付がきたら、祝日の名前を表示させたいのです。 1/1なら元旦。1/14なら成人の日。 といった感じです。 このやり方を教えていただけないでしょうか。 よろしくお願い致します。

  • エクセルで指定期間内に在職する対象者を抽出したいのです。

    お世話になっております。会社の在籍者名簿を作成したいのですが、次のような課題があります。 sheet1に以下のマスターデータがあります。   A    B     C    D     1 個人コード 所属コード 開始日付  終了日付 2  01   6000   2008/04/01 9999/12/31 3  02   1200   2008/03/01 9999/12/31 4  03    7000   2008/05/01 2008/05/20 5  04   1100   2008/03/01 9999/12/31 sheet2に期間以下の5月の在籍指定条件を設定します。 開始日付 2008/05/01 終了日付 2008/05/31 この期間内に該当する対象者が下記の通り抽出されます。   A    B     C    D     1 個人コード 所属コード 開始日付  終了日付 2  01   6000   2008/04/01 9999/12/31 3  02   1200   2008/03/01 9999/12/31 4  04   1100   2008/03/01 9999/12/31 日付についてのルールは以下の通りです。 A.個人コード03は、終了日付が2008/05/31前の為該当しません。月末まで在籍する方が対象となります。 B.在籍指定条件の開始日付より前に開始日付がスタートしている方は対象となります。 私の質問表現に曖昧な点がありましたらお許し下さい。ご回答をいただければ嬉しく存じます。宜しくお願い致します。

  • エクセルでのご質問

    エクセル2007でアクセスのクエリから元となるデータベースを引いています。 そのシート1(画像)に ID 開始日 終了日が入力されており、エクセルを開くたびに元データからインポート・更新し新しいデータに変わります。 別シート2(画像)にカレンダーで週間予定が書かれており、シート1を見てIDが同じなら開始日から終了日までの期間のところに丸印もしくは塗りつぶしを行いたいのですが、可能でしょうか? 週間で作成しているため、週の始めが期間内の場合も同様の動きをして欲しいのと、年をまたいでも同様の動きをして欲しいです。 どの関数を使えば可能なのかわかりやすく教えてくれると嬉しいです。 なお当方はVBAは初心者なので関数で対応していただけるとありがたいのですが・・・ ご教授ください。お願いします。

  • カレンダーで日付をワンタッチ入力したい

    デイリー業務で1日1枚日付入りの申し込み書を作成しています。(お弁当の申し込み書) 日付を入れるのが面倒な為カレンダーを表示させておきカレンダーの”日”をクリックするのみでEXCELシートの左上あたりに月日と曜日が入る様にしたいです。  (ホテル、飛行機、ゴルフ場などの申し込みWEBサイトで   良く使われているものです) どなたか方法を教えて下さい。

  •  勉強時間の指定期間内の集計をしたいです。

     勉強時間を集計しています。  A列科目、B列開始日、C列開始時刻、D列終了日、E列終了時刻、F列合計のシートです。  集計開始日と集計開始終了日の間の期間だけをJ列の科目ごとにK列に集計したいのです。  日付データで、どのようなネストを組んだらよいかわかりません。  AVERAGEIFSとDATE関数だとは思うのですが。  よろしくお願いします。

  • 日付を入力しカレンダーの該当する日を塗りつぶしたい

    添付の画像のように (1)「開始日」と「終了日」に日付を入れる (2)すぐ下にあるカレンダーの「該当の日付のセルが塗りつぶされる」 ということをやりたいと思っています。 条件付書式?や関数で対応できるものでしょうか。

  • エクセルで、指定期間及び指定部門に在職する対象者を抽出したいのです。

    お世話になっております。会社の在籍者名簿を作成したいのですが、次のような課題があります。 sheet1に以下のマスターデータがあります。   A    B     C    D     1 個人コード 所属コード 開始日付  終了日付 2  01   6000   2008/04/01 9999/12/31 3  02   1200   2008/03/01 9999/12/31 4  03    7000   2008/05/01 2008/05/20 5  04   1100   2008/03/01 9999/12/31 sheet2に期間以下の5月の在籍指定条件を設定します。 所属コード 1200及び1100 開始日付 2008/05/01 終了日付 2008/05/31 この期間内に該当する対象者が下記の通り抽出されます。   A    B     C    D     1 個人コード 所属コード 開始日付  終了日付 2  02   1200   2008/03/01 9999/12/31 3  04   1100   2008/03/01 9999/12/31 フィルタオプションの設定で抽出した際、複数の所属コードを指定して一気に抽出することは可能でしょうか?他に方法がありましたらお教え下さい。 私の質問表現に曖昧な点がありましたらお許し下さい。ご回答をいただければ嬉しく存じます。宜しくお願い致します。

  • 開始日と終了日を入力し、その間の期間を表示させたい。

    すみません・・・先程質問したものですが、先程の質問と関連した質問なのですがもしわかる方いらっしゃれば教えて頂けないでしょうか EXCELで以下の画像のような表を作りたいです。 開始日と終了日を入力すると、その間の期間を2種類の方法で表示する。「●年●ヶ月」「●ヶ月」 次に、期間の合計を、上記の2種類の方法で表示する。「●年●ヶ月」「●ヶ月」 例えば、 A2・・・開始日 ※数値直接入力(入力例:2008/4/1) B2・・・終了日 ※数値直接入力(入力例:2009/5/31) C2・・・開始日と終了日の間の期間。表示方法は「●年●ヶ月」 ※計算式や関数などが入る D2・・・開始日と終了日の間の期間。表示方法は「●ヶ月」 ※計算式や関数などが入る 更に、合計も計算したいので C5・・・C2~C4までの合計。表示方法は「●年●ヶ月」 ※計算式や関数などが入る D5・・・D2~D4までの合計。表示方法は「●ヶ月」 ※計算式や関数などが入る という感じです。 ※尚、画像ではD列に表示されてる期間がカッコ()で囲まれていますが、 ややこしければ、カッコ()なしの表示でもOKです。 説明がわかりにくかったらすみません・・・ 尚、バージョンはEXCEL2007です。 よろしくお願いします。

  • エクセル:日数を求める。

    会社が完全週休2日ではなく、会社カレンダーにて営業しています。 パートさんが在職中(または任意の期間)に会社営業日(所定労働日数)が何日あるのかを算出したいと思っています。 対象者が200名近くいるため、会社カレンダー1つを作成し、後は、個人データとして開始日から終了日を入力すると指定した期間の会社営業日が出せる表を作りたいと思っています。 イメージしては・・・ 【sheet1】          【sheet2】 A列(日付)  B列 2007/4/1    休       A氏 4/2~4/6 =4日 2007/4/2    営業日     B氏 4/1~4/8 =5日 2007/4/3    営業日     C氏 4/4~4/6 =2日 2007/4/4    営業日         ・  2007/4/5    休           ・ 2007/4/6    営業日         ・ 2007/4/7    営業日 2007/4/8    休  ・  ・  ・

専門家に質問してみよう