• 締切済み

スクリプトについて、ご回答をお願いいたします。

スクリプト初心者です。。。 どなたかご教示いただけますと幸いです。 スプレッドシートにて勤怠管理シートを作成しています。 チャットワークからの打刻データ(時間と社員ID)をもとに、それをスプレッドシートに出力するというスクリプトです。 スクリプトを組んでみたのですが、 動作は無事にしているのですが、 ”データ”シートのE列・F列、つまりは打刻時間が表示される部分に 通常では、時間のみ(10:00)という打刻のみ表示されるようスクリプトを組んでいるはずのなのですが、 1899/12/31 10:07:00といったように日付と時間それぞれが打刻されてしまい、 勤怠管理シートの計算がうまくいかないようになってしまいました。 スプレッドシートの表示切替を10:00などにしても、 入力されているデータが上記日付と時間のため、 上手く計算が実行されないのです……。 お忙しいところ、大変恐縮ではございますが、 どなかたご教示お願いできますでしょうか…?

みんなの回答

  • wek00
  • ベストアンサー率61% (91/147)
回答No.1

時刻のみが入力されたときに時刻データに変換する(表計算アプリの?)仕様は 質問文を見る限りではExcelと同じっぽいですね。 Excelでは、10:00 と入力して 書式設定を yyyy/m/d h:mm にすると 1900/1/0 10:00 になります。 Excelでは1900/1/0 00:00:00が起点(エポック)で 起点からの経過日数・経過時間を実数(小数部付きの値)で保持しており シリアル値、などと呼ぶそうです。1日が1です。10時間は10/24、即ち0.4166…。 2017-09-01 11:49:49 は 42979.4929282407 くらいです。 今までは、うまくいっていたようですね。 うまくいく場合の時刻データを日付付きで表示するとどうなるでしょう? 日付に関するデータも持っているのでは? そのほうが日をまたぐ場合もシンプルな処理で済みますし。 参考:はじめてのBillGレビューのこと http://local.joelonsoftware.com/mediawiki/index.php/%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AEBillG%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC%E3%81%AE%E3%81%93%E3%81%A8

関連するQ&A