Excel年月日時分秒の引き算

このQ&Aのポイント
  • Excelで年月日時分秒の引き算をする方法について質問しています。質問者は計算はできるが、理屈が理解できずに困っています。具体的には、MOD関数について調べたが理解できないとのことです。
  • 質問者は、A2とB2をそれぞれ1で割った余りを足して、1を引くことで引き算ができるのではないかと考えているようです。しかし、正しい式がわからずにいるようです。
  • 質問者は具体的な回答を求めており、Excelで年月日時分秒の引き算をする方法についての詳しい説明を求めています。
回答を見る
  • ベストアンサー

Excel 年/月/日 時:分:秒の引き算<続>

http://okwave.jp/qa/q7490214.html ←質問者です。 計算は出来るようになったのですが、理屈が理解出来ません。 =NETWORKDAYS(A2,B2,E2:E18)-MOD(A2,1)+MOD(B2,1)-1 MOD関数について調べましたが、A2とB2をそれぞれ1で割った余りを足して、1引くということでしょうか。 どうしても理解できないので、詳細を教えて頂けないでしょうか。 (B2-A2)-((B2-A2)-NETWORKDAYS(A2,B2,E2:E18)) ↑こんな式になるのではないかと考えていたような、出来の悪い頭です。 どうか回答の程、宜しくお願い致します。 質問が2つに分かれてしまい、大変申し訳ございません。

質問者が選んだベストアンサー

  • ベストアンサー
  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.1

シリアル値について理解されていますか? 1日は1 2日なら2 1年(365日)なら365 2年(730日)なら730 半日(12時間)なら0.5 1時間なら1/24 1分なら1/1440 1日と12時間なら1.5 こうなるのがシリアル値です。 そして1900年1月1日0時0分からカウントが始まります。 (オプションで1904年からに変更可能) … これで納得できませんか?

asada_8531
質問者

お礼

ありがとうございます! こちらの回答より、式の意味を自分で考え理解出来ましたので、ベストアンサーとさせて頂きます。 お礼が遅くなり、大変申し訳ございませんでした。 昨夜からずっと考えて、本日ようやく理解出来ました。

その他の回答 (1)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

シリアル値については、ANo.1の方の説明通りです。 開始日2012/6/20 14:00、終了日2012/6/22 1:00とした場合で説明します。 NETWORKDAYSですが、これは開始日と終了日の間の稼働日の日数を返します。 しかも、日単位でしか見ていませんので返ってくるのは3日間という事で3です。 シリアル値で1未満は、時・分・秒のデータという事になりますので、MOD(A2,1)とMOD(B2,1)で開始と終了の時分秒を取り出しています(14:00:00、1:00:00)。 NETWORKDAYSで得られた3日間から開始時刻までの14時間を引き、開始日分の稼働時間を調整しています。 さらに、最終日はNETWORKDAYSの答えではまるまる1日が計上されていますので、-1日間+1時間で終了日分の稼働時間を調整しています。 =NETWORKDAYS(A2,B2,E2:E18)-MOD(A2,1)+MOD(B2,1)-1 =3日間 -14時間 +1時間 -1日間 こんな説明でご理解いただけますか?

asada_8531
質問者

お礼

前回の質問は自力では到底辿り着けなかった計算式でしたので、式を教えて頂き助かりました。 今回はNo.1様の回答で、式の意味を理解出来ましたので、お礼のみとさせて頂きます。 何度も回答を頂きまして、ありがとうございます。

