エクセルでカレンダー自動入力について

このQ&Aのポイント
  • エクセルでシート1にカレンダーを作成し、シート2に入所情報を入力したら自動でカレンダーに反映させたいです。しかし、黄色の部分の関数がうまくいきません。どのような関数を使えば良いでしょうか。
  • エクセルでカレンダーの自動入力を作成していますが、黄色の部分の関数が上手くいきません。どのような関数を使えば良いでしょうか。
  • エクセルのシート1にカレンダーを作成し、シート2に入所情報を入力したら自動でカレンダーに反映させたいです。黄色の部分の関数が必要です。どの関数を使えば良いでしょうか。
回答を見る
  • ベストアンサー

エクセル カレンダー 自動入力について

シート1にカレンダー 、シート2に入所の部屋・氏名・時間・日程  退所も部屋・氏名・時間・日程入力したら自動でカレンダーに入るように作成しています。 入所に部分(緑色)はできたのですが下側の黄色の部分がうまくいきません。 すみませんが、よろしくお願いします。 緑色の所の関数⇒=IFERROR(IF(OFFSET(A5,MOD(ROW()-ROW(A$5)+1,8)*-1,0)="","",INDEX(Sheet2!$B:$B,SMALL(INDEX((Sheet2!$C$2:$I$20<>LOOKUP(10^5,A$4:A4))*10^5+ROW(Sheet2!$C$2:$I$20),),MOD(ROW()-ROW(A$5)+1,8)),)&""),"") 黄色い部分の所に関数を教えていただきたいのですが よろしくお願いします。

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

  • ベストアンサー
  • msMike
  • ベストアンサー率20% (363/1775)
回答No.2

[No1補足]へのコメント、 》 「緑色の所の関数」は右側の画像のA5に入力して… オートフィルすると、その1行上の日付の数値と同じになるけど、その関数の戻り値の目的は何ですか? 別件ですが、私なら Sheet1 において、 d に書式設定し、かつ、次式を入力したセル A4 を右方にオートフィルします。 =DATE($A$1,$C$1,A3)+1-WEEKDAY(DATE($A$1,$C$1,1)) ただし、事前に aaa に書式設定した範囲 A3:G3 の左端から右方に 1、2、3、…、7 の連続数値を入力しておきます。 参考になれば仕合せかと。

その他の回答 (1)

  • msMike
  • ベストアンサー率20% (363/1775)
回答No.1

確認させてください。 1.お示しの「緑色の所の関数」はどのシートの何処のセルに入力  ̄ ̄された式ですか? 2.「シート1にカレンダー」というのは、添付図の右側のシート  ̄ ̄のことですか?

824775kazuya
質問者

補足

1.お示しの「緑色の所の関数」は右側の画像のA5に入力してオートフィルしています。 2.シート1は右側の画像です。 入所と退所の区別しやすい様にしたかったので、説明しやすい様に色を付けています。 退所の所を肌色の所に入れたいです。

