どうしても削除できないスクリプトがあったことはありませんか?Excel on Webなら、まさにそれが可能です

Table of Contents

どうしても削除できないスクリプトがあったことはありませんか?Excel on Webなら、まさにそれが可能です

Microsoft は、Web 上の Excel に Office Scripts を導入し、よく使用されている VLOOKUP の代わりとなる XLOOKUP 関数を、スプレッドシート プログラムの Web 版とデスクトップ版の両方に展開しました。

ExcelはMicrosoftにとって戦略的なアプリケーションであり、企業がWindowsにこだわる理由の一つとなっています。OfficeアプリのWeb版は、2008年のMicrosoft Professional Developers Conferenceで(熱狂的な支持は得られず)発表されました。当初の構想は、ドキュメントの修正や共同作業に適した軽量版ではあるものの、本番環境と競合するものではないというものでした。Microsoftは、当時既にGoogle Docsを展開していたGoogleに対抗しつつ、デスクトップビジネスを損なわないようにしようとしていました。

それ以来、事態は予想通り進展しました。デスクトップ版Officeは順調に発展してきましたが、今日のWeb版はより幅広い機能をカバーしています。Microsoftは包括的な違いのリストを公開していませんが、ここに出発点があります。

Web版には依然として問題が残っています。例えば、Visual Basic for Applications(VBA)マクロや、Officeアプリケーションをプログラムで制御できるCOMオートメーションなどのデスクトップ固有の技術が利用できません。また、スパークライン(ミニチャート)やExcelの一部の高度なチャートタイプなど、オンラインでは動作しない機能もあります。

VBA はオンラインでは決して動作しない COM テクノロジですが、Microsoft は現在、Excel のプレビューとして Office Scripts を導入しており、名前から判断すると、他のアプリケーションにも登場する可能性があります。

Web 用 Excel のシンプルな Office スクリプト

Web 用 Excel のシンプルな Office スクリプト

Office Scripts を使用すると、「Excel の操作を複数のブックやワークシートで記録および再生できます」。スクリプトはドキュメントには保存されず、ユーザーのオンライン Excel 環境の一部となります。スクリプトは JavaScript または TypeScript で記述され、Office JavaScript API の Excel 部分(Office アドインで使用されるもの)を使用しますが、イベントはサポートされていません。

Office アドインは長年にわたって使用されており、デスクトップと Web で動作し、Office スクリプトよりも多くの機能を備えていますが、開発者を対象としており Web 展開が必要です。一方、Office スクリプトはすべてのユーザーがアクセスできます。

Office スクリプトで何ができるでしょうか?

API は広範囲にわたりますが、私たちが遭遇した問題の 1 つは、アクションを記録するときに相対参照 (デスクトップ Excel にある) を使用するオプションがないため、すべてのセル参照が絶対値になることです。

「現在のセルから開始して実行する」というオプションはありません。スクリプトを編集することで、この問題を回避できる可能性があります。サンプルはまだ少ないですが、近いうちに増えるでしょう。典型的なケースとしては、生のデータを定期的に入力し、毎回同じ手順で適切にフォーマットする必要がある場合が挙げられます。

現在、Office Scriptsを利用するにはOffice 365 E3またはE5のサブスクリプションが必要で、管理者による有効化が必要です。他のサブスクリプションタイプは後日対応予定です。Microsoftはまた、「Office Scriptsを他のExcelエンドポイントにも展開していく予定」と述べ、デスクトップ版の提供を示唆しています。Microsoftの開発ライターであるAlex Jerabek氏は、「VBAは依然としてデスクトップ版Excelでのタスク自動化に最適なソリューションです。最終的には、Office Scriptsプラットフォームの機能を拡張し、VBAが現在提供している機能と同等にしたいと考えています」と述べています。

調べてみよう

Microsoftは、新しいExcel関数であるXLOOKUPの一般提供も発表しました。これはVLOOKUPの代替となるもので、MicrosoftによるとVLOOKUPは「SUMとAVERAGEに次いで3番目に多く使用されている関数」であるため、Excelの世界では大きな意味を持ちます。このテレメトリは、きっと何らかの役に立つはずです。

VLOOKUPとXLOOKUPはどちらも、Excelワークシートをクエリして追加データを検索するという考え方です。例えば、Excelの列に製品の価格や在庫の3つの値がある場合、品番からその値を検索できます。VLOOKUPは単一の値を返しますが、XLOOKUPは配列を返すため、価格と在庫の両方を返すことができます。

垂直方向と水平方向の両方の一致も可能なため、HLOOKUPの代替としても使えます。詳細はこちらでご覧いただけます。VLOOKUPの制限を回避するためにMATCH関数を使った魔法のような操作に慣れている方なら、XLOOKUPもきっと気に入るでしょう。

ネストされたルックアップを示す XLOOKUP の例

ネストされたルックアップを示す XLOOKUP の例

これの難点は、多くの Excel 数式と同様に、関数をネストし始めるとすぐに読みにくくなることです。

SUM(XLOOKUP(B3,B6:B10,E6:E10):XLOOKUP(C3,B6:B10,E6:E10))

...(公式サンプルから)は美しくありません。もちろん、代わりに実際のデータベースマネージャーを使用することもできますが、Excelの利便性と使いやすさは、今後も人気を維持することは間違いありません。®

Discover More