2016-06-16 13 views
0

ユーザーの入力に基づいて論理演算子変数(>、<、=)を作成しようとしています。セルのテキストをExcel式に追加するにはどうすればよいですか?

私の主な目標は、if文の論理式として文字列を追加することです。例えば、私は= A22 & A23 & A24)を取りたいと思っており、これは細胞A26で3> 2となる。

それから私はA26のテキストを取り、if文の中にそれを配置したい:私はちょうど> 2 3を入力した場合、私にはTrueを与えるだろう

= IF(A26、真、偽)。しかし、私はちょうど#VALUEを得る。私はそれをテキストに変換しようとしましたが、コピーして値だけで貼り付けましたが、常に#VALUEになります。

アイデア?

+0

Excelはテキスト文字列を数式として評価しません。そのためには、ユーザー定義関数を記述する必要があります。そして、私は 'A26'に' 3> 2'を入力することはできません。あなたの数式を 'TRUE'に戻してください。それはむしろ '#VALUE! 'を返します –

+0

私はちょうど= IF(3> 2、True、False)を返すと真を返すことを意味しました – ncastellucci

答えて

0

おそらく、VBA、Indirect()が動作しないAFAIKが必要です。

は、ブックモジュールにこれを入力します。

Function Eval(Ref As String) 
Application.Volatile 
Eval = Evaluate(Ref) 
End Function 

次に、あなたが=If(eval(A26),True,False)を行うことができます。

@Fionnualaありがとう)

+0

これは逐語的にコピーするつもりならばコメントになるでしょうXD – findwindow

+0

Holy Hallelujah Batman!出来た!誰か他の人の参照のためにあなたはEvalの名前を付ける必要があります。そうでなければあいまいなエラーになります – ncastellucci

+0

@findwindow - ああ、申し訳ありません、それとも、重複して質問する必要がありますか? – BruceWayne

関連する問題