見出し画像

[Excel]生成AI のCopilot に「満年齢の計算方法」を聞いたら、やっぱり不正確な答えが返ってきた

目次

  1. Copilotに聞いてみたら、やっぱり「不正確な答え」だった

  2. Copilotを責めるのは酷

  3. 正しい回答は正しい質問から

  4. 年数計算・年齢計算まとめ(DATEDIF関数)】

Copilotに聞いてみたら、やっぱり「不正確な答え」だった

Microsoftの生成AIである copilot に、
「エクセルで満年齢を計算したい」と聞いてみました。

https://www.bing.com/search?q=Bing AI&showconv=1&form=MA13LV

すると、以下の答えが返ってきました(2024/1/20時点)。

「エクセルで満年齢を計算したい」

はい、エクセルで満年齢を計算する方法があります。DATEDIF関数を使うことで、生年月日から現在の満年齢を求めることができます1。以下の手順に従って、エクセルで満年齢を計算してみてください。
年齢を表示させたいセルに「=DATEDIF(生年月日, TODAY(), “Y”)」と入力します。ここで、「生年月日」は生年月日が入力されているセルを指します。この関数は、生年月日と現在の日付から、満年齢を求めることができます。
これで、満年齢が表示されます。
以上の手順で、エクセルで満年齢を計算することができます。

残念ながら、上記は不正確です。
過去記事のとおり、年齢は誕生日の前の日に取ります。
従って、
=DATEDIF(生年月日, TODAY(), “Y”)
では、誕生日に年を取る結果となってしまいます。

法的に正しいのは、
=DATEDIF(生年月日-1, TODAY(), “Y”)
となります。

Copilotを責めるのは酷

とはいえ、Copilotを責めるのは酷です。
ご存じのように生成AIは、WEB上の情報から成り立っています。
従って、WEB上の情報が正しくなければ、答えも当然正しくありません。
WEB上に正しい情報があったとしても、正しくない情報が多く、かつ、それらが一般的になっていれば(多く閲覧されている等)、正しくない情報が答えになってしまいます。
*法的には「誤り」ですが、世間的にはそうではないので、「誤った情報」という表現は避けています。

Copilotは、元となる情報が表示されますが、今回最初に表示されているのは

1: リテラアップで仕事効率化
https://litera.app/blog/excel-calculate-age/

であり、このサイトや他に示されたサイトの記載が「不正確」であるため、copilotも「不正確な回答」を出したわけです。(このサイトが「誤りである」とか「役に立たない」ということではありません。)

わざわざ「満年齢の出し方」を聞いたのですが、結果、こうなってしまったのは、ちょっと残念です。

一方、「エクセルで法律上の満年齢を出したい」と聞いてみたら

Excelで法律上の満年齢を計算する方法は、DATEDIF関数を使用することができます1。DATEDIF関数は、2つの日付の差を求める関数で、以下のように構文を記述します。

=DATEDIF(開始日, 終了日, "単位")ここで、開始日には生年月日を、終了日には今日の日付を指定し、単位には"Y"を指定します。すると、DATEDIF関数は生年月日から現在までの満年齢を求めてくれます。以下は、DATEDIF関数を使用して法律上の満年齢を計算する例です。
=DATEDIF(C2,TODAY()+1,"Y")
ここで、C2には生年月日が入力されているセルを指定します。また、TODAY()関数は、現在の日付を取得する関数です。この関数を使用することで、DATEDIF関数は生年月日から現在までの満年齢を求めてくれます。以上の手順で、Excelで法律上の満年齢を計算することができます。

ここで示された計算式は
=DATEDIF(生年月日, TODAY()+1, “Y”)
です。

これは、過去記事で示している計算式
=DATEDIF(生年月日-1, TODAY(), “Y”)
とは異なりますが、計算結果は同じです。

生年月日から1を引いて、生年月日を起算日(1日目)とする方が正しいとは思いますが、今日に1日足すことで、同じ結果となっています。

正しい回答は正しい質問から

このようい、生成AIに聞く際に「法律上の」といった表現を入れると、生成AIは、それに合った答えを出してくれます(必ず、ではないにせよ。)。

ただし、質問する側が、世間的な年齢と法律上の年齢の違いを知らなければ、この質問はできません。

そういった意味で、過去記事との繰り返しになりますが、業務を正しく遂行するには、単にエクセルの知識だけではなく、法律面(あるいは制度面)での知識が求められます(公務員なら、当たり前の話ですけれど。かっこ

*生成AIもいずれ(すぐに)「一般的な年齢ですか? 法律上の年齢ですか?」と聞いてくるようになるかもしれません。

興味深いのは、上の回答は2つとも同じサイトを詳細情報として挙げていることです。
しかしながら、詳細情報とされているサイトには、DATEDIF関数を使った満年齢の正しい計算方法は示されていません。
詳細情報として示されているサイト
エクセルで年齢計算する方法|DATEDIF関数で満年齢を求める

にも拘わらず、2つ目の「法律上の満年齢」の詳細資料としても示されています。
これは、このサイトを主参照としつつ、別のサイトに情報を加味して、こういう結果になったお思われます。
「別のサイト」として示されているのがこちらです。エクセルで年齢計算!生年月日から満年齢を計算する|DATEDIF関数

このサイトの最後で、法律上の満年齢について簡単に触れられています。
これにより、詳細情報のサイトの内容が補完されて、上記の回答となったと思われます。(実際はもっと細かいアルゴリズムが働いていると思います。)

というわけで、上記はあくまでも「今の」Copilotの回答ですので、ご参考までに。

この記事が気に入ったらサポートをしてみませんか?