« 過去もまた現在へ続く道であり、未来を示す一部である | トップページ | 【Numbers】時間の計算 タイムカード 【その3】 »

【Numbers】カレンダーサンプル【応用編】

先に作ったカレンダー[LINK]OpenNewWindow
を元に
iCal風な月表示の万年カレンダーをNumbersで再現します。

(ちょっとエラー制御が中途半端ですけどまぁご愛嬌で)
Numbersは09です。

 

ポイントは
『その月の1日は何曜日?』って事を計算出来ればOKですね。


 

まずは出来上がりのNumbersファイルをダウンロードして
見てもらった方が早いでしょう。
[calendar_v8.numbers.zip]OpenNewWindow

 

予定を入力する縦型のカレンダーと
924x309_calendar_v8_06

横型のカレンダー(こちらは全て計算式です)
850x360_calendar_v8_07

の2シート構成になっています。

 

先の縦型カレンダーで使っている計算式は

=DAYNAME("2010" &"/"& "06" &"/"& "01")

この計算させると
2010/06/01の曜日を『テキスト』で答えを返しますので
計算結果は『火曜日』になります。

 

今回使うのは
=WEEKDAY("2010" &"/"& "06" &"/"& "01")

WEEKDAYは曜日を『数値』で答えを返します。

日曜日→1
月曜日→2
火曜日→3
水曜日→4
木曜日→5
金曜日→6
土曜日→7

を返しますので
計算結果は『3』になります。

 

でちょっと長いのですが
=IF(WEEKDAY($C$2&"/"&$E$2&"/"&1)=3,1,IF(WEEKDAY($C$2&"/"&$E$2&"/"&1)<3,1+C4,""))
って感じ

火曜日の欄の計算式を例にすると

もしも
1日の曜日が
=3(火曜日)
なら
『1』を表示しなさい

もしも
1日の曜日が
<3(3より小さい値=月曜か日曜)
なら
隣のセルの日にちに1足した数字を表示しないさい
って感じですかな?日本語にすると
 

予定の内容は
938x538_calendar_v8_04

VLOOKUP関数を使って
入力ページから検索→表示させます。

 

このカレンダーの考え方は
エクセルと互換がありますので
エクセルを普段使っている方は
分りやすいのではないでしょうか。

ポイントとしては
日付の作り方で
WEEKDAY($C$2&"/"&$E$2&"/"&1)
まぁエクセルも同じですが
このように
/(スラッシュ)を""で挟んででツナグって事をしないと
正しい曜日数値が帰ってこない
って事ですね。

ワンポイントでした。

参考にしてください。


|

« 過去もまた現在へ続く道であり、未来を示す一部である | トップページ | 【Numbers】時間の計算 タイムカード 【その3】 »

iWorkNumbersCalendar」カテゴリの記事

コメント

この記事へのコメントは終了しました。