質問: 順を追って説明します。 日付が変わってもしっかり反映できるように日時をそのまま出勤時間にしています。 ``` B C 2017/12/07 11:03 2017/12/08 0:54 ``` こうすればテキストでも日付フォーマットになっているので`=C-Bは13:51`となります。 Androidアプリ側で日付を入力させるとフォーマットが初期化されてしまい、書式設定ができません。なので時間だけ表記したい場合はBとCを非表示にしてDとEにBとCの時間だけを表示させることにしました。 ``` B C D E 2017/12/07 11:03 2017/12/08 0:54 =RIGHT(B3, 5) =RIGHT(C3, 5) ``` 前述したとおりアプリ側で書式設定はできないので桁数が02:05が2:5となってしまう恐れがあります。 ですのでRIGHT関数ではなく日付を取得するINT関数を使用することになりましたが ``` D 1899/01/01 11:03 ``` となってしまいました。 AndroidでGoogleSheetsAPIの書式設定のやり方を教えてください。
回答: まず、Excelの日時は、シリアル値(1970年1月1日からのミリ秒)という実数です。文字列ではありません。 文字列ではないデータに文字列の関数(Right等)を使うから、思っていないような結果になるのです。 Androidでも、Java.lang.system.currentTimeMills()を使うとシリアル値を得られます。 『Androidアプリ側で日付を入力させるとフォーマットが初期化されてしまい、書式設定ができません』が何を意味しているのか分かりません。 「Androidアプリ」というのは、どんな機能を持つプログラムなのですか? Excelが稼働しているマシンとAndroidのマシンは、どのように接続されているのですか? そして「Androidアプリ」は、どのようにしてExcelにデータを入力しているのですか? 等など、判らない事だらけです。 そして、Google SpleadSheetはExcelとは見た目が似ているものの、一方はWeb上のアプリで他方はPC上のアプリであるなど相違する点が多数あります。 システムの構成などの詳細を質問に追加することを強くお勧めします。 何か判らないものに回答するのは困難ですから。