こんにちは!下町AI探究者、ガジュマロです。
先日は、これまで「難しい…」と感じがちだったExcelの関数やマクロ作成を、AIが私たちの言葉を理解して手伝ってくれる、そんな新しい時代の可能性についてお話しさせていただきました。(まだお読みでない方は、ぜひ「【導入編】Excel作業の救世主?AIが関数・マクロの「分からない」を解決する時代が来た!」もご覧くださいね)
あのややこしい関数名やVBAの知識がなくても、「こういうことをしたいんだけど」とAIに相談すれば、まるでExcelに詳しい同僚や専門家のように、解決の糸口を教えてくれるかもしれない…。なんだかワクワクするような、それでいて少し信じられないようなお話だったかもしれませんね。
さて、そうはいっても、「じゃあ、実際にExcelを使っていて、関数で『うーん…』と困ってしまったとき、具体的にどうやってAIに頼ればいいの?」と思われる方もいらっしゃるのではないでしょうか。
「えーっと、この条件に合うデータだけ合計したいんだけど、関数は何を使えば…?」
「VLOOKUP関数を入れてみたけど、#N/Aエラーが出ちゃう。どうしてだろう?」
日常のExcel作業では、こうした具体的な「困った!」に遭遇する場面がよくありますよね。インターネットで検索しても、なかなか自分の状況にぴったりの答えが見つからなかったり、説明が難しくて理解できなかったり…。
そこで今回は、先日の「AIが助っ人になる」という話の続きとして、Excelの関数や数式で困った具体的な場面で、AIにどうやって質問すれば的確な答えが返ってきやすいのか、その「頼り方」のコツについて、一緒に見ていきたいと思います。
AIという「頼れる同僚」に、上手に相談する練習をしてみましょう!
『この関数、どうやって使うんだっけ?』、使い方をAIに再確認してみよう!
Excelを使っていると、「あれ?この関数、どうやって使うんだっけ?」と、使い方を忘れてしまっていることもありますよね。例えば引数(ひきすう、関数に入れる情報のことですね)の順番だったり、最後の FALSE の意味だったり、細かいところで「あれ?」となってしまう。そしてそのたびに、インターネットで検索するのも、ちょっと手間だったりしますよね。
そんな時こそ、AIの出番です。忘れてしまったり、ちょっと自信がなかったりする時も、気軽に基本から確認できるのがAIの良いところです。まずは基本から、AIに直接聞いてみましょう。
例:VLOOKUP関数の使い方を聞く
例えば、今、vlookup関数の使い方を忘れてしまったとします。
早速、AIに聞いてみます。
あなた:Excelの「VLOOKUP関数」の使い方を教えてください。
AI:
VLOOKUP関数は、指定した値を検索し、対応するデータを取り出すための関数です。主に、リストや表から特定の情報を取得するときに使います。
基本構文
=VLOOKUP(検索値, 範囲, 列番号, 検索方法)
引数 説明 検索値 検索する値(セル参照や直接入力) 範囲 検索するデータの範囲(検索値は範囲の最初の列にある必要あり) 列番号 取り出したいデータが範囲内で何列目にあるか(1から数える) 検索方法 TRUE(近似一致)または FALSE(完全一致)。通常は FALSE を指定 使用例
例1:社員名簿から社員の所属部署を検索
A列(社員ID) B列(名前) C列(部署) 101 田中 営業 102 佐藤 開発 103 鈴木 総務 検索したい社員IDをセルE2に入力し、所属部署を取得
=VLOOKUP(E2, A2:C4, 3, FALSE)
結果:
E2 に 102 を入力すると 部署名の「開発」 が出力される。
ポイント:
1. 検索範囲の1列目に検索値があること
範囲の最初の列に検索対象(例: 社員ID)がある必要があります。
2. 列番号は範囲内で数える
A2:C4 の範囲では、A列=1、B列=2、C列=3。
3. 完全一致の場合は FALSE を指定
TRUE(省略可)にすると近似一致になり、データが昇順で並んでいない場合は正しく動作しないことがあります。
VLOOKUPの限界と代替
・検索列は範囲の1列目でないといけない
→ XLOOKUP(Excel 365以降)や INDEX + MATCH の組み合わせが便利。
・横方向(行方向)の検索はできない
→ HLOOKUP や INDEX + MATCH を活用。
基本的な使い方はこんな感じですが、どんな場面で使いたいですか?
「ああそうだった!」となることもあるでしょう。
一方で、「分かった。有難う。ただ、今回データが複雑だから、どうやって関数を組んだらいいか、よくわからないな。もう少し具体的に教えてもらおう。」となるかもしれません。
そんな時には続けて状況を説明していきます。
例:【続けて質問】VLOOKUP関数の具体的な適用方法を聞く
例えば、以下の具体的な状況を打ち込んでいきます。
あなた:続いて、具体的に質問させてください。
Excelのブックに「売上データ」と「商品マスタ」という2つのシートがあります。
「商品マスタ」シートのA列には商品コード、B列には商品名が入力されています。
「売上データ」シートのC2セルに、 同じ行のA2セルに入力されている商品コードを使って、 「商品マスタ」シートの範囲から対応する商品名を 検索して表示させたいです。 商品コードは完全に一致するものだけを探したいです。 この場合、「売上データ」シートのC2セルには、 具体的にどのようなVLOOKUP関数の数式を入力すればよいでしょうか?AI:ありがとうございます!具体的な状況がよく分かりました。
「売上データ」シートの C2セル に入力するVLOOKUP関数は、以下のようになります。
=VLOOKUP(A2, 商品マスタ!A:B, 2, FALSE)
この式の意味:
部分 説明 A2 検索値(「売上データ」シートのA2セルに入力された商品コード) 商品マスタ!A:B 検索範囲(「商品マスタ」シートのA列~B列を対象) 2 列番号(検索範囲の2列目=商品名を取得) FALSE 完全一致で検索 ポイント:
1. 「商品マスタ」シート名の前に ! をつける
別のシートを参照するときは シート名!範囲 の形式で指定。
2. 検索範囲はA列からB列まで(A:B)
A:B だとB列のデータが増えても自動で対応。
3. 完全一致(FALSE)を指定
TRUE だと近似一致になるので注意!
C2セルに入力後、他の行にも適用
C2セルの数式を 下方向にコピー すれば、他の行も自動で計算されます!
(オートフィルやCtrl + Dを使うと便利)
いかがでしょうか。関数の使い方を、隣の関数名人の手を煩わせることもなく、知ることが出来たのではないでしょうか。しかも、それでもよくわからない場合は、更に具体的な状況を示して具体的な使い方を聞く、という事もできます。
「こんな事が出来る関数、ある?」もAIに相談
関数の使い方を忘れた時だけでなく、「こういう事をやりたいんだけど、そんな機能を持つ関数って有るんだろうか?」という時も、AIは頼りになります。
例:特定の店舗での、特定の商品の売上だけ合計したい!
例えば、下のようなリストがあったとします。
A列 | B列 | C列 | D列 | |
1 | 日付 | 商品名 | 売上 | 店舗名 |
2 | 4月1日 | りんご | 500円 | A店 |
3 | 4月1日 | みかん | 300円 | B店 |
4 | 4月2日 | りんご | 600円 | B店 |
5 | 4月3日 | りんご | 400円 | A店 |
6 | 4月3日 | みかん | 550円 | A店 |
このリスト全体の中から、「A店」で売れた「りんご」の売上だけを合計して、どこか別のセル(例えばF1セル)に表示したい、と考えたとします。これには「店舗名」と「商品名」の2つの条件を満たすものだけを合計する必要がありますが、こんなことが出来る関数があるのでしょうか。
こんな時も、AIに聞いてみましょう。
あなた:Excelのシートについて質問です。
B列に商品名、C列に売上、D列に店舗名が入力されています。
このリスト全体の中から、
D列が「A店」であり、かつ、B列が「りんご」である行だけを選んで、
対応するC列の売上の合計を計算したいです。
合計結果はF1セルに表示させたいです。
どの関数を使えばよいか、F1セルに入力する具体的な数式を教えてください。AI:F1セルに以下の数式を入力すれば、「A店」で売れた「りんご」の売上合計を計算できます。
F1セルに表示する数式(条件付きの合計):
=SUMIFS(C2:C6, D2:D6, “A店”, B2:B6, “りんご”)
この式の意味:
関数 説明 SUMIFS(合計範囲, 条件範囲1, 条件1, 条件範囲2, 条件2) 条件を満たすデータの合計を求める
部分 説明 C2:C6 合計範囲(売上のデータ範囲) D2:D6 条件範囲1(店舗名のデータ) “A店” 条件1(A店に限定) B2:B6 条件範囲2(商品名のデータ) “りんご” 条件2(りんごに限定) 計算結果:
データをもとに計算すると、
・4月1日のりんご(A店) → 500円
・4月3日のりんご(A店) → 400円
合計:500円 + 400円 = 900円
F1セルの表示値: 900
ポイント:
SUMIFS は 複数条件(AND条件)を設定可能!
データ範囲(C2:C6 など)を変えるときは注意
→ データが増える可能性があるなら C:C などの列全体を指定するのもOK
=SUMIFS(C:C, D:D, “A店”, B:B, “りんご”)
ただし、余計なデータが入らないようにすることが重要!
どうやら、SUMIFSという関数で実現できそうです。
基本的な使い方から今回の事例に対応する例まで、しっかりと説明してくれているので、すぐに使う事もできそうです。
もし望んだ回答が得られなかったら? AIに聞くときのコツ
「“お願い”の仕方で激変、AI使用のコツ」でお伝えした通り、AIからより的確で役立つ答えをもらうためには、私たちの「聞き方(プロンプト)」がとても大切になってきます。
- 何をしたいか、具体的に
「合計したい」だけでなく、「〇〇の条件に合うものだけ合計したい」「〇〇を除いて平均を出したい」「A列が〇〇で、かつB列が△△の件数を数えたい」など、できるだけ詳しく伝えましょう。頭の中にある完成イメージを言葉にする感じです。 - データの状況を伝える
どんなデータがどの列(または行)に入っているか。「A列には日付がYYYY/MM/DD形式で、B列には商品名がテキストで、C列には売上が数値で入っています」のように伝えると、AIも具体的な数式を作りやすくなります。可能であれば、先ほどの例のように、簡単な表の形で示す(コピー&ペーストするなど)のも良いかもしれません。 - エラーが出たら、その状況を出来るだけ正確に伝える
AIの指示通りにやってみても、うまくいかないことや、#NAME?、#VALUE!、#REF!といったエラーメッセージが表示されることもあります。そんな時は、さらに聞いてしまいましょう。例えば、「=SUMIF(B:B, “りんご”, C:C) と入力したら、『#NAME?』というエラーが出ました。どこか間違っていますか?」のように、試した数式と表示されたエラーメッセージを具体的に伝えてみましょう。AIが原因を推測し、「もしかして、関数名を間違えていませんか?」「ダブルクォーテーションが抜けていませんか?」など、解決策を提案してくれることがあります。
ひとつずつ試して、「関数」の便利さを実感してみましょう?
さて、AIに関数のことを聞いてきましたが、どうだったでしょうか?
もしかしたら、「VLOOKUP関数?」「SUMIFS関数?」「引数?」…と、新しい言葉や考え方がいくつか出てきて、「やっぱり難しそうだな…」と、ちょっと身構えてしまったかもしれません。
でも、安心してください。全部を一度に完璧に理解しようとしなくても、全然大丈夫です。何故ならあなたには、いつでもどこでも質問し放題の頼りになる相棒、AIがいるのですから。
まずは単純な作業でいいと思います。AIに聞きながら実際にセルに関数を入力してみてください。うまくいったり、エラーが出たり、それを繰り返しながら、「なるほど、こうすればいいのか」「あ、カンマが抜けてた」と、少しずつ感覚を掴んでいくことで、どんどんExcelの関数に慣れて、仕事の効率化につながっていくと思います。
まとめ:AIと一緒に、Excelをもっと身近なツールへ
Excelの関数は、慣れるまでに戸惑うことがあるかもしれません。一つ一つ関数の種類と使い方を覚えなければならない、という手間に、腰が引けてしまう事もあるでしょう。でも、AIという新しい、そしてとても賢い相棒がすぐそばにいてくれると思えば、その「わからない」「困った」という壁も、以前よりずっと乗り越えやすくなるのではないでしょうか。
「この手間、面倒くさいな。関数で自動化できないかな?」
「毎月やってるこの集計、もっと効率よくできないかな?」
そう感じた時、ぜひAIに気軽に話しかけてみてください。きっと、あなたのExcel業務を少しでも楽にするための、たくさんのヒントをくれると思います。
今回の話が、皆さんのExcelライフが少しでも快適になる、そしてAIともっと気軽に付き合ってみる、その何かのきっかけになれば、こんなに嬉しいことはありません。
それでは、また次回の探求でお会いしましょう。
コメント