Excel ユーザー定義関数の作り方

Excelで使う「ユーザー定義関数」とは、自分で「関数」を作って使うことが出来るということです。

簡単な数式だとセルに直接入力した方がいいんですが、数式が複雑になってきたり、頻繁に使うものは「ユーザー定義関数」に登録しておくと、めちゃくちゃ便利です。

< スポンサーリンク >





ユーザー定義関数の作り方

開発]タブ>[コードの表示]をクリックします。

[開発]タブ>[コードの表示]をクリック

 

左側のプロジェクトエクスプローラーの今開いているのブックを右クリックし、[挿入]>[標準モジュール]をクリックします。

[挿入]>[標準モジュール]をクリック

 

今回は、『渡されてきたセルの値の先頭に「ユーザー定義関数:」という文字をつけて返す』という自作関数にしてみます。

下記のように書いて保存します。

1行目:「User_Func(Rng As Range)」の「Rng」が渡されてきたセル
2行目:「User_Func」が返される値

Function User_Func(Rng As Range) As Variant
    User_Func = "ユーザー定義関数:" & Rng.Value
End Function
ユーザー定義関数コード

A1」セルに文字を入力しておき、「B1」セルにユーザー定義関数の「User_Func」を使ってみます。

ユーザー定義関数使ってみます

B1」セルに

=User_Func(A1)

と入力します。

ユーザー定義関数入力

 

B2」セルにユーザー定義関数の「User_Func」の結果が表示されました。

ユーザー定義関数結果

 

どのブックからも使えるようにアドインに登録する

ユーザー定義関数を作ったら、作ったブックでしか使えません。

どのブックからも使えるようにするには、アドインに登録しておくと便利です。

以下は、Excel2021での操作です。

ファイル]をクリックします。

[ファイル]をクリック

 

このPC]をダブルクリックします。

[このPC]をダブルクリック

 

ファイルの種類」を「Excel アドイン(*.xlam)」を選択し、「ファイル名」を入力し、[OK]をクリックします。

※ファイル名はユーザー定義関数と同じにするとわかりやすいです。

「ファイル名」を入力し、[OK]

  

ファイル]をクリックします。

[ファイル]をクリック

 

その他]>[オプション]をクリックします。

[その他]>[オプション]をクリック

 

アドイン]をクリックし、「管理(A):Excelアドイン」の[設定]をクリックします。

[アドイン]をクリックし、「管理(A):Excelアドイン」の[設定]をクリック

 

保存したファイル名にチェックを入れ、[OK]をクリックします。

[OK]をクリック

 

これで、どのブックからもユーザー定義関数が使えるようになりました。

ユーザー定義関数

ユーザー定義関数でできないこと(注意点)

ユーザー定義関数では、VBAが使えるので何でもできちゃう気がしますよね。

しかし、セル内の数式から呼び出されるユーザー定義関数では次のことはできません。

  • スプレッドシートでのセルの挿入、削除、または書式の設定。
  • 別のセルの値の変更。
  • ブックでのシートの移動、名前の変更、削除、または追加。
  • 計算方法や画面表示など、環境オプションの変更。
  • ブックへの名前の追加。
  • プロパティの設定およびほとんどのメソッドの実行。

 

< スポンサーリンク >※広告先のお問い合わせは広告主様にお願いします