質問: エクセル 関数で日にちを出すには? if関数とleft関数とworkday関数で納期の日にちから○営業日には入材から完成までを表したく、検査あり・なしで日程が変わるのですが、図のように4パターンを関数で表せません。(※workday関数は別シートに社休日として入れてあります) 詳しい方おられましたら教えて頂けないでしょうか?よろしくお願いいたします。
回答: no3です。 マクロで実現することも可能です。 マクロにした場合の利点は、マクロを実行したときだけ動作するのでパソコンに負荷がかからないことです。 ユーザー定義関数にした場合の利点は、a列の日付を変えると自動的にe~o列の日付が設定されるので、いちいち、マクロを呼び出さなくて済むことです。 a列の日付を変えたとき、マクロを呼び出すのがおっくうでなければ、マクロの方が良いと思います。 マクロにした場合は、レイアウトも今後のことを考えて見直した方がよいと思います。(今のままでも可能ですが) 現在、日付を設定したいのは5~8行ですが、将来的に、型式が増えることはないのでしょうか。増えるとすると、もっと、下へ増やせるようなレイアウトの方がよいと思います。 1つ、確認なのですが、 型式及び検査のありなしで12,13、17、18行のどれかを決定するとき、型式の先頭2文字及びありなしの先頭2文字で判定していますが、これは理由があるのですか。 型式に「*a1000」「*a2000]などがあって両方を同じように扱いたいならわかりますが、そのようには見えません。 また、検査の有り無しについては、先頭2文字でなく単純に"あり"、"なし"で判断すれば良いと思いますが、いかがでしょうか。