関連するQ&A

  • エクセル

    表示するコードを教えてもらい画像のように作成できることが できたのですが A2 =IFERROR(INDEX(($A$1&$B$1&"1日")*1+ROW($A$1:$A$31)-1, SMALL(INDEX(MOD(WEEKDAY(($A$1&$B$1&"1日")*1+ROW ($A$1:$A$31)-1,1),2)*50+ROW($A$1:$A$31),0),ROW(A1))),"") B2=A2で作成しています 2月の時だけ次の月の最初の部分が出ることがあります どうにかならないでしょうか?

  • エクセル関数について

    A列とB列に氏名を入れてA列にあってB列にないものを取り出す為に=IFERROR(INDEX($A$2:$A$8,SMALL(IF(ISNA(MATCH($A$2:$A$8,$B$2:$B$8,0)),ROW($A$2:$A$8)-1),ROW()-1),1),"")の関数をⅮ列に入れ下にオオートフィルしたのですが、思うように表示されません。  関数が間違っているのか判りません。 何か良い方法はあれば教えてください。

  • エクセル2016 カレンダーについて

    エクセル2016を使用しています シート2にカレンダーを作成して、シート1で『部屋番号』『名前』『入所日・時間』『退所日・時間』を入力し自動でシート2のカレンダーに入力されるように考えていますが、いろいろと調べていますがいまいちわかりません。 もしよろしければ、教えてもらえないでしょうか。 カレンダーの中には1日の中に8行あり『上から4つ目までは入所』、『下から4つ目までは退所』を入れたいのです。 よろしくお願いいたします。

  • エクセル2003でカレンダーを作成したのですが

    そのカレンダーに、誕生日に該当する人の名前を 出てくるようにしたいのですがどういった関数?計算式?を 使用すればいいのでしょうか。 ひとまず、A1セルに2010/1/1を入力し、下に =IF(MONTH($A$1)<>MONTH($A$1-WEEKDAY($A$1)+COLUMN(F1)+7*(ROW(F1)-1)),"",$A$1-WEEKDAY($A$1)+COLUMN(F1)+7*(ROW(F1)-1)) を入れて、あとはオートフィルでカレンダーを作りました。 別シートに、「名前」「誕生月」「日にち」が入ったデータはあるので、ここから引っ張ってこれるようにしたいのですが・・ 説明が下手で申し訳ありません。 ちなみにエクセルはほぼ初心者です。カレンダーもネットで調べて、やっとこさ作成しました。 別シートのデータを、「月と日付別々じゃなくて12/3みたいに 打ち直して、こういう関数つかってやればいいんじゃない?」 などなど、あればお聞きしたいです。

  • エクセル参照リンクについて

    先日質問しました内容ですが、「KURUMITO」さんよりすばらしい解答をいただきましてありがとう ございます。 (投稿日時 - 2013-06-21 13:45:07) あと一つご指導ください。 Sheet2にはA20行から次の1週間分があります。 この場合、下のどの部分を変更してB21に張り付ければいいのかよくわからず困っています。 ご指導ください 「KURUMITO」様の前回のご指導内容 例えばシート2のA1セルには楢崎、岡などの文字が、B1セルから右横に日付が、A2セルから下方には9:00-10:30などがA19までの範囲に入力されているとしてB2セルには次の式を入力して右横方向にドラッグコピーしたのちに下方の行番号の19までドラッグコピーします。 =IF(COUNTIF(INDEX(Sheet1!$A:$BS,MATCH(INDEX($A:$A,ROUNDUP(ROW(A1)/3,0)*3-1),Sheet1!$A:$A,0)+MOD(ROW(A1)-1,3),MATCH(B$1,Sheet1!$A$2:$BS$2,0)):INDEX(Sheet1!$A:$BS,MATCH(INDEX($A:$A,ROUNDUP(ROW(A1)/3,0)*3-1),Sheet1!$A:$A,0)+MOD(ROW(A1)-1,3),MATCH(B$1,Sheet1!$A$2:$BS$2,0)+9),$A$1)=0,"",INDEX(Sheet1!$B$4:$M$4,MATCH($A$1,INDEX(Sheet1!$A:$BS,MATCH(INDEX($A:$A,ROUNDUP(ROW(A1)/3,0)*3-1),Sheet1!$A:$A,0)+MOD(ROW(A1)-1,3),MATCH(B$1,Sheet1!$A$2:$BS$2,0)):INDEX(Sheet1!$A:$BS,MATCH(INDEX($A:$A,ROUNDUP(ROW(A1)/3,0)*3-1),Sheet1!$A:$A,0)+MOD(ROW(A1)-1,3),MATCH(B$1,Sheet1!$A$2:$BS$2,0)+9),0)))

  • INDEX関数SMALL関数を使って空白行を詰める

    シート1にINDEX関数SMALL関数を使って空白行を詰める表を作成したのですが詰めた表をシート2に表示することはできないのでしょうか。  =IF(COUNTIF($A4:$A4,0)=0,MAX(D$3:$D3)+1,"")  =IFERROR(INDEX(A:A,MATCH(ROW()-3,$D:$D, )),"")この表をシート2に表示する方法

  • エクセルで作成したカレンダーのフォントの色を変えたい

    エクセル2002です。 Sheet1にカレンダーを作成して、Sheet2に作成した祝日を参照してカレンダーのフォントの色を赤く表示します。 この時の数式が2個必要ですが、例えば =AND(COUNTIF(祝日,B3)>0,MOD(MONTH(B3),2)=1) =AND(COUNTIF(祝日,B3)>0,MOD(MONTH(B3),2)=0) これを1個の数式で出来るでしょうか。

  • エクセル 関数式の応用

    こんにちは エクセル2010を使っています。 画像の様なデータがあって、次のような式を教えてもらいました。 =IFERROR(INDEX($B$1:$B$7,SMALL(IF($A$1:$A$7=C$1,ROW($A$1:$A$7)),ROW(A1))),"") 画像では A列 B列の データが7行目までなのですが、これを3万行まで広げようと次のような式に変更してみましたが上手く行きません。(空白が返される) =IFERROR(INDEX($B$1:$B$30000,SMALL(IF($A$1:$A$30000=C$1,ROW($A$1:$A$30000)),ROW(A1))),"") 詳しい方、教えていただけませんか? よろしくお願いします。

  • 別シートに勉強時間の集計結果を表示 仕組みが・・・

    お世話になっています 質問No.9097443 及び 質問No.9089695 でご指導いただきました。 勉強時間を集計したシートA列:科目 B列:開始日 C列:開始時刻 D列:終了日 E列:終了時刻 の記載があるsheet1には終了時刻から開始時刻を差し引いた作業時間を表示する列がない。 sheet1に差引の作業時間列を追加することなく、別のシートで各科目の勉強時間を集計する方法を教えてもらいました。 レクチャー頂いた内容は ************************************************************************************* Sheet3のA列とB列を作業列として使用して、Sheet2に科目ごとの勉強時間の合計を集計するものとします。 Sheet3のA2セルに次の関数を入力して下さい。 =IF(INDEX(Sheet1!$A:$A,ROW())="","",IF(COUNTIF(Sheet1!$A$1:INDEX(Sheet1!$A:$A,ROW()),INDEX(Sheet1!$A:$A,ROW()))=1,ROW(),"")) Sheet3のB2セルに次の関数を入力して下さい。 =IF(OR(INDEX(Sheet1!$B:$B,ROW())="",INDEX(Sheet1!$C:$C,ROW())="",INDEX(Sheet1!$D:$D,ROW())="",INDEX(Sheet1!$E:$E,ROW())=""),"",IF(ISERROR(1/(YEAR(INDEX(Sheet1!$B:$B,ROW()))>1904)/(INDEX(Sheet1!$C:$C,ROW())+0>=0)/(INDEX(Sheet1!$C:$C,ROW())+0<1)/(YEAR(INDEX(Sheet1!$D:$D,ROW()))>1904)/(INDEX(Sheet1!$E:$E,ROW())+0>=0)/(INDEX(Sheet1!$E:$E,ROW())+0<1)),"",IFERROR(TEXT(INDEX(Sheet1!$D:$D,ROW())+INDEX(Sheet1!$E:$E,ROW())-INDEX(Sheet1!$B:$B,ROW())-INDEX(Sheet1!$C:$C,ROW()),"[h]:m:s")+0,""))) Sheet2のA2セルに次の関数を入力して下さい。 =IF(ROWS(A$1:A2)>COUNT(Sheet3!$A:$A),"",INDEX(Sheet1!$A:$A,SMALL(Sheet3!$A:$A,ROWS(A$1:A2)))) Sheet2のB2セルに次の関数を入力して下さい。 =IF($A2="","",TEXT(SUMIF(Sheet1!$A:$A,$A2,Sheet3!$B:$B),"[h]:m:s")+0) ************************************************************************************* 実践できたものの、仕組みが複雑でわかりません。 Sheet3のA2では、IF関数の中で、COUNTIF関数が使われていますが、なんのためなのかわかりません。 Sheet3のB2セルには関数の中に">1904"と数値の1904より大きい値を指定する関数が組み込まれたいますが、なんのためか理解できていません。 Sheet2のA2では、「Sheet2のA1:A2がSheet3のA列より大きい」という条件に適合しなかった場合、最小値を求める計算をしていますが、何のために行っているのかわかりません。 Sheet2のB2では、A2に適合しなかった場合、Sheet1のA列から何かを何かの条件に一致したものを合計して時間表示していますが、よくわかりません。 簡単でいいので、解説をお願いできませんでしょうか? すみません、理解力が乏しいもので申し訳ありませんが、よろしくお願い致します。

  • 情報を入力すると反映されるシート【説明画像あり】

    図1の、【入力シート】の黄色セルに、任意の情報を入力すると ⇒【反映シート】図2のように情報が反映されます。 しかし、【反映シート】を図3のように、列幅を変更したフォーマットにすると 図2のように反映されません 図3の列幅にしても、反映されるようにするには、どのように関数を変更すれば良いでしょうか?? ご存知の方、いらっしゃいましたら、宜しくお願いします。 【関数説明】 ★図2のA10セルに下記の関数が入っています。  同関数を、A10から、右に、L10までオートフィルドラック。  さらに、下に、L14まで、オートフィルドラックします。 =IF(MOD(COLUMN(A1),4)=1,IF(INT(COLUMN(A1)/4)*5+ROW(A1)>入力シート!$B$35,"",INT(COLUMN(A1)/4)*5+ROW(A1)),IF(AND(MOD(COLUMN(A1),4)=2,OFFSET(A10,0,-1)<>""),TEXT(DATE(YEAR(入力シート!$B$39&"1日"),MONTH(入力シート!$B$39&"1日")+INT((COLUMN(A1)-1)/4)*5+ROW(A1)-1,1),"e"),IF(AND(MOD(COLUMN(A1),4)=3,OFFSET(A10,0,-1)<>""),MONTH(DATE(YEAR(入力シート!$B$39&"1日"),MONTH(入力シート!$B$39&"1日")+INT((COLUMN(A1)-2)/4)*5+ROW(A1)-1,1)),IF(AND(MOD(COLUMN(A1),4)=0,OFFSET(A10,0,-1)<>""),入力シート!$B$38+IF(OFFSET(A10,0,-1)=入力シート!$B$36,入力シート!$B$37,IF(OFFSET(A10,0,-1)=入力シート!$C$36,入力シート!$C$37,0)),"")))) ★★★上記関数は、教えてgoo回答者様にご教授いただきました★★★ ★B40には下記の関数が入っています。 =DATE(YEAR(B39&"1日"),MONTH(B39&"1日")+B35-1,25) ※図1と図2は、同じブック内にある、別のシートです。

専門家に質問してみよう