• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel:土日・元日を除いた経過日数の計算)

Excelで土日・元日を除いた経過日数の計算方法

mt2008の回答

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

説明が長くてくじけそうになりましたが。 結局の所、NERWORKDAYS関数の祭日引数に指定されている範囲(損益計算!Z:Z)に文字列が含まれているのが問題です。 セルZ3やZ4以下の式で空白("")にせずに0にして条件付き書式で0の時のフォント色を白にして、0の時は見えない様にしましょう。 例: =IF(元データ!A3="","",DATE(E3,1,1)) ↓ =IF(元データ!A3="",0,DATE(E3,1,1)) そしてD25の式も「元日」と言う項目名を含めない様に祭日の引数を指定しましょう。 例 =IF(損益計算!A3="","",NETWORKDAYS(損益計算!X3,INDEX(損益計算!X:X,COUNT(損益計算!E:E)+2,1),損益計算!Z:Z)) ↓ =IF(損益計算!A3="","",NETWORKDAYS(損益計算!X3,INDEX(損益計算!X:X,COUNT(損益計算!E:E)+2,1),損益計算!Z3:Z10))

miya_HN
質問者

お礼

回答ありがとうございます。 「損益計算」シートのX、Y、Z行の計算式の「""」の部分を全て「0」に変更し、Z行の「損益計算!Z:Z」の部分を「損益計算!Z3:Z10002」に変更したのですが、Z行の表示結果がおかしな表示となってしまいました。 ちなみに、下記のような結果となりました。 Z3:2011年1月1日 Z4:2012年1月1日 Z5: Z6:1900年1月0日 Z7: Z8:1900年1月0日 Z9: Z10:1900年1月0日 >セルZ3やZ4以下の式で空白("")にせずに0にして条件付き書式で0の時のフォント色を白にして、0の時は見えない様にしましょう。 この部分は変わったアイデアだなと思いました。 ただ、個人的には純粋に計算式のみで表示したいと思いました。 ちょっと好みの方法ではないです。 回答して頂いたにも関わらず大変申し訳ありません。 ありがとうございました。

