カスタム関数を作成して呼び出す

カスタム関数を作成して呼び出す

Excel for Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010 その他…表示数を減らす

カスタム関数は、M 式言語を使用し、一連の入力値を受け取り、1 つの出力値を返します。 何度も再利用するロジックがある場合や、同じ変換セットを別のクエリまたは値に適用するロジックがある場合は、カスタム関数を作成してから、必要な場所と必要なときに関数を呼び出します。 カスタム関数を作成する方法は複数あります。

__

高度なエディターを使用して単純なカスタム関数を作成して呼び出す

次に示すのは、長年のプログラミングの習慣に従うカスタム関数の簡単な例です。

  1. 空のクエリを作成するには、[データのExcel選択]>[その他のソース>データの取得] >

**** を選択します

Power Query 左側の [クエリ] ウィンドウで空白の場所を右クリックし、[新しいクエリ] を選択し、[空のクエリ] >その 他の>選択します

  1. 左側の [クエリ] ウィンドウで、名前をダブルクリックし、新しい空のクエリの名前を "HelloWorld" に変更します。

  2. 新しいクエリを選択し、[ ホーム] > エディター] を選択します

  3. テンプレートのスターター コードを次のコードに置き換えます。

let
HelloWorld = () => ("Hello World")
in
HelloWorld

  1. [完了] を選択します。

  2. クエリ "HelloWorld" をカスタム関数に変更しました。 関数アイコンは 左側に表示されます。

  3. 関数を呼び出す場合は、関数を選択し、[データ プレビューで呼び出 す] を選択します。

  1. 関数の結果はデータ プレビューに表示され、[クエリ] ウィンドウに既定の名前の [呼び出された関数] を含むクエリとして追加されます 。 "HelloWorldResult" など、わかりやすい名前に変更できます。

  2. そのクエリを選択し、[ホーム]>閉じる] & み込み] を選択して、ワークシートに結果を表示します。

Results

__

高度なエディターを使用してパラメーターを持つカスタム関数を作成して呼び出す

次の例は、パラメーターをカスタム関数に渡して 10 進数を 16 進数に変換する方法を示しています。

  1. 空のクエリを作成するには、[データのExcel選択]>[その他のソース>データの取得] >

**** を選択します

Power Query 左側の [クエリ] ウィンドウで空白の場所を右クリックし、[新しいクエリ] を選択し、[空のクエリ] >その 他の>選択します

  1. 左側の [クエリ] ウィンドウで、新しい空のクエリの名前を "MyHex" に変更します。

  2. 新しいクエリを選択し、[ ホーム] > エディター] を選択します

  3. テンプレートのスターター コードを次のコードに置き換えます。

let
MyHex = (parameter1) => Number.ToText(parameter1,"X")
in
MyHex

  1. [完了] を選択します。

  2. クエリ "MyHex" をカスタム関数に変更しました。 関数アイコンは 左側に表示されます。

  3. 関数を呼び出す場合は、関数を選択し、[データ のプレビュー] で [parameter1] ボックスに数値を入力し、[呼び出し] を 選択します

  1. 関数の結果はデータ プレビューに表示され、[クエリ] ウィンドウに既定の名前の [呼び出された関数] を含むクエリとして追加されます 。 "MyHexResult" など、わかりやすい名前に変更できます。

  2. そのクエリを選択し、[ホーム]>閉じる] & み込み] を選択して、ワークシートに結果を表示します。

Results

__

カスタム関数を呼び出して列を追加する

少なくとも 1 つのパラメーターを持つ関数を作成した場合は、カスタム関数として呼び出して、テーブル内の行ごとに新しい列と新しい値を作成できます。

  1. クエリを開く場合は、Power Query Editor から以前に読み込まれたクエリを探し、データ内のセルを選択し、[クエリ] を選択して 、[編集]>します 。 詳細については、「クエリを target=”_blank” title=”作成、編集、読” rel=”noopener”>作成、編集、読み込む 」を参照Excel (Power Query) を参照してください。

この例では、クエリには、数値データ型の少なくとも 1 つの列が 必要です。

  1. 「Advanced Editor を使用してパラメーターを持つカスタム関数を作成して呼び出す」セクションで説明したように、"MyHex" カスタム関数を作成します。

  2. クエリで、[列の追加]を選択し >****関数を呼び出します 。 [ カスタム関数の呼び出し ] ダイアログ ボックスが表示されます。

  3. [新しい列名] ボックスに、新しい列名 ("HexConvert" など) を 入力します。

  4. [関数クエリ] ドロップダウンから定義済みのカスタム関数の名前を選択します。 この例では、[MyHex] を選択します。

  5. カスタム関数はパラメーターを参照します。パラメーターが表示されます。

  6. 関数のパラメーターとして 、数値 データ型の列を選択します。

  1. [OK] を選択します。

****結果** **

パラメーターとして入力した整数列の 16 進数の値を示す新しい列が作成されます。

関連項目

target=”_blank” title=”Power Query for Excel ヘルプ” rel=”noopener”>Power Query for Excel ヘルプ

target=”_blank” title=”Power Query の数式を作成Excel” rel=”noopener”>Power Query の数式を作成Excel

target=”_blank” title=”パラメーター クエリを作成する” rel=”noopener”>パラメーター クエリを作成する

target=”_blank” title=”クエリを管理する” rel=”noopener”>クエリを管理する

Power Query M 関数について (docs.com)

カスタム関数の使用 (docs.com)

上部へスクロール