| すぐマク YNxv9a | Home | Search | Contents | Gallery | Introduction | Service | Support | What's New! |
| その月の日付と曜日をマクロを使わずに展開するには? |
|
|
|||
|
Aの回答 いろいろな方法が考えられますが、一例としてサンプルシートを作成しておきました。
左図のワークシートは、ユーザーが D2セルに「年月」を入力すると、その月の 1日から月末日までの「日」を A5:A35セルに展開し、対応する曜日を割り出して D5:D35セルに数字の 1〜7でセットします。 各セルには数式を入力してありますので、「年月」を入力すると即座に展開されます。マクロは使っていません。 式を見たり試したり、くわしいことは こちらから「日付曜日展開」をダウンロード してください。 Bの回答 WEEKDAY関数はワークシート関数で、シリアル値を曜日に変換して数値で返してくれます。ワークシート関数ですから通常はセルに入力して使いますが、Visual Basicでも使用できます。 WEEKDAY関数 構文 =WEEKDAY(シリアル値,種類 ) シリアル値 とは、Excelで日付や時間の計算に使用されるコードです。 Windows版では 1900年 1月 1日を 1とし、Macintosh版では 1904年 1月 1日を 1とするシリアル値(共に 9999年 12月 31日まで)を指定します。シリアル値の代りに、年月日が入力されているセルを指定することも可能です。 [serial] 連続、逐次。 種類 とは、戻り値の種類のことで 1、2、3のいずれかの数字を指定します。省略すると 1とみなされます。 (1:日曜が1で土曜が7、 2:月曜が1で日曜が7、 3:月曜が0で日曜が6) ご質問の =WEEKDAY(展開!C5) の数式は上図サンプルの D5セルに入力されていて、「展開」シート、つまり、このシートの C5セルの日付のシリアル値を、曜日を意味する数値に変換するという意味になります。 |
| http://www.geocities.jp/happy_ngi/ | Home | Contents | Gallery | Introduction | Service | Support | What's New! |