[[20151209232706]] 『EXCEL関数(休日判定)について』(ぽん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『EXCEL関数(休日判定)について』(ぽん)

 すいません、どうしても行き詰ってしまいここに駆け込みました。

現在、休日を判定しつつ作業スケジュールができるよう関数で

休日表…セルG8〜G39に当年〜翌年までの休日が計算により表示
セル 関数
G8 =DATE(YY,1,1) ← 元旦
G9 =IF(WEEKDAY(DATE(YY,1,8),3)=0,DATE(YY,1,8),DATE(YY,1,15-
  WEEKDAY(DATE(YY,1,8),3))) ← 成人の日
G10 =DATE(YY,2,11) ← 建国記念日

その中でGWなど長期連休中に「国民の休日」というものがあります。
G16 =IF(WEEKDAY(G15,1)<=3,G15+1,"")
で計算していますが、2016年度はこれに相当する日が無く空白となります。
ここまでは計算式には問題がないのですが、
その他のセルでWORKDAY関数を使った計算式の結果が「#value」となります。

試しに国民の休日の空白を適当な日付を入力すると結果が返ってきます。
と言うことは空白がマズイということなのでしょうが、この回避策が分かりません。

どうかご教授ください。
ちなみに
=WORKDAY(EOMONTH(I2,0)+1,-1,休日表)
         ↑      ↑
         当日日付 名前の定義で祝日日付を範囲選択

=WORKDAY(I2-WEEKDAY(I2)+1,1,休日表)
等の関数を使っています。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 休日表に空白文字列「""」があるとエラーになるようなので

 > G16 =IF(WEEKDAY(G15,1)<=3,G15+1,"") 
                   ↑
                  コレ
 空白文字列を「0」にして

 G16 =IF(WEEKDAY(G15,1)<=3,G15+1,0)

 とする。

 日付の書式をどうしているのかわかりませんが、yyyy/m/d なら
 該当しない場合「1900/1/0」となるので、
 表示形式〜ユーザー定義を yyyy/m/d;;;
 
 yyyy/m/d のあとに「;;;」をつけておくと「1900/1/0」は表示されず
 見た目は空白になる。
 
 見た目空白でも、値は「0」なので、WORKDAY関数もエラーにはならない、
 ・・・ はずです。
(笑) 2015/12/10(木) 03:13

 > 休日表に空白文字列「""」があるとエラーになるようなので

 空白文字列に限らず、文字列があるとWORKDAY関数がエラーになる、ということです。
 念のため。
(笑) 2015/12/10(木) 03:30

(笑)さん

 今回は、アドバイスありがとうございました。
原因はこうなんだろうなと思いつつ、根本的な知識がなく慌てていました。

教えていただいた内容で無事、年を越せそうです。

色々勉強になりました、ありがとうございました。
またここに不明点を書くこともありますので、その時はよろしくお願いします。

(ぽん) 2015/12/11(金) 05:38


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.