Excel の 1 つのセルに評価されていない数式を保持し、別のセルで評価するにはどうすればよいですか?

Excel の 1 つのセルに評価されていない数式を保持し、別のセルで評価するにはどうすればよいですか?

Excel に 2 つのセルを作成したい:

最初の式 (fx A1) では、次のような方程式を、2 + 2
2 番目の式 (fx A2) では、解 = 4 をそれぞれ取得します。

どうすればいいですか?

答え1

まず、標準モジュールに次の UDF を入力します。

Public Function eval(strng As String) As Variant
    eval = Evaluate(strng)
End Function

次にA2に次のように入力します。

=評価(A1)

ユーザー定義関数 (UDF) はインストールも使用も非常に簡単です。

  1. ALT-F11でVBEウィンドウが開きます
  2. ALT-I ALT-Mで新しいモジュールを開く
  3. 内容を貼り付けてVBEウィンドウを閉じます

ワークブックを保存すると、UDF も一緒に保存されます。2003 以降のバージョンの Excel を使用している場合は、ファイルを .xlsx ではなく .xlsm として保存する必要があります。

UDF を削除するには:

  1. 上記のようにVBEウィンドウを開きます
  2. コードを消去する
  3. VBEウィンドウを閉じる

Excel から UDF を使用するには:

=私の関数(A1)

マクロ全般の詳細については、以下を参照してください。

http://www.mvps.org/dmcritchie/excel/getstarted.htm

そして

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

そして

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

UDFの詳細については

これを機能させるにはマクロを有効にする必要があります

答え2

ワークシート関数を使用しても、希望どおりの結果を得られない場合があります。ここで回答これは設計によるものです。

これは VBa で実現できます (投稿には VBa を使用するかどうかは記載されていないため、使用しないと思います)。または、could古い XLM GET.FORMULA() を探しますが、VBa の方が優れています (XLM については何も知りません)。

次のようなことができるかもしれません

=FORMULATEXT(formulaCell)      

FORMULATEXT requires the morefunc.xll add-in. 

ソース


ただし、回避策として、質問の正確な例に基づいて、次の操作を実行できます(機能します)。

=SUM(LEFT(A1,1),RIGHT(A1,1))

これは、数式が N+N (N は 1 桁) の場合にのみ機能しますが、データの行数によっては、ニーズに合う可能性があります。

ここに画像の説明を入力してください

関連情報