• 締切済み

エクセルでの数式での質問です。

エクセルでの数式での質問です。 大学の情報処理の課題をやっているのですが、わかりません。 あるセル(A1)に入力した日の3日後の日付を、隣のセル(B1)に予定日として入力できるようにする、というものがありました。 その場合、WORKDAYの数式を使い3日後に設定することが分かりました。 ですが、次の課題に、A1とB1のセル2010/12/1より前の数値を入力した場合、 「予定日はA1から2日目以降の日付を入力してください。」という[禁止]のエラーメッセージが表示されるようにしてください。 また、エラーメッセージのタイトルは[日付エラー]としなさい 、とありました。 もはや、私の知るエクセルの領域を越えています。 教えてください、お願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

>A1とB1のセル2010/12/1より前の数値を入力した場合、 この意味が良くわからない。 「A1とB1のセル」の直後に助詞が要るでしょう。 B1セルは入力するセルですか?関数で導出されるセルですか? B1セルは、前半の部分を引き継ぐのか?B1には式が入っているのでしょう。 ーー それにA1ないしB1に日付シリアル値(知らないだろうから、Googledeこの語句で照会のこと) が入っているのか、文字列か。 A1,B1せるのどちらかで2010/12/1より前の日付が入力されたら、と言う場合は A1,B1に日付シリアル値が入っているとして、前半部分と全く別の課題なら、 C1セルにでも式を入れるなら(入れることになるが) =IF(OR(A1<"2010/12/1"*1,B1<"2010/12/1"*1),"日付エラー","OK") 2010/12/1の扱い(含むか含まないか)はそれにより式を修正してください。=を添える) OKのところは普通は課題に応じて=B1-A1などが入ったりする。 ーー >セル2010/12/1より前の数値を入力した場合、 日付であって数値ではないでしょう。エクセルでは数値と日付は異なると考えること。 言葉遣いは正確に。 日付シリアル値と言う点で接点はあるが。 エクセル関数の全般の経験を積んで、考え直すべき状態と見える。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

課題のようなので、解決へのアプローチを提示します。 後半部分は、数式を使った入力規則を利用してください。 >次の課題に、A1とB1のセル2010/12/1より前の数値を入力した場合、 このときのポイントは入力値の種類の欄にユーザー設定を選択し「="2010/12/1"*1>入力するセル」のような数式を入力します。 すなわち、日付文字列に1を掛けて文字列を数値化した値と比較する必要があります(DATE関数を利用してもOKです)。 >「予定日はA1から2日目以降の日付を入力してください。」という[禁止]のエラーメッセージが表示されるようにしてください。 また、エラーメッセージのタイトルは[日付エラー]としなさい この部分は入力規則のエラーメッセージタブで適宜設定してください。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 入力規則を使用すれば良いと思います。 前半の質問と後半の質問が矛盾する点があると思うのですが・・・ B1セルに数式が入っていると思いますので、B1セルに入力することはないと思います。 ということは、質問内にある >A1とB1のセル2010/12/1より前の数値を入力した場合、 「予定日はA1から2日目以降の日付を入力してください。」という[禁止]のエラーメッセージが表示されるようにしてください の部分で「A1から・・・」を見るとB1に入力するということですかね? その辺は無視させていただいて・・・ 当方使用のExcel2003の場合ですが A1セルを選択 → メニュー → データ → 入力規則 → 「設定」を「日付」にして 「次の値以上」 → 2010/12/1 と入力 次にエラーメッセージタブを選択し、タイトルの欄とメッセージの欄に好みの文章を入力しOK そして、B1セルの数式は =IF(A1<DATE(2010,12,1),"",WORKDAY(A1,3)) という感じですかね? もし外していたらごめんなさいね。m(__)m