Excelの関数・数式が分からない……ChatGPTにどう質問すればいい?その悩み、生成AIが解決(1/2 ページ)

» 2024年03月07日 07時00分 公開
[酒井麻里子ITmedia]

新連載:その悩み、生成AIが解決

アイデアが浮かばない、こんな無駄な作業なくしたい――。ビジネスパーソンを悩ませる日々のさまざまな困りごと、ChatGPTに聞いてみませんか? ITジャーナリストの酒井麻里子氏がプロンプトの書き方を伝授する。

Q. 異動先で引き継いだExcel資料の関数・数式が分からず困っています。ChatGPTで解決できますか?

 前任者が作成したExcelの資料を引き継いだものの、使われている関数の意味が分からない。周囲にその資料の内容を把握している人もおらず、途方に暮れている……。

 こんな経験があるビジネスパーソンは、きっと少なくないはずだ。

 そんなときは、ChatGPTが強い味方になってくれる。今回は、既存のExcelファイルに入力されている関数や数式の意味を調べたり、ファイルを編集したりするときのChatGPT活用法を紹介しよう。

異動先で引き継いだExcel資料の関数・数式が分からず困っています。ChatGPTで解決できますか? 写真はイメージ(ゲッティイメージズ)

著者プロフィール:酒井麻里子(さかい・まりこ)

ITジャーナリスト/ライター。生成AIやXR、メタバースなどの新しいテクノロジーを中心に取材。その他、技術解説やスマホ・ガジェットなどのレビューも。著書に『趣味のChatGPT』(理工図書)、『先読み!IT×ビジネス講座ChatGPT』(共著・インプレス)など。Yahoo!ニュース公式コメンテーター。株式会社ウレルブン代表。XRと最新テクノロジーのWEBマガジン「TechComm-R」運営。


 ChatGPTの有料プランでは、Excelなどのファイルをアップロードしてその内容について質問することも可能だが、情報漏えいを防ぐ観点から、通常のChatGPTアカウントでは業務で使っているファイルをそのままアップロードすることはおすすめできない。その場合も、必要最小限の情報をChatGPTに伝えるだけで、それぞれの関数が何を意味するのか、どのような目的で設定されているのかを知ることができる。

 例えば、以下のシート。関数や数式の意味が分からないとき、ChatGPTにどう質問を投げかければいいのだろうか。

各列に関数が入力されているが、どんな操作を行っているのかがよく分からない

Excelの関数が知りたい プロンプトの記入例

 列ごとに見出しの項目名および入力された関数を記載して「Excelに入力されている関数の意味と、このシートの使い方を教えてください。各列の見出しと入力されている関数は以下の通りです」と指示すればよい。関数や数式が入力されていない列は「関数なし」と書いておこう。

プロンプト

Excelに入力されている関数の意味と、このシートの使い方を教えてください。各列の見出しと入力されている関数は以下の通りです。

A列「商品ID」:関数なし

B列「商品名」:=IF(A2="", "", VLOOKUP(A2, 商品リスト!A:B, 2, FALSE))

C列「価格」:=IF(A2="", "", VLOOKUP(A2, 商品リスト!A:C, 3, FALSE))

D列「数量」:関数なし

E列「合計金額」:=IF(A2="", "", C2*D2)

F列「割引後価格」:=IF(OR(ISBLANK(D2), ISBLANK(A2)), "", ROUND(IF(ISNUMBER(E2), IF(E2>2000, E2*0.9, IF(E2>1000, E2*0.95, E2)), ""), 0))

G列「合計税込金額」:=IF(OR(ISBLANK(D2), ISBLANK(A2)), "", ROUND(F2*1.1, 0))

 以下は、プロンプトに対する回答だ。各列で行っている操作や使われている関数の意味が丁寧に明されている。

回答

このExcelシートは、商品の販売情報を追跡し、自動的に価格計算を行うために設計されています。各列の役割と入力されている数式の意味は以下の通りです。

■A列「商品ID」: この列には関数が入力されていません。商品の一意の識別子が手動で入力されることを意味します。

■B列「商品名」: `=IF(A2="", "", VLOOKUP(A2, 商品リスト!A:B, 2, FALSE))`

 この数式は、A列に入力された商品IDをもとに、別のシート(商品リスト)から商品名を検索しています。もしA列が空白なら、何も表示せず、そうでなければ、商品リストシートのA列とB列を検索し、対応する商品名を表示します。`VLOOKUP`関数は、指定した値を最初の列で検索し、指定した列番号の値を返します。`FALSE`は完全一致検索を意味します。

(中略)

■F列「割引後価格」: `=IF(OR(ISBLANK(D2), ISBLANK(A2)), "", ROUND(IF(ISNUMBER(E2), IF(E2>2000, E2*0.9, IF(E2>1000, E2*0.95, E2)), ""), 0))`

 この数式は、合計金額(E列)に基づいて割引を適用します。合計金額が2000を超える場合は10%割引、1000を超える場合は5%割引を適用し、それ以外は割引なしです。A列またはD列が空の場合は何も表示しません。`ROUND`関数を使って最終的な値を整数に丸めます。

(中略)

このシートを使う際には、商品IDと数量を入力することで、自動的に商品名、価格、合計金額、割引後価格、そして税込み価格が計算されます。これにより、販売データの管理が容易になり、計算ミスを防ぐことができます。

 各列でどのような計算が行われているのかを順に説明してくれるので、Excelに苦手意識がある人でもスムーズに理解できる。

 個別の関数についてより詳しく知りたい場合は「F列で使われているISNUMBERやISBLANKは何をするためのものですか?」などと質問することで、解説を引き出すことも可能だ。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.