『日時の計算』(雪見大福)
日と時間(8時間制)の計算について、教えてください。
?@−?A=?Bとした場合、以下のような計算結果となるように関数で算出したいと思っております。
よろしくお願いします。
___A_____B_____C_____D_____E_____F
___?@__________?A__________?B
___日____時間__日____時間__日____時間
5__19_____5_____3_____6____15_____7
< 使用 Excel:Excel2021、使用 OS:Windows11 >
これではどうだろうか?
E5セル:=INT(((A5*8+B5)-(C5*8+D5))/8) F5セル:=MOD((A5*8+B5)-(C5*8+D5),8)
(ねむねむ) 2026/01/23(金) 09:51:24
実直にIF関数を使う方法 E5セル =IF(B5>=D5,A5-C5,A5-C5-1) F5セル =IF(B5>=D5,B5-D5,B5+8-D5)
--------
無理くりLET関数を使うなら、こんな感じですか。
E5セル
=LET(
a,A5*8+B5,
b,C5*8+D5,
HSTACK(QUOTIENT(a-b,8),MOD(a-b,8))
)
あ、そうか.Excel2021はHSTACKが使えないので、やむなく、
=LET(
a,A5*8+B5,
b,C5*8+D5,
CHOOSE({1,2},QUOTIENT(a-b,8),MOD(a-b,8))
)
中途半端に複雑にしているだけとも言うかな。
(xyz) 2026/01/23(金) 10:03:30
IF関数で場合分けするだけですから、 そちらでトライしてください。 それでも不明でしたら改めて詰まっているところを質問されたらどうですか?
# 最初からありうるケースを列挙していただきたいですね。 # 別に回答者に責任があるとも思いません。
(xyz) 2026/01/23(金) 11:04:34
E5セル:=ROUNDDOWN(((A5*8+B5)-(C5*8+D5))/8,0) F5セル:=IF(E5>0,MOD((A5*8+B5)-(C5*8+D5),8),(A5*8+B5)-(C5*8+D5)) ではどうだろうか? (ねむねむ) 2026/01/23(金) 11:10:13
=TEXTSPLIT(TEXTBEFORE(TEXT(SUMPRODUCT(A5:D5,{8,1,-8,-1})/8,"0 ?/8;-0 -?/8"),"/")," ")*1
TEXTSPLITとTEXTBEFOREは2021だと使えなかったかもしれません
その場合は無視してください
(´・ω・`) 2026/01/23(金) 11:10:54
TEXT関数の書式指定がこのままだとまずいですね。こちらで
=TEXTSPLIT(TEXTBEFORE(TEXT(SUMPRODUCT(A5:D5,{8,1,-8,-1})/8,"0 0/8;-0 -0/8"),"/")," ")*1
(´・ω・`) 2026/01/23(金) 11:26:06
F5セル:=IF(E5>0,MOD((A5*8+B5)-(C5*8+D5),8),(A5*8+B5)-(C5*8+D5)) ではどうだろうか? (雪見大福) 2026/01/23(金) 12:33:58
A5 B5 C5 D5 19 5 20 6 の場合に E5 F5 -1 -9 の結果となるがこれでOKだろうか? (ねむねむ) 2026/01/23(金) 12:50:35
(雪見) 2026/01/23(金) 12:58:29
E5 =QUOTIENT(SUMPRODUCT(A5:D5,{8,1,-8,-1}),8)
F5 =SUMPRODUCT(A5:D5,{8,1,-8,-1})-E5*8
(´・ω・`) 2026/01/23(金) 13:11:04
F5セル:=(A5*8+B5)-(C5*8+D5)-(E5*8) ではどうだろうか? (ねむねむ) 2026/01/23(金) 13:12:17
=TRUNC(n/8) と =MOD(ABS(n),8)*SIGN(n)
ていう要領でも良さげ...?
(白茶) 2026/01/23(金) 13:36:07
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.