- 締切済み
エクセル関数について
条件として 例えば H20.1.1~H20,12.31生まれ のように 日にちに範囲をつけ それに該当する場合に 「お祝い」という文字を表示させたい場合は 何の関数をどのように使えばよいのでしょうか セルA 生年月日を入力 セルB (条件の範囲の中に誕生日があれば) 「お祝い」と表示
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- ogawa_sora
- ベストアンサー率36% (468/1280)
今晩は。 これは、誕生日と言う事ですか? そうであれば、簡単な式を書きます。 最初に、誕生日には年は必要ないので、日付を入力する範囲をセルの書 式設定で文字列に指定します。 そして、どこかに今日の日付を入力するセルを設定します。(文字列指定します) 「お祝い」と表示したい範囲の先頭セルに下記を入力します。 =IF($を付けて日付の入っているセルの範囲=$を付けて今日の日付の入っているセル,”お祝い”,””) これは、日付と言っても、同じ文字を検索して表示しているだけです。 例 A B C D 1 今日の日付 2 生年月日 氏名 備考 3 日付 4 日付 5 日付 6 日付 7 日付 8 日付 9 日付 10 日付 このように作成したとして。 1.A3~A10とD1を「セルの書式設定」で文字列を指定 2.C3セルに =IF($A$3:$A$10=$D$1,"お祝い","") と入力 3.C4~C10までコピー これで、備考欄に該当の日付の所に「お祝い」と出ます。 ※日付(今日の日付も同じ)の入力は文字で「○月○日」と入力します(日付データではありません) 日付データで入力するとA列の日付を毎年入力し直す必要があるため 面倒です。 仮に、日付データやるのであれば。(A列を毎年入力し直すとして) ・A3~A10とD1を「セルの書式設定」で「日付」「○月○日」を指定 ・D1セルに =TODAY() と入力すれば 式はそのままで、同じ結果が出ます。(D1セルは入力しなくても自動で今日の日付になります) 趣旨と違っていたらすいません。
普通にIF関数を使ってはいかがでしょう。 ただしこの場合、条件に日付を入れることになりますが、日付はダブルクォーテーションで(”)で「"H20.1.1"」のように囲んでください。こうしないと日付として認識されません。 すると、H20.1.1以上で、H20.12.31以下であるときに"お祝い"と表示させれば良いのですから、 IF("H20.1.1"<=生年月日,IF(生年月日<="H20.12.31","お祝い",""),"") と表現できます。 日付をどこかのセルに入力して範囲を決めたいのであれば、そのセルの値と比較になります。 A1=H20.1.1 、B1=H20.12.31 の場合、 IF(A1<=生年月日,IF(生年月日<=B1,"お祝い",""),"") これでスッキリします。 別回答として IF(AND(A1<=生年月日,生年月日<=B1),"お祝い","") こんな方法もあります。このほうがスマートですね。 範囲が「H20.1.1~H20.12.31」など、文字列として入力されている場合は別途日付を切り出すための処理を必要とします。
お礼
ありがとうございます 希望は今年「成人式」「還暦」「古希」「米寿」「白寿」を迎える人に 一斉にお祝いを送りたいのです。 学年単位の年で区切りたいので H1.4.2~H2.4.1生まれの人、s24.4.2~s25.4.1、s7.4.1~s8.4.1・・・・と ○年○月○日~×年×月×日までの人には「今年お祝いを贈るんだよ」というのが分かるように 『お祝い』という表示がさせたいです。 IFの文をコピーしてみて試してみたのですが エラーになってしまうのでやり方が間違ってしまったのかもしれないです もう一度試してみます
お礼
ありがとうございます 質問の書き方が不十分で教えてくださったこととは違ってしまいました。すみません 希望は 回答の1番のかたのところに書いたのですが 生年月日が○年○月○日から×年×月×日までの間に当てはまる人ならば セルCに文字がでるようにしたい・・というようなものです その 範囲(○年○月○日~×年×月×日)は複数あります