関連するQ&A

  • 夏・冬時間による日本時間の表示

    Excel2010で、夏時間と冬時間による日本時間を表示したいと思っています。 画像の上は、「損益計算」シート、下は「設定」シートとなっています。 「損益計算」シートの、 ・A3から下:開始日時の年(数値) ・B3から下:開始日時の月(数値) ・C3から下:開始日時の日(数値) ・D3から下:開始日時の時刻(TIMEVALUE関数から時刻を表示しています) ・E3から下:終了日時の年(数値) ・F3から下:終了日時の月(数値) ・G3から下:終了日時の日(数値) ・H3から下:終了日時の時刻(TIMEVALUE関数から時刻を表示しています) となっており、それを同じ「損益計算」シートのZ3から下は「開始日時」、AA3から下は「終了日時」で日本時間で表示したいと思っています。 また、「損益計算」シートの「A~H」列はサーバー時間、つまり日本時間ではありません。 ちなみに、ここでは表示していませんが「損益計算」シートの計算は全て「元データ」シートから計算しています。 「設定」シートのD3にサーバー時間の夏時間のGMTを入力し、E3に夏時間の開始日時を入力します。 E3には例えば「3月第2日曜日2:00」のように文字列を入力します。 F3には夏時間の終了日時を入力します。例えば「11月第1日曜日2:00」のように文字列を入力します。 そして、「損益計算」シートのA3~H3(から下)より始まる開始日時と終了日時、「設定」シートのD3(サーバー時間の夏時間のGMT)、E3(夏時間の開始日時:文字入力)、F3(夏時間の終了日時:文字入力)から、「損益計算」シートのZ3から下に日本時間の開始日時、AA3から下に日本時間の終了日時を表示したいのですが計算式が分かりません。 一応、 =IF(元データ!A3="","",DATE(A3,B3,C3)+D3+(1/24*(9-設定!$D$3))) のように入れてみたのですが、これでは夏時間しか計算が合わなくなります。 (「元データ!A3」は、元となるデータが入っているシート内のデータでA3から下にデータが入っています。関係ないとは思いますが「損益計算」シートの各データを計算するのに「元データ」シートのデータがない場合、「損益計算」シートでは全て非表示「""」を使っています。またこれも関係ないですが「元データ」シートのデータはA~Nまで入っており、3行目から下は何行入るか特定できません。) 結構長文となりましたが、回答よろしくお願いします。

  • Excel:残高の計算方法

    Excelの残高の計算方法について教えてください。 画像の左は「損益計算」シート、右は「月別結果」シートです。 「損益計算」シートは省略しています。 「損益計算」シートのEは終了日時の年、Fは終了日時の月、Gは終了日時の日、Hは終了日時の時刻、Qは残高です。 「月別結果」シートのAは年、Bは月、Mは収支、Nは残高です。 いずれのシートもデータは行番号「3」から始まりです。 「損益計算」シートの年(E)、月(F)の最終行と「月別結果」シートの年(A)、月(B)に一致する場合、「損益計算」シートの残高(Q)を「月別結果」シートの残高(N)に表示させたいのですが、残高が一致しません。 2011年1月の残高:「損益計算」シートの場合542,498、「月別結果」シートの場合549,807、 2011年2月の残高:「損益計算」シートの場合587,732、「月別結果」シートの場合652,229、 2011年3月の残高:「損益計算」シートの場合674,520、「月別結果」シートの場合747,684、 2011年4月の残高:「損益計算」シートの場合799,922、「月別結果」シートの場合843,504、 2011年5月の残高:「損益計算」シートの場合893,616、「月別結果」シートの場合932,951、 2011年6月の残高:「損益計算」シートの場合1,063,244、「月別結果」シートの場合1,143,798、 2011年7月の残高:「損益計算」シートの場合1,368,267、「月別結果」シートの場合1,633,258、 2011年8月の残高:「損益計算」シートの場合1,863,098、「月別結果」シートの場合2,169,823、 2011年9月の残高:「損益計算」シートの場合2,626,244、「月別結果」シートの場合3,038,066、 2011年10月の残高:「損益計算」シートの場合3,597,069、「月別結果」シートの場合4,206,500、 2011年11月の残高:「損益計算」シートの場合4,480,164、「月別結果」シートの場合5,310,789、 2011年12月の残高:「損益計算」シートの場合5,617,960、「月別結果」シートの場合5,617,960、 2012年1月の残高:「損益計算」シートの場合6,543,278、「月別結果」シートの場合549,807、 となってしまいます。 ちなみに「月別結果」シートのN3には、 =IF(OR(A3="",B3=""),"",IF(COUNTIFS(損益計算!$E$3:$E$1048576,A3,損益計算!$F$3:$F$1048576,B3)=0,"",INDEX(損益計算!$Q$3:$Q$1048576,MIN(COUNTIF(損益計算!$F$3:$F$1048576,"<=" & B3),COUNTIF(損益計算!$E$3:$E$1048576,"<=" & A3))))) という関数式を入力しています。 どのような関数式を入力すれば、「損益計算」シートの年月の最終行の残高を「月別結果」シートの年月と一致する残高を表示させることができるでしょうか? 回答よろしくお願いします。

  • Excel:損益計算の関数について

    Excel2010なんですが、「USDJPY相場」シート(画像右側)のB列の値を、「損益計算」シート(画像左側)のO列に反映させたいのですが。 ■01 「損益計算」シートのE列(年)とF列(月)、「USDJPY相場」シートのA列(年月)が一致した場合、「USDJPY相場」シートのB列(円/ドル)を「損益計算」シートのO列(損益)に表示したいのですが。 ■02 以下の関数は、「損益計算」シートのO列(損益)のものです。 内容は、「JPY」を含む場合は、利益(M列)または損失(N列)に100と取引数量(S列)をかけ、10,000で割る、それ以外の場合(JPY以外の場合)、「元データ」シートの損益(M列)に「設定」シートのドル/円(M列)をかける、です。 以下の関数内の「【】」内に「■01」の関数を入れたいんです。 =IF(元データ!L3="","",IF(ISERROR(SEARCH("JPY",J3,1))=FALSE,IF(M3<>"",M3,N3)*100*S3/10000,ROUND(元データ!M3*【設定!$E$2】,0))) ■03 画像が見づらい場合は、下記のURLをご覧ください。 http://ameblo.jp/miya-hn/entry-11919733343.html 説明が非常に下手で申し訳ありませんが、回答よろしくお願いします。

  • SUMIFS関数の計算結果が違います

    元データというシートに多いときで30000行くらいデータがあります。 元データシートのE列にB2と同じデータがあるときと 元データシートのK列が空白のときに 元データシートのI列の合計を出したいのですが エラーが出ることもなく、計算結果が正しくありません。 B2には名前が入力されており、B45まで下記の計算式を入れています。 =SUMIFS(元Data!$I:$I,元Data!$E:$E,$B2,元Data!$K:$K,"") 7割の結果が正しくありません。 ちなみに  元データシートのE列にB2と同じデータがあるときと 元データシートのK列が1のときに 元データシートのI列の合計を出すこの下の式では正しく結果が出ます。 =SUMIFS(元Data!$I:$I,元Data!$E:$E,B2,元Data!$K:$K,1) 空白セルを0に変えてみたりといろいろしてみましたが原因が全くわからず困り果てました。 計算結果が正しくない原因がわかる方。どうぞ宜しくお願いします。

  • Excel:一日当たりの回数計算

    Excelで一日当たりの回数計算をしたいのですが・・・。 開始日は、A3(年)、B3(月)、C3(日)です。 行の1~2行は項目の名前(タイトル)です。 終了日は、表示されている最終行です。 開始日より1行分で1カウント(1回)です。同日に複数回ある場合もあります。 ただし、1月1日と土日のみ日数には含みません。 計算式としては、 行数(A3から)÷開始日から終了日までの日数(1月1日と土日のみ除く) となります。 回答よろしくお願いします。

  • エクセル 合計条件が行と列の時の計算式

    エクセルで、データがはいっている”データシート”と 合計を表示させたい”合計シート”があり、 合計シートに同じ番号の品名でおなじ日付のものを合計して 表示させたいと思っています。 データシートには、以下のように品名が同じものが複数はいっています     A列 B列 C列 D列・・・・Z列これからさらにデータが増えていきます 1行目品名 4/1 4/4 4/5 2行目Z100 10  20  30 3行目Z300 40  50  60 4行目Z100 11  22  33 5行目Z200 70  80  90  ・  ・ 200行くらいデータがありこれからさらにデータが増えていきます。 合計シートもデータシートと同じような形で データシートのA列の 同じ番号&同じ日付 の数字をそれぞれセルB2からZ200まで合計した 数字を表示させたいです。     A列 B列 C列 D列・・・・Z列 1行目    4/1 4/4 4/5 2行目Z100 21  42  63 3行目Z300 40  50  60 4行目Z200 70  80  90  ・  ・ 200行目 合計シートのB2セルに入力したのですが、#VALUEエラーがでてしまい ました。 =SUMPRODUCT((データシート'!$A$2:$A$500=合計シート!$A2)*(データシート'!$B$1:$Z$1,合計シート!$B1)) SUMIFでも試してみたのですが、エラーがでてしましました。 説明が分かりにくく申し訳ないですが、どなたか分かる方いらしたら 教えてください。よろしくお願いします。

  • 多数のシートに同じ計算式を入れる。

    多数のシートに同じ計算式を入れるのですが、 シートによって、行の長さが違います。 全てのシートを選択し=VLOOKUP(D:D,氏名!E:E,5,FALSE)といった式を、E7からフィルハンドルを使い E200くらいまで(どのシートも大体200行もない) ドラッグしているのですが、シートによっては100行くらいしか無いので、それ以降は、エラー#N/Aの表示になってしまいます。 全てのシートにエラー表示を非表示にすれば消えるのですが、最初から一番下の行まで、計算をするような 設定はできるのでしょうか。

  • エクセル(excel)の計算式(関数)について

    エクセル(excel)の計算式(関数)でよいアイディアがありましたら教えてください。 1行目は項目行です。 セルA1から右に15列=セルO1まで、 a | b | c | d | e | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 と入っています。 2行目からデータとして、 セルA2から右に5列=セルE2まで、 4 | 2 | 2 | 1 | 1 と入力したとします。(データ例(1)) あるいは、 セルA3から右にセルE3まで、 6 | 3 | 0 | 0 | 0 と入力したとします。(データ例(2)) 1つのデータの5個の数字のルールは2つで、 「合計で10以下である。」 「左から順に小さくなるか、同じ数字となる。」 です。 (目的は、) このとき、F列からO列にかけて、 データ例(1)のケースでは、 a | a | a | a | b | b | c | c | d | e データ例(2)のケースでは、 a | a | a | a | a | a | b | b | b | と表示されるように、 つまり、項目行の下にある数だけ、その列の1行目の記号を 1(F列)から右に向かって順に埋めていくような、 F列からO列までの2行目以下に入れる適当な計算式(関数)は ないでしょうか。 拙い説明で申し訳ありません。どなたかよい考えをお持ちの方がいらっしゃいましたらと存じます。 どうぞよろしくお願い致します。

  • エクセル 関数で土日祝休日を除く日数を計算する

    下記のようなエクセルシートにおいて 土曜、日曜、祝休日を除く日数を 関数で計算することはできせんでしょうか。 開始日・・セルA1 終了日・・セルA2 (セルの書式はいずれも"日付") 式を書くセル・・A4 --------------------------- A 1 2004/6/25 2 2004/7/31 3 4 25 --------------------------- *この場合求めたい値は "25"です。 ・土日、海の日が除かれている ・開始日も 1 カウントする。  (あとで 1 加えるのでもよいです) よろしくお願いします。

  • エクセルを使った計算式

    エクセルの計算式などについて教えて下さい。 製品情報が記載されたαとβ2つのシートがあり、製品情報はAからN列までの1行で表現されていて、数量、品名などが違う場合があります。 その二つの製品数などのデータを違うシート上で、αとβのA列(セル)の情報が同一の場合に βのシートの当該データの下に表示する。 2つのデータ(2行)の下は1行、空欄にしたいです。 A列の情報が違う場合は、βのシートのデータを残し(表示)、αのデータは表示しない。 お忙しいところ、お手数をおかけいたしますが、よろしくお願いいたします。