Excel Tips by pPoy

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

名前 文字列を式に変換する方法 (複数セル)
《名前定義・Excel4.0マクロ》 (Excel97,2000,2002)
単純に 「100*1.5」 の様に入力された文字列を式として判断し、計算する方法はこちら
の方法で可能です。

ところが、式が二つに分割されていて、それを組み合わせて計算するためにはもう一ひねり必要です。
たとえば以下のようなケースです。
式

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

A1 セルには、数値が入力されています。
隣の B1 セルに計算式の残りが入力されています。
隣の C1 セルに A1 セルと B1 セルを使用した
計算結果を表示したいと思います。
式を入力したい 「C1」 セルを選択後、メニューから、挿入−名前−定義を押します。
表示された名前の定義ボックスの 「名前」 欄に、定義する名前を入力ます。
この例では、「wsEval2」 としました。

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

名前の定義

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

※ 必ず C1 セルを選択してから
名前を挿入してください。
この頁のTOPへTop
名前を入力

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

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

≪結果≫
結果

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

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

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

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

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

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

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

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


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

Copyright(C) pPoy 2006-2010