Excel Tips by pPoy

トップへ←Top    VBAへVBA  VBA基礎へVBA 基礎  一般へ一般  

名前 文字列を式に変換する方法 (単一セル)
《名前定義・Excel4.0マクロ》 (Excel97,2000,2002)
Excel で計算式をセルに入力する場合は、式の最初に 「=(イコール)」 を入力します。
もしくは、「+(プラス)」 か 「-(マイナス)」 記号に続けて式を入力します。

ところが、単純に 「100*1.5」 の様に入力すると、
漏れなく文字列として判断され、式として計算してくれません。
文字列を数式に変換して計算させるためは、Excel 4.0 マクロ関数を名前として定義して使用します。
文字列

←のようなシートがあります。

A1 セルには、文字列としての式が入力されています。
この隣の B1 セルに計算結果を表示したいと思います。
式を入力したい 「B1」 セルを選択後、メニューから、挿入−名前−定義を押します。

名前の挿入
この頁のTOPへTop
表示された名前の定義ボックスの 「名前」 欄に、定義する名前を入力ます。
この例では、「wsEval」 としました。

下の 「参照範囲」 欄には、以下のコードをそのまま入力してくだい。
  =EVALUATE("="&A1)

名前の定義

入力後、「OK」 を押して閉じます。

※ 必ず B1 セルを選択してから
名前を挿入してください。
名前を入力

追加した名前を、
B1 セルに式として入力します。

この例では、「=wsEval」 と入力します。

≪結果≫
結果

文字列を式として評価し、
無事に計算できました。
≪注意≫
  • この式は、名前を設定したシートでのみ使用可能です。
    別のシートで使用したい場合は、再度名前を定義する必要があります。
    名前は、シート名も含めて定義されているためです。

  • 同一シート上では、通常の式同様にコピーすることができます。

  • この例では、左隣のセルに文字列としての式が入力されていることが前提です。
    文字列のセルが違う場合は、EVALUATE の引数に正しい相対セル番地を入力してください。

  • この式は名前定義の際、=EVALUATE(A1)と入力しても有効です。

  • EVALUATE 関数 は、渡された引数(文字列)を式として評価し、結果を返す関数です。
    これは Excel 4.0 マクロ関数です。
    現在ではサポートはされていませんが、一応使用できます。
    ただし、将来のバージョンでイキナリ使用できなくなる可能性もあります。

  • EVALUATE 関数 はマクロ関数のため、Excel のバージョンによってはマクロの警告が出るそうです。

  • 複数のセルに入力された文字列を式に変換する方法はこちらを参照してください。

  • マクロを使用する方法はこちらを参照してください。


この頁のTOPへTop
【念の為の注意書きです。】
このページ(下位ページ含む)の全ての物の無断転載を禁止いたします。
又、当ページ(下位ページ含む)に記載されていることは、全て自己の責任において実行してください。

Copyright(C) pPoy 2006-2010