私は Excel 2010 を使用しています。1 つのセルに定義された数式を、ユーザー定義関数のように使用したいと考えています。
例: A1 に次のようなものを入力します (実際の構文ではないことは承知しています)。
= 3 * Input + 15
そして、B1 では次のように使用します。
= A1(10)
C1では次のようになります:
= A1(20)
VBA 関数を記述せずに、この方法で実行したいのですが、可能ですか? 可能であれば、どのようにすればよいですか?
ありがとう。
答え1
1 つの解決策は、Excel のデータ テーブル機能を使用することです。データ テーブルは、使用可能な What-If 分析オプションの 1 つです (Excel 2007 で使用できます。確認はできませんが、Excel 2010 でも使用できると思います)。以下は、この機能の使用方法の例です。Microsoft ヘルプ ファイルの説明があまりないため、役に立つと思います。
あなたの例を使うと、式 = 3*を計算したいのです。バツ+15のいくつかの異なる値バツ. はB1
ダミーの値を保持しますバツに以下を入力しますC2
。
=3*B1+15
B3以下には、バツテストしたい値。
これでデータ テーブルのフレームワークができたので、What-if 分析を実行できます。テーブル フレームワーク全体 (B2:C8
この例では、値と数式を含む) を選択します。次に、[データ] リボンで、[What-if 分析] -> [データ テーブル...] を選択します。ダイアログで、数式が参照するダミー セルのアドレスを列入力フィールドに入力します (テーブルが垂直ではなく水平に設定されている場合は、行入力フィールドにアドレスを入力する必要があります)。
[OK] をクリックし、各入力値に対して適切な出力値がテーブルに入力されていることを確認します。
このソリューションはUDFが提供する柔軟性を提供しないかもしれませんが、基本的にはあなたが求めていることを実現していると思います。あなたの例の数式はシンプルで、下方向に入力することもできますが、このように数式を使用したい理由があると思います。データテーブルは、ダミー値に依存するデータが多数あり、異なる値を評価する数式がその依存データを参照している状況に最適です。たとえば、この機能を使用して、ROC曲線異なる閾値での感度と特異度を迅速に計算します。
答え2
数式で定義済みの名前を使用してみてください。数式を定義すると、名前で繰り返し使用できます。この機能は、数式の再利用を容易にするために追加されました。
方法については、MS Officeサイトへのリンクをご覧ください。数式で名前を定義し使用する。
答え3
新しいExcel関数では、Excelカスタム関数アドインを作成できます。これにより、次の定義が可能になります。Node.JS 関数再利用します。