関連するQ&A

  • Excel 年/月/日 時:分:秒の引き算について

    Excel2003で質問です。 日付と時間が同じセルで入力されているデータがあります。 (2012/6/20 14:45:30)←この様に年~秒まで入力されています。 終了日(B2)から開始日(A2)を引いた時間から更に、土日・祝日(E2~E20)を引いた時間をセルC3に計算させたいのですが、どの様な計算式にすれば良いでしょうか。 C3には"00:00:00"(時:分:秒)と表示させたいです。 色々調べましたが時間が入力されている状態ですと、どの様に計算して良いのか分かりません。どなたか教えて頂けないでしょうか。 宜しくお願い致します。

  • エクセルの引き算

    基礎的な事ですみません  資材の貸し出しの管理をしたいのですが A1=全ての在庫数 B1=現在手元にある資材の在庫数 C1=貸し出している数 D1=C1と同じ E1などずっと続く で計算したいのですがB1の関数はどうすればいいでしょうか? わかりずらい説明で申し訳ありませんがよろしくお願いします

  • 合同式がわかりません

    合同式について 473^5 ≡ 3^5 ≡ 3^3 × 3^2 (mod5) ここで 3^3 ≡ 27 ≡ 2 (mod5) 3^2 ≡ 9 ≡ 4 (mod5) より 473^5 ≡ 2×4 ≡ 8 ≡ 3 (mod5) よって473^5を5で割った余りは3である と書かれているのですが 理解できない部分があります。 a≡b (mod n), c≡d (mod n) のとき ac≡ bd (mod n) という公式を使って (3^3)*(3^2) ≡ 2*4 (mod 5) となる。 というのは教えてもらって理解できたのですが その後 473^5 ≡ 2×4 ≡ 3 (mod5) このような形にしていいのは何故なのでしょうか くだらない質問かもしれませんが よろしくお願いします。

  • 中国剰余定理 3数

    余りが条件式を満たすがわからないので質問します。 p,q,rどの2つをとっても、互いに素な自然数とする。a,b,cを任意の整数とする。このとき、 x≡a mod(p),x≡b mod(q),x≡c mod(r) を満たす整数xが、0からpqr-1までの間に1つ存在する。この定理の証明は、 (qr)s≡1 mod(p),(rp)t≡1 mod(q),(pq)u≡1 mod(r),を満たすs,t,uを求めることから始まります。sであれば、(qr)s+py=1・・・(1)という1次不定方程式を解くことで、得られます。q,rがpと互いに素であるから、qr,pが互いに素なので(1)を満たすs,yは存在します。同様にt,uが得られます。x=a(qr)s+b(rp)t+c(pq)u・・・(2)とおけば、xは条件式を満たします。(2)をpで割った余りは、a*1+0+0=aとなります。qで割れば余りb,rで割れば余りc,となります。ここからがわからない箇所です。このxをpqrで割った余りも条件式をみたします。 まず、自分の計算では、x=a(qr)s+b(rp)t+c(pq)u=pqr{as(1/p)+bt(1/q)+cu(1/r)}となり余りが出ません。そして条件式x≡a mod(p),x≡b mod(q),x≡c mod(r) を満たしているとも思えません。どなたか自分の考えの間違いを教えてください。お願いします。

  • =MOD(ROW(),2)=0が一行置きになる意味

    初歩的な質問ですみません。 =MOD(ROW(),2)=0 について教えてください。 MODはあまりを返す関数、ROWが行を示す関数ということはわかるのですが、どうしてこの「=MOD(ROW(),2)=0」という数式が「一行置きに」を表すようになるのでしょうか? 「ROWの()で指定した範囲の行番号を2で割ったときの余りが0」ということだと思うのですが、これは「余りが0=偶数」だから「偶数行を指定する=一行置き」という理解であっていますか? また、( )の中を「,」で区切るのはどういう意味を持ちますか? 関数によって違うとも思いますが、「,」の前と後で、「前の数値に(を)後の数値を(で)」というかんじでしょうか?「IF」関数の場合「,」がいくつも続く時はどういう意味になりますか?

  • Excelの時間計算(年・月・日 別々のセルで…)

    Excelの時間計算で悩んでいます。 2つの異なる日付(年、月、日別々のセルに入力したもの)の 日数の差を関数で表示させたいのですがうまく行きません。 例えば、 A列にスタート年、B列にスタート月、C列にスタート日、D列にエンド年、E列にエンド月、F列にエンド日を入力し G列にエンド年月日-スタート年月日の日数させたいと考えています。 +----A----B----C----D----E----F----G 1   2008      2      1   2008      2     28     24 G1にDATE(D1,E1,F1)-DATE(A1,B1,C1)の数値を表示させたいのです。 ひとつのセルに日付形式で年月日を持たせれば DATEIF関数で実現可能なのは判りましたが 運用上、年月日を別のセルにして管理したいと考えています。 どなたかお解りになる方、いらっしゃいませんでしょうか。

  • excel2007 特定の曜日をカウントしたい

    excel2007で、ある期間内における特定の曜日の数を求めるための、 関数もしくは計算式を教えてください ただし、NETWORKDAYS.INTL関数はexcel2010以降に登場した関数のため、 それ以外でお願いします また、初心者なので、 なるべく原理も教えていただければ幸いです ちなみに、A1とB1に開始日と終了日を代入して =A1-B1+1-NETWORKDAYS(A1,B1) の様にやってみましたが、上手くいきませんでした。

  • フェルマーの小定理

    RSAの勉強をしています。そこで質問なんですが p,qは異なる素数で a^b≡x (mod p) a^b≡x (mod q) のとき、 a^b≡x (mod p*q)になるのは明らかなんでしょうか。

  • この式はなぜエラー #VALUE! になるのだろう?

    この式はなぜエラー #VALUE! になるのだろう?   A  B  C  D 1    92 95 96 2 3  60 67 99 4  99 13 74 5  92 58 96 6  93 59 10 7  81 51 10 8  81 95 98 9  88 45  6 範囲 A3:C9 に上図のデータがあると仮定します。そして、 1行目の各セルに次の値を返したい、というのが問題です。 B1: セル A3、A5、A7 の最大値 C1: セル B4、B6、B8 の最大値 D1: セル C5、C7、C9 の最大値 1行目の各セルに次の配列数式を入力すれば希望通りの値が得られます。 B1: {=MAX(OFFSET($A3,0,0,5,)*MOD(ROW(A1:A5),2))} C1: {=MAX(OFFSET($A3,1,1,5,)*MOD(ROW(B1:B5),2))} D1: {=MAX(OFFSET($A3,2,2,5,)*MOD(ROW(C1:C5),2))} OFFSET関数の引数 0、1、あるいは 2 のところは COLUMN関数で置き換えられるはずと考えて B1: {=MAX(OFFSET($A3,COLUMN(A1)-1,COLUMN(A1)-1,5,)*MOD(ROW(A1:A5),2))} C1: {=MAX(OFFSET($A3,COLUMN(B1)-1,COLUMN(B1)-1,5,)*MOD(ROW(B1:B5),2))} D1: {=MAX(OFFSET($A3,COLUMN(C1)-1,COLUMN(C1)-1,5,)*MOD(ROW(C1:C5),2))} としたところ、いずれもエラー #VALUE! が返ってきます。 なぜエラーになるのか理解できません。どなたか私にアドバイスをいただけませんか? 参考までに申し上げると、http://okwave.jp/qa/q5897615.html の質問の回答を考えているときに、上の問題に遭遇しました。

  • 位数eの最小性??

    お願いします!!!  a**n≡1(mod p)ならばe|n 特にe|p-1である。 という位数の証明についての質問です。 n=eq+rとおいて a**n=(a**e)**q・a**rより、a**r≡1(mod p) というところまでは理解できたのですが、 eの最小性よりr=0 というところが分かりません。 位数の最小性ってどんなことですか? どうか教えてください。

専門家に質問してみよう