ユーザー定義関数の作り方比較 ~ LAMBDA 関数 vs VBA
はじめに
この記事には2つのやり方を試してみて気がついた違いについてだけ書いてあります。
(他のいろんなサイトで書かれているため)具体的なやり方は書いてありませんので、あらかじめご了承ください。
Excel でセル【B4】に入力された金額とセル【C4】に入力された税率情報を元に消費税を計算する、
=ZEI(B4,C4)
のような関数を作るとき、以前は VBA でユーザー定義関数を作っていましたが、昨年 Excel 365版 で使えるようになった LAMBDA 関数を使ってもこのようなユーザー定義関数を作ることができるとのことなので、試してみました。
LAMBDA 関数を使うと、マクロ有効ブックとして保存する必要もなく、たしかにお手軽にできます。
ただし、関数を入力するときの使い勝手がイマイチなので、VBA で楽に作れる人なら LAMBDA 関数は要らないかな、って個人的には思いました。
関数の入力画面比較
LAMBDA 関数で作った入力画面はひとつの入力欄に B4, C4
と入力するやり方になります。このとき、カンマ ,
を手入力する必要があります。それに対して、VBA で作った場合はカンマの入力が不要で、入力欄に「金額」「税率」とわかりやすく表示されて、計算過程も確認できます。

でもよく考えてみると、請求書などを作る場合、いちど作ってしまえば数式をいじったり入力したりすることはほとんどなくなって、上記の画面を使うこともないんですね。
VBA で作ったときのようなちょっとじゃまくさい下図に示すセキュリティ警告のメッセージが表示されませんので、ほとんどのケースでは LAMBDA 関数で作るのがかんたんでいいのかもしれません。

そうなると、以下のように使い分けるのがいいのかなぁ…。
LAMBDA 関数を使いたいケース
請求書テンプレートのように関数の存在を意識せずにデータ入力だけ行う場合
↓
ちょっと待てよ、それってユーザー定義関数使う意味ある?
↓
まぁ、税率(法律)が変わったときに対応しやすいメリットはあるか。
↓
対応しやすさからいくと、数式を把握・編集しやすく、コメントも残せる VBA に軍配が上がるな。
VBA を使いたいケース
作った関数をいろいろな場所で数式作成に使いたい場合

あれこれ考えてみた結果、私はいままで通り VBA を使おうという結論になりました。
サイト運営者プロフィール

- 魚沼情報サービス・ベクトル公式テクニカルパートナー
-
【日本全国対応】WordPress のサイト制作、設定、カスタマイズ、トラブルでお悩み、お困りの方、ベクトル公式テクニカルパートナーがお手伝いいたします。
Lightning / VK Blocks / VK Filter Search のサポート、カスタマイズを得意としています。
遠方からのご依頼の場合、打ち合わせ・サポートを Zoom や電子メール・電話などを併用して行わせていただきます。
オンラインレッスン形式でのホームページ制作サポートも行っています。お客様ご自身でホームページを制作・運用する上でうまくいかない部分をサポートいたします。設定やカスタマイズを手伝ってもらいたい、同時に便利な使い方や設定方法、カスタマイズのやり方も知ることができたら...という方にご好評いただいています。
デザイナー様、制作業者様のサイト制作のお手伝いも数多く行っています。難しい部分のコーディング ( PHP / CSS / jQuery ) をやってほしい、いま人手が足りない等、お仕事の依頼をお待ちしています。
ご要望をうかがった上で費用見積り(無料)を提示させていただきますので、お気軽にお問い合わせください。
≫メールでのお問い合わせはこちら
最新の投稿
WordPress2025年2月1日スターターパックのアコーディオンのデザインを追加しました
WordPress2025年1月17日スターターパックのモバイルナビのデザインを2つ追加しました
WordPress2024年12月25日WordPress コアの詳細ブロックで作った排他的に開閉するアコーディオン
WordPress2024年12月14日VK Blocks Pro で投稿リストのカルーセル表示が超かんたんになった

Lightning テーマ使用
中小企業様、個人事業主様向け
最適なホームページ
を制作いたします
制作費用 | クオリティを落とさずに 価格を抑えたサイトを制作します |
必要十分 | お問い合わせフォーム、新着情報など 必要なものが最初から揃っています |
サポート | 1年間のサポートがついて安心 初めてでもホームページを活用できます |