先日、老人会の会長さんからこんな質問が。
(老人会の)会員で、70歳以上の人に粗品を送るのにひとりひとり計算してみていったんやけど、パッと出るようにはならんのかな。毎年のことやし自動でできるようにしたいんやけど。なんか方法ないか?
会員さんの数にもよりますが、ひとりずつ年齢を計算して…というのは確かに手間がかかりますね。まず、会員さんの生年月日と粗品を送る基準となる日にち、生年月日を基準に年齢を自動計算させたうえで、70歳以上の方には〇などの文字が出るようにすればよさそうですね。
関数で「以上」を指定する方法は
今回いただいたご質問では関数をいくつか使いますが、70歳以上の「以上」をどう設定するかという点に注目して見ていきたいと思います。
まず、サンプルとして以下の表をExcelで作成します。基準日は令和4年4月1日とします。
関数を使って基準日現在の年齢を求める
年齢の列に年齢を求めていきます。年齢を求めるのに使用する関数は「DATEDIF」です。「DATEDIF」関数については別の記事に書いています。
ExcelのDATEDIF関数は経過年数・月数・日数を計算することができる
では、基準日時点でのAさんの年齢を求めるため、DATEDIF関数を入力してみると
となり、関数を確定するとこうなります。
Bさん以降の年齢を求めるには、Aさんの年齢を求めるために入力した関数をコピーします。
全員の年齢を求めることができました。
〇以上と指定するには「>=」と入力する(IF関数の場合)
次に、70歳以上の会員さんに〇が付くようにしていきます。この時、使用する関数は「もし~だったら」という関数「IF」です。
まず、70歳以上ということなので70歳も含めます。70歳も含める「以上」を指定する方法とあわせてみていきましょう。
まずAさん。70歳以上なので〇が付けば正しく条件分岐ができていることになります。
関数「IF」を使って、年齢が70歳以上であれば〇が付く、70歳以上でなければ、つまり70歳未満であれば〇が付かないよう指定していきます。
数式バーにある「関数の挿入」ボタンをクリックし、関数の挿入画面を開きます。
次に、分類の▼をクリックし、「論理」を選択し、関数名から「IF」を選択し、OKボタンをクリックします。
IF関数の引数を指定する画面が開きます。入力するのは「論理式」「値が真の場合」「値が偽の場合」の3つ。
ひとつめの「論理式」の枠内をクリックし、表にあるAさんの年齢を求めたセルをクリックします。
続けて、「>=70」と入力します。「>=70」と入力したことでAさんの年齢が70歳以上であればと指定できたことになります。
次に、2つめの「値が真の場合」の枠内をクリックし、「〇」と入力します。
3つめの「」の枠内をクリックし、「”(ダブルクォーテーション)」を2つ入力します。
すべての枠が入力できたら、OKボタンをクリックします。
どうですか?〇が付きましたか?他の会員さんにもこの計算式を適用してみましょう。
本当に70歳以上の会員さんにだけ〇が付いているか、Bさんの生年月日を変えてみましょうか。
Bさんの生年月日を「昭和28年6月1日」に変更してみました。ちゃんと〇が付きましたね。
今回は、〇〇以上と条件を指定したい場合、参照するセルを選択した後、「>=〇〇」と数式を入力しました。
「>(大なり)」「<(小なり)」「=(イコール)」を組み合わせることで、「以上」「以下」「より大きい」「より小さい(未満)」を指定することができます。
- 以上 >=
- 以下 <=
- より大きい >
- より小さい(未満)<
これで、毎年、基準となる日にちを入力し直せば、その時点での年齢を求めることができ、さらに、70歳以上の方には自動的に〇が付くようになるので粗品を送りたい会員さんが自動で判別されるようになります。
試しに、基準日を令和5年4月1日に変えてみると…
Bさんが70歳以上になられたので〇が付きました。うまく動作しているようです。