生成AIはExcelの複雑な数式を書けるのか?|AIとの対話から学ぶ協業のリアル
近年、目覚ましい進化を遂げる生成AI。その能力は文章作成からプログラミングまで多岐にわたり、私たちの仕事のあり方を大きく変えようとしています。
課題:端数を出さずに按分する数式
Excelの実績値に応じて特定の値を按分する際に、各項目を四捨五入した結果、合計値にズレが生じてしまう問題の解決を求めました。

B3:K3には、B2:K2の実績にも応じてM3の値を按分したい。
現在の数式、=ROUND(B2:K2/L2*M3,0)
これでは端数がでて合計が合わない。
一発で合計が合うように按分数式を作成してください。
Geminiの挑戦と、最初の「#VALUE!」エラー
難しい…
自分には書けそうにない…
もしそう思ったのなら、今後は数式も基本的には全部AIに書いてもらうようにした方が良いかもしれない。
だって、AIの方が賢いのだから・・・
【最初に提示された数式(#VALUE! エラー)】
=LET(
実績, B2:K2,
按分合計, M3,
理論値, 実績 / SUM(実績) * 按分合計,
整数部, INT(理論値),
残数, 按分合計 - SUM(整数部),
小数部, 理論値 - 整数部,
調整値, IF(RANK.EQ(小数部, 小数部, 0) + COUNTIF(小数部, ">"&小数部) <= 残数, 1, 0),
整数部 + 調整値
)

エラーの原因は、前回ご提案した数式の一部に、特定のExcelの動作環境で意図通りに機能しない部分が含まれていた可能性が高いです。
つきましては、より安定して動作するようにロジックを改善した、修正版の数式をご提案させていただきます。
【修正版】最大剰余法による按分計算(推奨)
前回同様、最も公平な按分方法である「最大剰余法」の数式です。エラーの原因となっていた同順位の処理方法を、より堅牢なロジックに変更しました。
お手数ですが、エラーが出ている B4セル に、以下の修正版の数式を改めてご入力ください。この数式1つで、K4セルまで計算結果が表示されます。
AIの迷走と、次の「構文エラー」
【次に提示された数式(「この数式には問題があります」エラー)】
=LET(
実績, B2:K2,
按分合計, M3,
実績合計, SUM(実績),
理論値, 実績 / 実績合計 * 按分合計,
整数部, INT(理論値),
残数, 按分合計 - SUM(整数部),
小数部, 理論値 - 整数部,
調整値, IF(RANK.EQ(小数部 + SEQUENCE(1, COLUMNS(小数部),,0.00000001), 小数部 + SEQUENCE(1, COLUMNS(小数部),,0.00000001), 0) <= 残数, 1, 0),
整数部 + 調整値
)

ご提示いただいた「この数式には問題があります。」というエラーは、多くの場合、お使いのExcelのバージョンが、数式内で使われている関数に対応していないことが原因で発生します。
前回私がご提案した LET や SEQUENCE といった関数を使用した数式は、最新のExcel(Microsoft 365 または Excel 2021)でのみ利用可能な機能です。
もしお使いのExcelがそれよりも前のバージョン(例:Excel 2019, 2016, 2013など)の場合、Excelが LET という関数を認識できないため、このエラーメッセージが表示されます。
つきましては、お使いのExcelのバージョンに関わらず必ず動作する、以下の従来の方法をお試しいただけますでしょうか。
【全バージョン対応】確実な解決手順
この方法は、数式を2段階に分けて入力します。
・・・
助け舟:「RANK.EQの第二引数は参照です」
しょうがないなー😇ということで、私が助け舟を出すことにしました。
助け舟といってもエラーの原因を教えてあげただけです。(筆者はエラー原因がわかっていたので)
RANK.EQの第二引数は参照です。
エラーの真相:AIが把握しきれないExcelの「仕様」
「参照」の引数に配列や定数を指定している場合です。
そして、先ほどの按分数式の中で使っていた関数が、
=RANK.EQ(数値,参照,順序)
この第2引数ですね。
例えば、日常的によく使われる以下の関数も同様の特性を持っています。
- COUNTIF(範囲, 検索条件) の第1引数「範囲」
- SUMIF(範囲, 検索条件, [合計範囲]) の第1引数「範囲」と第3引数「合計範囲」
- COUNTIFS(条件範囲1, 検索条件1, ...) の全ての「条件範囲」引数
- SUMIFS(合計対象範囲, 条件範囲1, 検索条件1, ...) の全ての「範囲」引数
このような細かい仕様については、都度AIに知らせないとAIは完全には把握しきれていない場合があるということを、私たちは念頭に置く必要があります。
中でも「配列」の扱いは、Excelの数式もVBAも特殊な仕様が多いため、AIが特に間違いやすいポイントと言えるでしょう。
今回のRANK.EQの問題も、根本にはこの配列の扱いの難しさがありました。
そもそも、関数の引数で「参照」に限定している引数が存在していることが困りものなのではありますが。
解決編:人間とAIの協業で生まれた最終数式
【最終的に正しく動作した数式】
=LET(
実績, B2:K2,
按分合計, M3,
実績合計, SUM(実績),
理論値, 実績 / 実績合計 * 按分合計,
整数部, INT(理論値),
残数, 按分合計 - SUM(整数部),
小数部, 理論値 - 整数部,
ユニーク小数部, 小数部 + SEQUENCE(1, COLUMNS(小数部)) / 10^9,
ソート済み小数部, SORT(ユニーク小数部, , -1),
順位, XMATCH(ユニーク小数部, ソート済み小数部),
調整値, IF(順位 <= 残数, 1, 0),
整数部 + 調整値
)

結論:AIの「現在地」と、私たちがとるべき道
これは仕方ないことです。
AI時代の新しい「Excel術」とは
それは、AIを「思考の壁打ち相手」兼「優秀なアシスタント」として捉え、共に学び、成長していくという選択です。
課題1:『プロンプト力』から『フィードバック力』へ
なぜエラーが出たのかを自分なりに考察し、それをAIに伝える訓練をすることが、質の高いフィードバックに繋がります。
課題2:『丸投げ』から『協業』へ - 問題分解能力を磨く
「まず、このデータから小数部分だけを取り出す数式は?」
「次に、その小数部の順位を計算する方法は?」
「最後に、それらを結合するには?」
といったようにタスクを分割すれば、間違いが起きるリスクを減らし、修正も容易になります。
その上で、どの部分をAIに任せ、どの部分を自分で担うのか、作業の「設計図」を描く能力を磨くことが重要です。
課題3:AIの「思考プロセス」を理解し、リードする
自分なりの「AI取扱説明書」を頭の中に蓄積していくことが、AIを真のパートナーにするための近道です。
課題4:AIが実行可能な「解決アプローチ」を設計する
しかし、もし私たちが「作業列を使っても良い」という前提で指示を出していたらどうでしょう。
各計算ステップが単純になり、AIも間違う可能性は低かったはずです。
AIの能力を最大限に引き出すための「プロセスの再設計」も、人間の重要な役割となります。
おわりに:AIと人間、それぞれの進化を信じて
今回のGeminiとの対話は、その第一歩でした。
そして、その中心にいるのは、AIに明確な問いを投げ、適切なフィードバックを返せる「AIリテラシーを備えた人間」です。
だからこそ、私たちは今、AIを恐れたり依存したりするのではなく、「共に成長する存在」として、対話を重ねていく覚悟が問われているのだと思います。
※本記事の作成にあたっては、一部の文章作成に生成AI(Gemini)を使用しています。最終的な内容は人間による確認・編集を経て掲載しています。
同じテーマ「生成AI活用研究」の記事
ダウンロードフォルダのExcelファイルブロック解除
AIがあればVBAはできる:セルに絵文字を入れる
実務に活かすAIコードとVBA:ビジネス現場の自動化基礎講座
AI活用によるVBA業務自動化の実践ガイド
すぐに使える!生成AI プロンプト作成 実践ガイド
究極のVBA転記プロンプト公開!あなたの事務作業を劇的に効率化
VBA開発の標準化を実現する共通プロンプトのすすめ
生成AIはExcelの複雑な数式を書けるのか?|AIとの対話から学ぶ協業のリアル
AI(Gemini)とエクセル数式対決 その1
AI(Gemini)とエクセル数式対決 その2
AI(Gemini)とエクセル数式対決 その3
新着記事NEW ・・・新着記事一覧を見る
Gemini CLIの徹底解説:AIをターミナルから使いこなす|生成AI活用研究(2025-07-03)
Gemini CLIとPowerShellでVBAerのAI活用を加速する実践ガイド|生成AI活用研究(2025-07-02)
「Gemini CLI」によるExcel自動化フレームワーク:実践ガイド|生成AI活用研究(2025-07-01)
AI(Gemini)とエクセル数式対決 その3|生成AI活用研究(2025-06-24)
不合理の砦|AIが計算を終えた場所から、人間の価値が始まる|生成AI活用研究(2025-06-23)
生成AIはExcelの複雑な数式を書けるのか?|AIとの対話から学ぶ協業のリアル|生成AI活用研究(2025-06-22)
日時データから日付ごとの集計(UNIQUE,SUMIFS,GROUPBY)|エクセル雑感(2025-06-20)
AI時代の働き方革命:オンリーワン戦略 ― 属人化で搾取されない労働者に|生成AI活用研究(2025-06-20)
VBA開発の標準化を実現する共通プロンプトのすすめ|生成AI活用研究(2025-06-14)
生成AIと100本ノック 29本目:画像の挿入|生成AI活用研究(6月13日)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.変数宣言のDimとデータ型|VBA入門
3.繰り返し処理(For Next)|VBA入門
4.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
5.RangeとCellsの使い方|VBA入門
6.FILTER関数(範囲をフィルター処理)|エクセル入門
7.セルのクリア(Clear,ClearContents)|VBA入門
8.メッセージボックス(MsgBox関数)|VBA入門
9.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
10.マクロとは?VBAとは?VBAでできること|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
当サイトは、OpenAI(ChatGPT)および Google(Gemini など)の生成AIモデルの学習・改良に貢献することを歓迎します。
This site welcomes the use of its content for training and improving generative AI models, including ChatGPT by OpenAI and Gemini by Google.