

いまや、Excelが日常業務に欠かせないツールとなっている職場も多くあります。
しかし、もしあなたが「もっとシンプルなExcel関数が使えないかなぁ?」とか、「何度も同じ計算作業をくり返すのがいやだなぁ…」とか、「Excelのいま」に限界を感じているならば、ちょこっと「Excelの未来」に現実逃避(!?)してみませんか?
今回は、Excelの未来が覗(のぞ)きみられるアドイン、”Excel labs”のご紹介です。


Excel labsは、Microsoft社が正式リリースする前の便利機能を、いち早く試用できる”夢のガレージ!?”
「labs(実験室)」という名が示すとおり、Excel labsは現在開発中の新機能を、正式な製品版へ組み込む前に公開するためのプラットフォーム(Microsoft社公式アドイン)です。
Microsoft社内には「大企業となっても、ベンチャー精神を失わないスピード感あるサービス開発」のための部署横断”部活動!?”・Garage projectという活動があり、その中から、Excelの機能改善につなげられそうなツールは、アドインを通じて一部ユーザーにだけ公開している、というものです。
参照;“ガレージ精神”がマイクロソフトを救う!? 大企業病打破を目指した「放課後ものづくり」
(ダイヤモンド・オンライン2016年5月17日公開記事 全文閲読には無料会員登録が必要です)
参照2;”Microsoft、「Excel labs」を発表 ~開発初期のアイデアを詰め込んだ実験アドイン
labsで提供されている機能は、あくまでも「実験中」のため、仕様が変化したり、予告なく提供終了となる可能性もあります。しかし、それを差し引いても、得られるメリットは大きく、新機能にふれられる良い機会になります。
もし、あなたがまだこのアドインをインストールしていなければ、スキマ時間にアクセスして、ぜひ未来の新機能にふれてみてはいかがでしょうか?


また、このアドインはあくまでも”Microsoft米国本社実験室”の提供アプリですので、すべての文字情報が英語です(一切日本語化されていません)のでご注意ください。
labsメニューでは、生成AI関数やPython連携など、実用的な機能が数年前から公開されていました
では、実際Excel labsにはどのようなメニューがあり、何ができるのかを見てみましょう。
Office アドイン・ストアからダウンロードした三角フラスコ・アイコンのlabsアドインを起動すると、下図のようなサイドペイン(右サイドウインドウ)が起動します。


2025年11月現在、このサイドペインからアクセスできる新機能メニューは以下の通りです。
1.Agent mode (Frontier)
2.Advanced formula environment
3.LABS.GENERATIVEAI function
4.Python editor
このうち、1.Agent modeについては、強い関心をよせる読者の方も多いでしょうから、次回にくわしく実験してみます。
3.LABS.GENERATIVEAI functionは、日本語に直訳すると「実験室の生成AI関数」ということになります。ChatGPTのAPIkeyを使って、Excelセル上からChatGPTへプロンプト(命令文)を投げ、回答を表示する関数のようです。本機能の解説文に”The same functionality is now available through the =COPILOT function.”とあるように、せるワザで何度かご紹介したCOPILOT関数(Excel)やAI関数(Googleスプレッドシート)の前身となる実験的関数です。
4.Python editorは、Excel内でPythonコードを記述し、そのプログラムを実行できるIDE環境(プログラム・エディタ/コンパイラ/デバッガなどが1つにまとまった”統合開発環境”)のようなものを作り上げるツールです。こちらも、現在は”Python in Excel”というサービス名で、一部バージョンのExcelへは実装されていますね。
それでは、2.Advanced formula environmentとはなんでしょうか? 日本語に直訳すると「先進的な数式環境」ということになりますが、これだけでは意味がよくわからないので、実際の画面をみてみましょう。
Advanced Formula Environment(AFE)は、長く複雑なExcel関数式でも、プログラム・コードのように整理・編集できる”神”ツール
仮に、あなたが「従業員の賞与計算」を担当することになったとしましょう。
この会社のボーナスは、基本的には部署と役職で決まりますが、個人の評価(S, A, B, C)による加算/減算や、特定のプロジェクトに貢献した場合の報酬なども加味され、非常に複雑な算定方法になります。
先輩から、個人別明細書に記載する「金額とメッセージを決定する」Excelブックをポンと渡され、担当業務を丸投げされたとしたらどうしましょうか?
Excelブックのサンプルは下図の通りです。


