Skip to main content
QUICK REVIEW

[論文レビュー] User Defined Spreadsheet Functions in Excel

Jerzy Tyszkiewicz, Dermot Balson|arXiv (Cornell University)|Nov 28, 2012
Spreadsheets and End-User Computing参考文献 5被引用数 5
ひとこと要約

この論文は、VBAを使用せずに、Excelにおけるユーザー定義スプレッドシート関数(UDSFs)を実装するための新規手法を提示する。本手法では、繰り返し実行されるワークシート論理をシナリオ分析テーブル(what-if data tables)を用いて関数として実行する。このアプローチにより、反復的テーブル評価を通じて宣言的で再利用可能な関数が可能となり、プログラミング経験のないユーザーの入り口を下げつつ、スプレッドシートの整合性を維持する。

ABSTRACT

Creating user defined functions (UDFs) is a powerful method to improve the quality of computer applications, in particular spreadsheets. However, the only direct way to use UDFs in spreadsheets is to switch from the functional and declarative style of spreadsheet formulas to the imperative VBA, which creates a high entry barrier even for proficient spreadsheet users. It has been proposed to extend Excel by UDFs declared by a spreadsheet: user defined spreadsheet functions (UDSFs). In this paper we present a method to create a limited form of UDSFs in Excel without any use of VBA. Calls to those UDSFs utilize what-if data tables to execute the same part of a worksheet several times, thus turning it into a reusable function definition.

研究の動機と目的

  • 従来VBAプログラミングを必要としているため、Excelにおける再利用可能な関数作成の高い入り口障壁を解消すること。
  • VBAを完全に回避し、Excelのネイティブ機能のみを用いてユーザー定義スプレッドシート関数(UDSFs)を実装すること。
  • Excelのスプレッドシート環境内に宣言的で関数型プログラミングのモデルを提供すること。
  • 複雑なスプレッドシート論理を再利用可能な関数としてカプセル化することで、使いやすさと保守性を向上させること。
  • UDSFsが、データテーブルを用いた式の反復実行によって実装可能であることを示すこと。

提案手法

  • Excelのシナリオ分析テーブル機能を活用し、入力値を変えてワークシート式を複数回実行すること。
  • ワークシートを構造化し、1つのセルに関数論理を格納し、入力値をデータテーブルの入力セルから渡すこと。
  • データテーブルの出力カラムを活用して、各評価の結果をキャプチャし、関数呼び出しを効果的にシミュレートすること。
  • データテーブルの出力を、ユーザー定義関数の戻り値として扱い、反復処理の詳細を抽象化すること。
  • 読みやすさと再利用性を高めるために、名前付き範囲と構造化参照を関数インターフェースに活用すること。
  • 関数論理を自己完結的なワークシート領域に隔離することで、副作用を回避し、恒等的(idempotent)な動作を保証すること。

実験結果

リサーチクエスチョン

  • RQ1VBAを使用せずに、Excelでユーザー定義スプレッドシート関数を実装できるか?
  • RQ2Excelの既存のシナリオ分析ツールを用いて関数的動作をエミュレートすることは可能か?
  • RQ3このアプローチは、VBAコードよりも保守が簡単な再利用可能で宣言的な関数をサポートできるか?
  • RQ4ネイティブなVBA UDFと比較して、この方法のパフォーマンスと使いやすさのトレードオフは何か?
  • RQ5複雑なスプレッドシート環境において、エラーと副作用を最小限に抑えるために、この方法をどのように構造化できるか?

主な発見

  • 本手法により、VBAを必要とせず、ユーザー定義関数をExcelで実装可能となり、非プログラマーが高度な機能を利用できるようになった。
  • データテーブルを用いて関数呼び出しをシミュレートすることで、宣言的式を再利用可能な関数抽象化に変換できる。
  • この手法は、標準的なExcel機能と互換性があり、VBA開発の複雑さとリスクを回避する。
  • 構造化されたデータテーブルのレイアウトにより、複数の入力および出力が可能となり、複雑な論理のカプセル化が実現できる。
  • このアプローチにより、Excelの組み込み機能のみで関数型プログラミングのパターンをエミュレートできることが示された。
  • 本手法は、Excelの計算能力を拡張するための軽量で安全かつ保守性の高いVBAの代替手段を提供する。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。