Excel カスタム関数の開発を始めるGet started developing Excel custom functions

カスタム関数を使用すると、開発者は、JavaScript または Typescript でアドインの一部として定義することによって、Excel に新しい関数を追加できるようになります。With custom functions, developers can now add new functions to Excel by defining them in JavaScript or Typescript as part of an add-in. Excel ユーザーは、Excel の任意のネイティブ関数の場合と同じように、カスタムSUM()関数にアクセスできます。Excel users can access custom functions just as they would any native function in Excel, such as SUM().


  • Node.js (バージョン 8.0.0 以降)Node.js (version 8.0.0 or later)

  • GitGit

  • 最新バージョンの YeomanOffice アドイン用の Yeoman ジェネレーター。これらのツールをグローバルにインストールするには、コマンド プロンプトから次のコマンドを実行します。The latest version of Yeoman and the Yeoman generator for Office Add-ins. To install these tools globally, run the following command via the command prompt:

    npm install -g yo generator-office


    以前に一度使用したバージョンのジェネレーターをインストールしていた場合でも、パッケージを npm から最新バージョンに更新することをお勧めします。Even if you've previously installed the Yeoman generator, we recommend you update your package to the latest version from npm.

  • Windows 上の Excel (バージョン1904以降、Office 365 サブスクリプションに接続されている) または web 上の ExcelExcel on Windows (version 1904 or later, connected to Office 365 subscription) or Excel on the web
  • Excel カスタム関数は Office on Mac でサポートされています (Office 365 サブスクリプションに接続されています)。また、このチュートリアルへの更新はまもなく公開されます。Excel custom functions are supported in Office on Mac (connected to Office 365 subscription) and an update to this tutorial is forthcoming.


Excel カスタム関数は Office 2019 (1 回限りの購入) ではサポートされていません。Excel custom functions are not supported in Office 2019 (one-time purchase).

最初のカスタム関数プロジェクトを作成するBuild your first custom functions project

はじめに、Yeoman ジェネレーターを使って、カスタム関数プロジェクトを作成します。To start, you'll use the Yeoman generator to create the custom functions project. これにより、カスタム関数のコーディングを開始するための正しいフォルダー構造、ソース ファイル、依存関係によるプロジェクトがセットアップされます。This will set up your project with the correct folder structure, source files, and dependencies to begin coding your custom functions.


現在、アドインプロジェクトの名前またはアドインプロジェクトを作成するフォルダーパス内の任意の場所にスペースは使用できません。Spaces are not currently permitted in the add-in project name or anywhere in the folder path where you create your add-in project. アドインのプロジェクト名またはフォルダーのパスにスペースが含まれている場合、またはnpm start npm run start:webを実行してもローカル web サーバーは開始されません。If your add-in's project name or folder path contains spaces, the local web server won't start when you run npm start or npm run start:web. この制限は一時的なものであり、元の問題が Office アドイン用のごみ箱のジェネレーターで解決されると削除されます。This limitation is temporary and will be eliminated when the underlying issue is resolved in the Yeoman generator for Office Add-ins.

  1. 任意のフォルダーで、次のコマンドを実行し、次のようにプロンプトに応答します。In a folder of your choice, run the following command and then answer the prompts as follows.

    yo office
    • Choose a project type: (プロジェクトの種類を選択) Excel Custom Functions Add-in projectChoose a project type: Excel Custom Functions Add-in project
    • Choose a script type: (スクリプトの種類を選択) JavaScriptChoose a script type: JavaScript
    • What would you want to name your add-in?: (アドインの名前を何にしますか)What do you want to name your add-in? starcount

    カスタム関数の Office アドイン用の Yeoman ジェネレーターのプロンプト

    Yeoman ジェネレーターはプロジェクト ファイルを作成し、サポートしているノード コンポーネントをインストールします。The Yeoman generator will create the project files and install supporting Node components.

  2. [ごみ箱] ジェネレーターでは、プロジェクトの処理に関するいくつかの命令がコマンドラインに表示されますが、それらは無視して、手順に従って続行します。The Yeoman generator will give you some instructions in your command line about what to do with the project, but ignore them and continue to follow our instructions. プロジェクトのルート フォルダーに移動します。Navigate to the root folder of the project.

    cd starcount
  3. プロジェクトをビルドします。Build the project.

    npm run build


    開発の最中でも、OfficeアドインはHTTPではなくHTTPSを使用する必要があります。Office Add-ins should use HTTPS, not HTTP, even when you are developing. npm run buildの実行後に証明書をインストールするように指示が出された場合は、Yeomanジェネレーターが提供する証明書をインストールする手順に従ってください。If you are prompted to install a certificate after you run npm run build, accept the prompt to install the certificate that the Yeoman generator provides.

  4. Node.js で実行しているローカル Web サーバーを開始します。Start the local web server, which runs in Node.js. Web または Windows 上の Excel でカスタム関数アドインを試すことができます。You can try out the custom function add-in in Excel on the web or Windows. アドインの作業ウィンドウを開くように求められる場合がありますが、これはオプションです。You may be prompted to open the add-in's task pane, although this is optional. アドインの作業ウィンドウを開かなくても、カスタム関数を実行できます。You can still run your custom functions without opening your add-in's task pane.

