0

私はスプレッドシートに取り組んでおり、次のようなことをしようとしています。

Price Returned      Net Profit

22                  22
45                  45
7                   7
25+25               50

データは、特定のアイテムの戻り値を示すために、式として入力されています。私が理解できないのは、次のセルを最初のセルの式の値と等しくする方法です。つまり、セルが「=22」および「=25+25」であるかのようになります。どんな助けでも大歓迎です。

4

2 に答える 2

2

あなたの質問は、このSOの質問と@iDevlopの回答の記憶を引き起こし、それがこの投稿につながりました(Stephen BullenのWebページへのリンク切れがあります)。

基本的に、Evaluate関数を使用できます。これは、実際には文書化されていないMicrosoftXLMマクロです。定義された名前で使用する必要があります。そうしないと、「関数が無効です」というエラーメッセージが表示されます。また、実際にはマクロであるため、ブックを.xlmとして保存し、マクロを有効にして機能させる必要があります。それがすべてうまくいく場合は、次のようにします(うまくいかない場合は、上記のSOの質問に対する受け入れられた回答、またはこの回答に取り組んでいる間にポップアップした以下の@DanielCookの回答をご覧ください) )::

  1. 計算を含むワークシートでB1を選択します(この例ではSheet1)
  2. Ctrl-F3をクリックして、Excelの名前マネージャーを開きます
  3. 新しい名前を作成し、それを呼び出しますEvaluateCellToLeft
  4. スコープをSheet1に設定します
  5. 参照ボックスに、次のように入力します=evaluate(Sheet1!A1)

Excel2010では次のように表示されます。

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

ここで、列Bに。と入力し=EvaluateCellToLeftます。これは数式ではなく名前付きの範囲であるため、最後に括弧はありません。

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

于 2012-12-24T03:16:11.973 に答える
2

そのような単純なことについては、UDF を作成できます。

Function Evalu8(ByVal S As String) As String
    Evalu8 = Evaluate(S)
End Function

と呼ばれる=Evalu8(A4)

残念ながら、それを行う組み込みのワークシート関数はありませんが、VBA のEvaluate 関数を使えば手間が省けます。

于 2012-12-24T03:09:07.287 に答える