残業を減らす!Officeテクニック

Excelで面倒な時間の計算とXLOOKUP関数の数式もCopilotに丸投げ!

ひと手間かかる時間計算やXLOOKUP関数の挿入もCopilotにお任せ!

 ExcelのCopilotでは、日付の処理もできることを以前に紹介しました。日付から「年」だけを取り出したり、○半期を求めたりなど、プロンプトだけで処理できるのが便利です。

 ご想像の通り、もちろん時刻の処理も可能です。以下は会議の出席状況のログをイメージしたデータです。例えば、会議の参加時間を「○分」として取り出す場合、どのように作業するでしょうか?

C列には会議への参加時間、D列は退出時間が記録されている

 簡単な方法としては、退出時間から参加時間を引いて、セルの表示形式を指定します。関数を利用して時刻の差を求めたうえで表示形式を整えてもいいですね。特に難しい作業ではありませんが、ひと手間かかります。

 Copilotに依頼すれば、列の挿入と計算が同時に済みます。なお、「○月○日午後○時」のように文字列で入力されていた場合にも対応可能です。

 さらにデータとして整えるために、社員IDに紐付く社員の名前を挿入したい場合は? 列を挿入して、VLOOKUP/XLOOKUP関数を利用した数式を入力しますよね。この作業もCopilotに任せてみましょう。

2つの日時の差を求めて「○分」の形式に整える

 処理の内容をプロンプトに記述するだけですが、意図通りに処理してもらうために具体的に指示するようにしましょう。ここでは、以下のように入力しました。なお、プロンプトを工夫して「1.5h」のような形式に整えることも可能です。

D列からC列の時刻を引いて、参加時間を求めてください。「○分」の形式に整えて右端に列を追加してください
上記のプロンプトを入力する
「=([@退出時間]-[@参加時間])*1440」という計算を行なっている。なお、この表はテーブルなので構造化参照で記述されている。[列の挿入]をクリックする
「○分」の形式に整えられた計算結果の列が挿入された

VLOOKUP / XLOOKUP関数の数式をCopilotに書いてもらう

 今度は、社員IDに対応する氏名を探して、[社員ID]列の右側に挿入してもらいます。ここでは「社員テーブル」という名前のテーブルで社員IDと氏名を管理しています。手作業の場合は、列を挿入して「=XLOOKUP([@社員ID],社員テーブル[社員ID],社員テーブル[氏名])」のような数式を入力することになりますが、Copilotなら以下のようなプロンプトで一発です。

このファイルに含まれる社員テーブルから社員IDに対応する氏名を探して、B列の右側に[氏名]列を挿入してください
「社員テーブル」という名前のテーブルで、社員IDと氏名を管理している
上記のプロンプトを入力する
「=XLOOKUP([@社員ID],社員テーブル[社員ID],社員テーブル[氏名])」という数式を入力している。このテーブルの社員ID([@社員ID])を社員テーブルの社員IDから探して、氏名を返すという意味。[列の挿入]をクリックする
社員IDに対応する氏名の列が挿入された

 上記のプロンプトから生成された数式は、XLOOKUP関数を使っていますが、「VLOOKUP関数を使って」などと指示すると「=VLOOKUP([@社員ID],社員テーブル[[社員ID]:[氏名]],2,FALSE)」のような数式で処理してくくれます。意図通りの数式を生成してもらいたい場合は、関数名を指定するといいでしょう。