大体でIT
大体でIT
Excelで、文字列を数式として認識する方法について、ご紹介します。結論から言うと、文字列を数式として認識するExcel関数はありません。代替案としては、「数式文字列を数式に変換する」方法と、「Excel VBAを使う」方法があります。まずは、数式に変換する方法を検討して、ダメならVBAを使ってみましょう。
この記事では、文字列を数式として認識する方法について、ご紹介します。
結論として、文字列を数式として認識するExcel関数は、ありません。残念。
- 数式文字列を数式に変換する
- Excel VBAを使う
まずは、数式文字列を数式に変換する方法で、対応できないかを検討して、ダメなら、VBAを使うという方向がいいです。
では、文字列を数式として認識する方法について、解説していきます。
Excelで、数式が数式文字列として入力されている場合があります。
数式文字列を数式として認識することはできないか、についてです。
結論から言うと、数式文字列を、数式として認識するExcel関数はありません。
数式文字列の例
こんな数式文字列が入力されていたデータがありました。
この数式文字列を数式として認識できると、数式として使えて、便利です。
数式文字列を数式として認識するExcel関数はない
残念ながら、数式文字列を数式として認識するExcel関数は、ないんですね。
- 数式文字列を数式に変換する
- Excel VBAを使う
一つ目は、しょうがないけど、数式文字列を、数式に変換して使おうというものです。
もう一つは、Excel VBAの「Evaluate」を使って関数を作ってしまう、ということを考えました。
- 表示形式を標準にしてEnter
- 「=」を「=」に置換して数式にする
- 区切り位置で「標準」に変更
簡単で、応用が利くので、「区切り位置」を覚えておくと便利です。
表示形式を「標準」にしてEnterで確定する、という方法です。
「ホーム」タブ→「数値」を選択して、「標準」に変更します。
表示形式を「標準」に設定
これだけでは、標準に変更されてないので、一つずつ「標準」に変更していきます。
セルをアクティブにしてEnter
数式文字列を「数式」に変換
あとは、同じように他のセルについても、セルをアクティブ→Enter確定を繰り返していきます。
他の数式文字列もEnterで確定する
次は、「=」を「=」に置換して数式にする、というものです。
変換したいセル範囲を選択して、「Ctrl + H」で「検索と置換」を開きます。
検索する文字列と置換後の文字列に、「=」を入力して「すべて置換」を選択します。
「=」を「=」に置換
これで、一気に、数式文字列を「数式」に変換できます。
数式に変換
ただ、まだ表示形式が「文字列」のままなので、表示形式を「標準」に変更します。
表示形式を「標準」に変更
数式文字列を数式に変換
これなら、大量に数式文字列があっても問題なしですね。
次は、「区切り位置」を使って、「標準」に変更して、「数式」に変換してみます。
「データ」タブ→「データツール」→「区切り位置」を選択します。
「区切り位置」を選択
区切り位置指定ウィザードというものが表示されます。
3つの画面がありますけど、設定するのは、3つ目だけです。
1つ目は、特に設定しないで、「次へ」をクリックします。
1つ目は設定せず「次へ」
2つ目も、特に設定しないで、「次へ」をクリックします。
2つ目も設定せず「次へ」
3つ目の画面で、列のデータ形式のところを「G/標準」として、「完了」をクリックします。
3つ目で「G/標準」を選択して「完了」
これで、すべての数式文字列が、「数式」に変換されます。
すべての数式文字列が数式に変換
もう一つの方法が、VBAを使って、数式文字列を数式として認識する関数を作る、というものです。
数式文字列を数式として認識して、計算する関数を作ってみるとこんな感じになります。
Function Eval(a)
'数式文字列を計算する
Eval = Evaluate(CStr(a))
End Function
CStrで文字列に変換して、Evaluateで数式文字列を計算しています。
使い方は、上記のVBAコードを、標準モジュールにコピーすると、使えます。
- Excelのシート上で、「Alt + F11」を入力して、「VBE画面」を開く
- 「挿入」タブ→「標準モジュール」を選択
- 挿入された標準モジュールにVBAコードをコピペ
数式文字列を数式として認識して計算するVBA関数を、入力してみます。
作成したVBA関数を入力
数式文字列を、数式として認識して、計算することができました。
他のセルにコピーする
全ての数式文字列を数式として認識して、計算できました。
数式への変換で対応できるなら、数式文字列を数式に変換する方法で対応しましょう。
この記事では、文字列を数式として認識する方法について、ご紹介しました。
結論として、文字列を数式として認識するExcel関数は、ありません。残念。
- 数式文字列を数式に変換する
- Excel VBAを使う
まずは、数式文字列を数式に変換する方法で、対応できないかを検討して、ダメなら、VBAを使うという方向がいいです。
参考になればと思います。最後までご覧くださいまして、ありがとうございました。