(実際には、社員個人情報や賞与テーブルを別シートにマスタとして保持し、マージして使用しますが、今回は見やすくするため、1シートにまとめてみました。)
上図2行目の「役職」「個人評価」などの情報を変更すると、A4セルの金額とひとことメッセージが、その都度変更されます。
それでは、セルA4セルにはどのような数式が入っているでしょうか?


=IF(OR(D2=”S”,E2=”特別貢献”),TEXT(SUM(VLOOKUP(B2,部署別基本ボーナス,IF(C2=”主任”,2,IF(C2=”係長”,3,IF(C2=”課長”,4,5))),FALSE),IF(D2=”S”,100000,IF(D2=”A”,50000,IF(D2=”B”,0,IF(D2=”C”,-30000,0)))),IF(E2=”特別貢献”,50000,0)),”#,##0″)&”円!素晴らしい活躍でした。”,IF(AND(D2=”A”,F2>0),TEXT(SUM(VLOOKUP(B2,部署別基本ボーナス,IF(C2=”主任”,2,IF(C2=”係長”,3,IF(C2=”課長”,4,5))),FALSE),IF(D2=”S”,100000,IF(D2=”A”,50000,IF(D2=”B”,0,IF(D2=”C”,-30000,0)))),IF(E2=”特別貢献”,50000,0)),”#,##0″)&”円!来期も期待しています。”,IF(D2=”B”,TEXT(SUM(VLOOKUP(B2,部署別基本ボーナス,IF(C2=”主任”,2,IF(C2=”係長”,3,IF(C2=”課長”,4,5))),FALSE),IF(D2=”S”,100000,IF(D2=”A”,50000,IF(D2=”B”,0,IF(D2=”C”,-30000,0)))),IF(E2=”特別貢献”,50000,0)),”#,##0″)&”円。現状維持です。”,TEXT(SUM(VLOOKUP(B2,部署別基本ボーナス,IF(C2=”主任”,2,IF(C2=”係長”,3,IF(C2=”課長”,4,5))),FALSE),IF(D2=”S”,100000,IF(D2=”A”,50000,IF(D2=”B”,0,IF(D2=”C”,-30000,0)))),IF(E2=”特別貢献”,50000,0)),”#,##0″)&”円。更なる努力を期待します。”)))
ん?
この業務を丸投げされて、このなが〜い長い関数式を自分で正しく理解して、ルールが変わっても金額算定を間違わないように正しくメンテナンスしろ、と…
”モームリ!!! # ゚Д゚)·;’. ゴルァ!!!”と爆発して仕事を放り投げるのはちょっと待ってください。
ここで、A4セルの内容を、Advanced Formula Environment(AFE)のGridエリアで表示してみるとどうなるでしょうか?
【インデント例 ※上記サンプル動画の区切り位置とは若干異なります】
=IF(
OR(
D2 = "S", // 評価がS、または
E2 = "特別貢献" // 特別貢献があった場合
),
TEXT( // 計算したボーナス額をテキスト形式に整形
SUM( // ボーナス合計額の計算
VLOOKUP( // 基本ボーナス(部署と役職で決定)
B2, // 検索値:部署名 (B2)
部署別基本ボーナス, // 検索範囲:部署別基本ボーナス定義テーブル
IF( // 役職に応じた列番号の決定
C2 = "主任", 2,
IF(
C2 = "係長", 3,
IF(
C2 = "課長", 4,
5 // 課長以外(部長など)
)
)
),
FALSE // 完全一致
),
IF( // 評価ボーナス(個人評価D2に応じて加算/減算)
D2 = "S", 100000,
IF(
D2 = "A", 50000,
IF(
D2 = "B", 0,
IF(
D2 = "C", -30000,
0
)
)
)
),
IF( // 特別貢献ボーナス(E2が「特別貢献」なら加算)
E2 = "特別貢献", 50000,
0
)
),
"#,##0" // 数値の書式設定
) & "円!素晴らしい活躍でした。", // 計算結果とメッセージを結合
IF( // 上記OR条件以外の場合の次のIF文
AND( // 評価がAかつ、プロジェクト貢献度がある場合
D2 = "A",
F2 > 0
),
TEXT( // (ボーナス計算部分は上記と同じなので省略、コメントで示唆)
SUM(
VLOOKUP(B2, 部署別基本ボーナス, IF(C2 = "主任", 2, IF(C2 = "係長", 3, IF(C2 = "課長", 4, 5))), FALSE),
IF(D2 = "S", 100000, IF(D2 = "A", 50000, IF(D2 = "B", 0, IF(D2 = "C", -30000, 0)))),
IF(E2 = "特別貢献", 50000, 0)
),
"#,##0"
) & "円!来期も期待しています。",
IF( // 上記AND条件以外の場合の次のIF文
D2 = "B", // 評価がBの場合
TEXT( // (ボーナス計算部分は上記と同じなので省略、コメントで示唆)
SUM(
VLOOKUP(B2, 部署別基本ボーナス, IF(C2 = "主任", 2, IF(C2 = "係長", 3, IF(C2 = "課長", 4, 5))), FALSE),
IF(D2 = "S", 100000, IF(D2 = "A", 50000, IF(D2 = "B", 0, IF(D2 = "C", -30000, 0)))),
IF(E2 = "特別貢献", 50000, 0)
),
"#,##0"
) & "円。現状維持です。",
TEXT( // 上記いずれの条件も満たさない場合(評価C以下)
SUM( // (ボーナス計算部分は上記と同じなので省略、コメントで示唆)
VLOOKUP(B2, 部署別基本ボーナス, IF(C2 = "主任", 2, IF(C2 = "係長", 3, IF(C2 = "課長", 4, 5))), FALSE),
IF(D2 = "S", 100000, IF(D2 = "A", 50000, IF(D2 = "B", 0, IF(D2 = "C", -30000, 0)))),
IF(E2 = "特別貢献", 50000, 0)
),
"#,##0"
) & "円。更なる努力を期待します。"
)
)
)
いかがでしょうか?
自分が作ったものでもない、複雑怪奇な超長文Excel関数も、まるでプログラム・コードのように、適切に改行とインデント(字下げ)が行われ、入れ子の関係などがひと目でわかるように表現されます。
しかも、もしこの超長文Excel関数の一部に不具合があり、もしエラーが出てしまう数式だとしたら、想定される修正箇所に赤波線を付けて、アラート表示してくれるデバッガ機能もついているんですよ!!
これなら、どんな複雑怪奇な丸投げ案件を受けても、心折れることなく丁寧に対応することができそうですね(とはいえ、そんな複雑怪奇な仕事ばかりでは、やっぱり疲労困憊(こんぱい)してしまうでしょうが…泣;)
まとめ;Excel labsには、未来の標準ツールとなりそうな”神”機能がかくれてます!! 特にAdvanced Formula Environmentは、“未来”と言わず、今すぐに使いこなしたいワークシート解析ツールです
表示メニューや解説がすべて英語のアドインでは、最初は使いづらさがあるかもしれませんが、それで”お試し”をあきらめてしまうのはもったいない。
いま目の前で火をふいている(!?)日本語のExcelワークシート業務を、劇的に改善してくれる可能性を秘めているかもしれないアドインなんですよ。
Excelの未来がどうなっていくか、覗き見してみたいと思ったら、ぜひ Excel labs というアドインをインストールしてみてください。



その中の1つのメニューであるAdvanced Formula Environment(AFE)という機能については、「未来」などと言わないで、ぜひ「今すぐに」でも試してみてください。なが〜い長い意味不明のExcel関数が、どのような意味合いで書きつらねられているのかが、プログラム文を読むように理解できる”神”機能ですから。














