こんにちは。テックブログの萱場です。
今回は、スプレッドシートの名前付き関数に関して解説します。
名前付き関数とは?
簡単に説明すると、自分で複数の関数を組み合わせていた数式を、引数などを設定して一つのオリジナル関数にすることができるというものです。
作成した名前付き関数は、インポート機能を使用することで、他のスプレッドシートにも読み込んで使用することが可能です。
名前付き関数を使用すると、スプレッドシートの組み込みの数式を使用するカスタム関数を作成できます。名前付き関数をインポートする機能により、複数のシートで名前付き関数を使い回すことができます。
https://support.google.com/docs/answer/12504534?hl=ja
私の場合、IFS()のような条件分岐を多用した数式を使ったりしているのですが、これを名前付き関数にすると、計算式が入っているセルを消されてもリカバリーが簡単ですし、利便性が向上します。
デメリットとしては、作った本人以外に対して、関数の中身がブラックボックス化しやすいということでしょうか。
しかし、IFにIFSを入れ子上にして、、、みたいな関数に関しては、もう一度書くのだけでも嫌になってしまうので、便利な機能だと思います。
名前付き関数の作り方
それでは、簡単な名前付き関数を作ってみたいと思います。

今回は、上記のような税込金額を計算するカスタム関数を作成してみたいと思います。

ツールバー→データ→名前付き関数と進みます。

するとサイドパネルが現れるので、下部の新しい関数を追加を選択します。
※すでに他のシートで作成した名前付き関数をインポートする場合は、関数をインポート右下の関数をインポートを選択し、指示に従っていけばインポートできます。

上から順に項目を入力します。次へと進みます。
以下項目の説明です。
項目 | 説明 |
関数名 | 今から作る関数に名前です。 |
関数の説明 | 関数の説明を書きます。 セルの入力時にヘルプとして出てきます。 |
引数のプレースホルダ | 引数に名前をつけます。(日本語不可) ここで入力した値を次の数式の定義の項目でも使います。 |
数式の定義 | 実際に行う処理(数式)を入力します。 |
ここでは、プレースホルダに”price”、”rate”と入力して、数式の定義では、最初の画像のセルの参照を単純にプレースホルダに置き換えた内容を入力しています。

ここでは、関数のヘルプページに出てくる補足説明を入力します。(全て省略可)
入力が完了したら、作成をクリック。
これで名前付き関数の作成は完了です。
名前付き関数をつかってみる

実際に名前付き関数を使うのは、セルに直接関数を入力するだけです。”=SET”と入力するだけで候補が表示されるので、関数名をつけてしまった場合でも便利です。

先ほど入力した情報がガイドとして表示されるので使用するユーザーからみてもわかりやすいです。

こんな感じで、名前付き関数を使用することができました。
今回作った名前付き関数は、わざわざ名前付きにする必要もないかもしれませんが、軽減税率などのを判断する項目と引数を追加して、IF関数などを使用していくと名前付き関数の効果をもっと得られそうですね。
最後に
最後までお読みいただきありがとうございました。
今まで、GASでカスタム関数を作ったりしていましたが、他のシートへのインポートも簡単なので、これからどんどん名前付き関数を作成していきたいと思います。
株式会社デザインXでは、アパレル業界のお客様に向けて、ECサイトや業務基幹システム(ERP)の開発・導入支援を行っております。ご興味をお持ちの方は、是非下記リンクよりお気軽にお問い合わせください。
また、株式会社デザインXでは、ソフトウェアエンジニア・社内SEなど、共に働く仲間を募集しています。テクノロジーでアパレル業界のBtoBビジネスを変えたいという熱意をお持ちの方、お待ちしております。ご興味のある方は、以下のリンクからお問い合わせください!