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

【Numbers】時間の計算 タイムカード 【その4】

今までの経過は
今までの経過は
その1[LINK]OpenNewWindow
その2[LINK]OpenNewWindow
その3[LINK]OpenNewWindow
その4[LINK]OpenNewWindow
その4+[LINK]OpenNewWindow
最終回[LINK]OpenNewWindow
を見てください。
iworkの関数一覧はこちら[LINK]OpenNewWindow

15分単位で集計する場合のヒントはこちら[LINK]OpenNewWindow

 

今回は深夜時間帯での『休憩』に対応します。

454x152_screen_01

考え方は↑のように
時間帯を2つに分けて考えれば良いですね。

時間帯Aと時間帯Bでそれぞれ
『勤務時間』

『深夜時間』
を求めれば良い事になります。

そう逆の発想ですね。
休憩時間を求めない』にしたわけです。

 

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

Macintosh版でもExcelとNumbersでは関数に互換が無いものがあります。

先にも書きましたが
Mac版のExcelでは
=TIMEVALUE("24:00")=0

0(ゼロ)を返します。
でも
Numbersでは
=TIMEVALUE("24:00")=エラー
になってしまいます。
Screencapt
これが最も困ります。
エラーになるので『エラーの制御』をしなくてはなりません。

497x161_screen_02

数字は『1バイト半角』入力にしても
区切り文字としての

コロンの入力について
『2バイト全角の:』と『1バイト半角の:』
を考慮に入れるだけでも
エラー制御が2重に必要になってしまいます。

この『文字列』の操作は次回やるとして
今回は前回同様

IF(時間が="24:00"ならTIMEVALUEとしての1,  //『1バイト半角の:コロン』
IF(時間が="24:00"ならTIMEVALUEとしての1  //『2バイト全角の:コロン』

の2通りだけの制御をしておきます。

 

次に考えるのが
どんな『パターン』があるかな?
って事でしょうか?

728x314_screen_03_2

ざっと考えただけでも
このぐらいの種類の入力パターンが想定されます。
(中にはありえない感じのもありますけど..w)

これらを考慮して計算式を作成していきます。

基本は前回の計算と同じ
(TIMEVALUE(終了時間)-TIMEVALUE(開始時間))/TIMEVALUE("1:00"))


時間を数字として定義できますね。

 
今回のサンプルファイルはこちらです。
numbersデータをダウンロード[Download]DownloadFile
参考にしてください。
(結構数式が横に長いので難解かもしれません....汗)
 

続く (続かないかもしれない...w)


|

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

iWorkNumbersTimecard」カテゴリの記事

コメント

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