[[20030605074055]] 『カレンダーの作り方』(pine) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『カレンダーの作り方』(pine)

sheet1に月を入力するとsheet2にカレンダーが自動で作成され方法を教えてください。

sheet1のa1に5月分と入力するとsheet2のa1に反映されるようにしましス。サのsheet2
に自動でカレンダーを横一列に作成したいと思いますB
a2,b2,c2には1,2,3と日付が、a3,b3,c3には2行目の日付にあう曜日を表示したいと思います。
textとweekdayの組み合わせかと思っていろいろと試しているのですが、違う方法に走っているようで皆さんに教えて頂けると幸いです。よろしくお願いいたします。


 こんにちは。
 sheet2にすでに枠と日にちが入っていて、曜日だけ毎月変更するという形なら知ってますが…。
 sheet1のa1に2003(西暦の年数です)、b1に6(月です)を入力して、sheet2のa2に1(日です)と入力しているなら、
 1日の曜日を入れるのをsheet2のa3にするのなら、
 sheet2のa3には、 =CHOOSE(WEEKDAY(DATE(sheet1!$a$1,sheet1!$b$1,a2)),"日","月","火","水","木","金","土")
 の式になります。
 これだと、日 と表示されます。
 ただ、この欠点は、4月31日にも曜日が入ってしまいますので、そのへんはIF式を利用して表示しないようにして下さい。
 表題で、6月分 をしたいのなら、sheet2の表示したい部分に、
 =CONCATENATE(sheet1!$b$1,"月分")
 質問がこのような事と違うければ…ごめんなさい。
 (ノンノン)

 ノンノンさんの案内で既に完成されていると思いますが、書式設定を活用した例です。
 Sheet1のA1でデータメニューの【入力規則】で【入力値の種類】をリストにし、
【元の値】に1,2,3,4,5,6,7,8,9,10,11,12 と入力して、リスト選択できるようにします。
次に【セルの書式設定】【表示形式】「ユーザー定義」で 0"月分" とします。
Sheet1のA1をコピーして、Sheet2のA1で右クリックメニュー「形式を選択して貼り付け」→[書式]を選択してOK
Sheet2のA1 =Sheet1!A1 の式を入力します。これで ○月分 と表示されます。
A2に =DATE(2003,$A$1,1) A2を選択して【セルの書式設定】【表示形式】「ユーザー定義」で d"日" とします。
日付が数字だけでよければ、「ユーザー定義」で d とします。
B2に =A2+1 とし、AB2までコピーします。
AC2に =IF(MONTH(AB2+1)>$A$1,"",AB2+1)
AD2に =IF(AC2="","",AC2+1)
AE2に =IF(AD2="","",IF(MONTH(AD2+1)>A1,"",AD2+1))
A3に =A2 と入力し、【セルの書式設閊y表示形式】「ユーザー定義」で aaa とします。
A3をAB3までコピーします。AC2に =IF(AC2="","",AC2) と入力してAE3までコピーします。
頑張って、入力してみて下さい。
 土曜日を青色、日曜日を赤色に表示するには
A2:AE3の範囲を選択して、書式メニューの【条件付き書式】で
条件1 「数式が」→=TEXT(A2,"aaa")="土" として、【書式】でフォント色を青色にします。
【追加】をクリックして、
条件2 「数式が」→=TEXT(A2,"aaa")="日" として、【書式】でフォント色を赤色にします。
 (シニア)

ノンノンさん、シニアさん、ありがとうございました。
いろいろと勉強できて助かります。
(pine)

ついでにもう一つ教えてください。このカレンダーで曜日でスケジュールが組まれているとして、曜日が変更になった際スケジュールも一緒に変更になるようなスケジュール表を作成したいのですが・・・

例えば
     1  2  3  4  5  6  7      1  2  3  4  5  6  7

 
        水 木 金 土 日 月 火  →  日 月 火 水 木 金 土

鈴木さん    ○ △ □ ● ▲ ■ ☆     ▲ ■ ☆ ○ △ □ ●

加藤さん    A  B  C  D  E  F G      E  F   G  A  B C  D

これが出来るようになると仕事がグーンと楽になります。
宜しくお願い致します。


 Sheet3に日曜日〜土曜日までの各人のスケジュール表を作成します。
     A             B        C        D        E        F        G        H
1  氏 名          日    月    火    水    木    金    土
2 鈴木さん	▲	■	☆	○	△	□	●
3 加藤さん	E	F	G	A	B	C	D
4
データ範囲を選択して、(上の表の例ではA2:H3)挿入メニューの名前→作成で「左端列]を選択してOK
これで各人の範囲名のスケジュールが設定されます。
前回のSheet2のカレンダーにA列を挿入して、氏名欄にします。
A1に2003と入力し、B2の式を =DATE(A1,$B$1,1) に変更します。
A4に鈴木さん、B4に =INDEX(INDIRECT($A4),1,WEEKDAY(B$2)) と入力して、範囲内にコピーします。
      A            B        C        D        E        F        G        H
1   2003年	6月						
2         	1	2	3	4	5	6	7
3         	日	月	火	水	木	金	土
4 鈴木さん	▲	■	☆	○	△	□	●
5 加藤さん	E	F	G	A	B	C	D
B1の月を変更すれば曜日に対応したスケジュールが表示されます。
【注意】A1は「ユーザ定義で 0年 」B1は「ユーザ定義で 0月 」とします。
 (シニア)

シニアさん、ありがとうございました。大助かりです。
エクセルは奥が深くて難しいけどおもしろいですね。
まだまだ勉強することがいっぱい有りますので又よろしくお願いいたします。(pine)

 


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.