« 【Numbers】文字列操作(CharacterEntity入力支援) | トップページ | [Glee] Season Finale Faithfully »

【Numbers】カレンダー 【その3】

Numbersのカレンダーサンプルです。
万年カレンダーに『年間週番号』を追加します。
先に作ったカレンダー[LINK]OpenNewWindowを元にしています。

週番号はGoogleのカレンダーなんかでも
確認できます。[LINK]新しいウィンドで開きます


562x246_day_05

 
ファイルはこちら
「calendar_v3.numbers.zip」をダウンロード

 

ポイントは2点
■週番号を求める
WEEKNUM($C$8&"/"&$C$9&"/"&C38)
■前の日の週番号と比べて表示
MAX(E10:E37),

これはわざわざ難しくやっていて
if(曜日="日曜日",週番号を表示,"")
の方が簡単ですね。

 

先のタイムカード計算[LINK]OpenNewWindowの時に

ポイントって言うか、なぜこんなに時間計算が変な事になるんでしょ。
Excelに目を向けてみても
Macintosh 版 Excel と Windows 版 Excel では、既定の日付システムが異なります。
と書きましたが
困った事に違うんですよ
もちろんNumbersとも違う

 
Macintosh版のエクセルのヘルプファイルに以下のような記述があります。
----ここから
Macintosh 版 Excel では、日付はシリアル値として連続番号で格納され、計算されます。
既定では、1904 年 1 月 2 日のシリアル値は 1、
2008 年 1 月 1 日のシリアル値は 37986 (1904 年 1 月 2 日の 37,985 日後) となっています。Windows 版 Excel では、既定として 1900 年日付システムが使用されています。

---ここまで

Windows版のエクセルはこの[LINK]OpenNewWindowようになっています。
 
442x220_day_01

Windows版のエクセルは1900年1月1日を『1』とします

一方Macintosh版のエクセルは
480x177_day_03
1904 年 1 月 2 日を『1』として

日付を管理しています。

試しにMacintosh版のエクセルをお持ちでしたら

2010/01/01

入力した場合

1900/01/01

違いを見てもらえれば良いと思います。

2010/01/01→日付として認識
1900/01/01→文字列として認識

します。

ちなみに時刻はNumbersで言うTIMEVALUE値になります。
12:00→0.5 18:00→0.75
 
エクセルの日付時刻はこの

『日付のシリアル値』+『時刻のTIMEVALUE値』の組み合わせ

表されている訳ですね。

 

Macintoshユーザーで日付を扱うシートを作る時に
注意すべき点が
このWindows版とMac版で『日付のシリアル値』が違う点です。
=NOW()で返される日付のシリアル値が違う事ね
普通にカレンダー程度なら問題ありませんが
=NOW()の値を元に計算させるような場面では
答えに違いが出る可能性があります(まぁ普通は大丈夫です)


 

一方Numbersは
『必ず日付時刻形式』で時間を持つ

『テキスト』として時間を持ちます。
まぁ
テキストの場面は問題ないとして
日付時刻形式の場合は

432x112_day_02_2

このように『時刻』だけの入力でも
Numbersの内部では『日付』も持っています。

これをうっかり計算するので
思ったような答えにならなくて苦労する事があるかも?しれません。
エクセルユーザーが陥りやすい所ですので
覚えておきたいですね。


 

逆に『文字列として表示させたい場合』は

Screencapture00220714_182933


セルのフォーマットを
『テキスト』にすれば良いですね

   

|

« 【Numbers】文字列操作(CharacterEntity入力支援) | トップページ | [Glee] Season Finale Faithfully »

iWorkNumbersCalendar」カテゴリの記事

コメント

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