Windows の Excel でアドインをテストするには、次のコマンドを実行します。To test your add-in in Excel on Windows, run the following command. このコマンドを実行すると、ローカル web サーバーが起動し、アドインが読み込まれた状態で Excel が開きます。When you run this command, the local web server will start and Excel will open with your add-in loaded.

npm run start:desktop

あらかじめ用意されているカスタム関数を試すTry out a prebuilt custom function

[ごみ箱] ジェネレーターを使用して作成したカスタム関数プロジェクトには、 /src/functions/functions.jsファイル内で定義されているいくつかのあらかじめ用意されたカスタム関数があります。The custom functions project that you created by using the Yeoman generator contains some prebuilt custom functions, defined within the ./src/functions/functions.js file. プロジェクトのルートディレクトリの ./manifest¥ xmlファイルは、すべてのカスタム関数がCONTOSO名前空間に属することを指定します。The ./manifest.xml file in the root directory of the project specifies that all custom functions belong to the CONTOSO namespace.

Excel ブックで、次の手順をADD実行してカスタム関数を試してみます。In your Excel workbook, try out the ADD custom function by completing the following steps:

  1. セルを選択し、 =CONTOSOテキストを入力します。Select a cell and type =CONTOSO. CONTOSO 名前空間にあるすべての関数がオートコンプリート メニューに一覧表示されます。Notice that the autocomplete menu shows the list of all functions in the CONTOSO namespace.

  2. セルにCONTOSO.ADD=CONTOSO.ADD(10,200)を入力し10200 enter キーを押して、数値と入力パラメーターを使用して、関数を実行します。Run the CONTOSO.ADD function, using numbers 10 and 200 as input parameters, by typing the value =CONTOSO.ADD(10,200) in the cell and pressing enter.

ADD カスタム関数によって、入力パラメーターとして指定した 2 つの数字の合計が計算されます。The ADD custom function computes the sum of the two numbers that you specify as input parameters. =CONTOSO.ADD(10,200)」と入力して Enter キーを押すと、210 という結果が生成されるはずです。Typing =CONTOSO.ADD(10,200) should produce the result 210 in the cell after you press enter.

次のステップNext steps

おめでとうございます。 Excel アドインでカスタム関数が正常に作成されました。Congratulations, you've successfully created a custom function in an Excel add-in! 次に、ストリーミングデータ機能を使用して、より複雑なアドインをビルドします。Next, build a more complex add-in with streaming data capability. 次のリンクでは、「カスタム関数を使用した Excel アドインのチュートリアル」の次の手順を実行します。The following link takes you through the next steps in the Excel add-in with custom functions tutorial.

関連項目See also