365・LibreOfficeなどに関するメモ2022-04-18(Gスプレッドシート)マイナスの時間(時刻)から時・分・秒を取得するGoogleスプレッドシートGoogleスプレッドシートで、マイナスの時間(時刻)から時・分・秒の値を取得する方法についてです。値はいずれもマイナスの値として取得するものとします。「=SIGN(時間)*HOUR(ABS(時間))」といった式によりマイナスの時間(時刻)からマイナスの時・分・秒を取得できます。ゼロやプラスの時間(時刻)からも正しく時・分・秒を取得できます。手順Googleスプレッドシートではマイナスの時間(時刻)を入力することができます(詳しくはこちらの記事でも触れています)。画像のように、この値からHOUR/MINUTE/SECOND関数で時・分・秒を取得しようとすると...すべてエラーになります。これらの関数はマイナスの時間(つまりマイナスのシリアル値)を扱うことができないのです。そこで次のような式に変えてみます。C3~E3セル=SIGN(B3)*HOUR(ABS(B3))=SIGN(B3)*MINUTE(ABS(B3))=SIGN(B3)*SECOND(ABS(B3))「ABS(B3)」とすることでB3セルの値(時間)を一旦プラスのシリアル値に変えて、そこから時・分・秒を取得し、最後に符号を加えるというわけです。確かに時・分・秒の値を取得できています。そのまま式を下方にコピーした結果です。「0:00:00」やプラスの時間(時刻)からも、正しく時・分・秒を取得できているのが分かります。365はデスクトップ版、LibreOfficeは記事作成時の安定バージョンを用いた結果を示しています。サイトポリシー等についてはこちらをご覧ください。(1)検索スポンサーリンク引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。