[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
  • ベストアンサー

Excel:セルの値(文字列)を数式に変換したい

セルの値を数式に変換したいと思います。 (例)A1セルに文字列で sum(A2:A10)を =sum(A2:A10) という数式に変換。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

#2の Wendy02 です。 >また[データ]-[区切り位置]-そのまま「完了」 >何故上手くいくのでしょうか? なぜできるのか、私にも分かりません。いろんなことをしているうちに、偶然に発見したのです。でも、逆に、なぜ「値」貼り付けで、できないのでしょうね。(^^; 書式で文字列にしていないのに、そのままの状態にあるのですね! どうも、未だに、バグのようなバグでないような、分からない部分がExcelにはあります。 マクロのほうですが、 No.3のtestuya さんから出ていますが、ひとつずつではなく、まとめて行う方法です。 なるべく、標準モジュールに登録してください。 Alt を押しながら、F11 を押して、挿入-標準モジュールです。 もう一度、Alt+ F11 で、元に戻ります。 Sub ActivateFormula() Dim Rng As Range Dim c As Variant Set Rng = Selection 'マウスで選択された範囲 For Each c In Rng  If Not c.HasFormula And VarType(c) = vbString Then  If Not IsError(Evaluate(c.Value)) Then   c.Formula = "=" & c.Value  End If End If Next c End Sub この考え方は、まず、範囲をマウス選択して、そのセル1つずつを見ていきます。 文字列であって、式ではないこと。 そして、式に変換する前に、その式はエラーにならないことを条件にして、そのセルにある文字列は、式に変換する、という考え方です。(エラーを出してもよければ、If Not IsError ... End If の部分を外してください) 当然、空白セルは文字列ではありませんので、変換の対象にはなりませんが、「""」は、変換の対象になります。

urahana
質問者

お礼

有り難うございました。大変勉強になりました。

すると、全ての回答が全文表示されます。

その他の回答 (5)

noname#245250
noname#245250
回答No.6

私の場合は以下の通りです。  sum(A2:A10)の先頭に+を入れ +sum(A2:A10) としてEnterキーで確定します。 変化しない場合は書式設定が[標準]か[文字列]です。 +sum(A2:A10)のセルを右クリックし書式設定で[数値]に変更します。 そして(重要) +sum(A2:A10)のセルが選択されている状態で、計算バーをクリックし(文字入力状態にして) Enterキーで確定しますと =+SUM(A2:A10)となり目的を果たせます。 (+入力ではなっくShiftキーを使う=で入力すればSUMの前に+は付きません)

urahana
質問者

お礼

有り難うございました。大変参考になりました。

すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.5

データ A1:A4 1 2 3 4 A5:A8に AVERAGE(a1:a2) Stdev(a1:a3) max(a1:A3) sum(a1:a4) VBA Sub test01() For i = 5 To 8 Cells(i, "c").Formula = "=" & Cells(i, "A") Next i End Sub 上記VBA実行後 C5:C8 1.5 1 3 10 とうまく計算するようです。

すると、全ての回答が全文表示されます。
noname#11256
noname#11256
回答No.3

単発でアクティブセルのみを変換するなら、 マクロに ActiveCell.Formula = "=" & ActiveCell.Formula もしくは ActiveCell.Value = "=" & ActiveCell.Value を貼り付けるのは感じはどうですか さらに マクロオプションで、ショートカットキーを割り当てると変換が簡単になります。

すると、全ての回答が全文表示されます。
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 例えば、B1 に、  ="="&A1 としておき、フィルハンドルで、必要な部分をコピー 次に、  範囲をコピー  右クリック-[形式を選択して貼り付け]-[値] 次に、  範囲を選択したまま、  [データ]-[区切り位置]-そのまま「完了」 で、式に変更できるはずです。 そうでなければ、マクロになります。 必要でしたら、マクロも書きます。

urahana
質問者

お礼

有り難うございました。 是非マクロも教えてください。 また[データ]-[区切り位置]-そのまま「完了」 何故上手くいくのでしょうか? お時間があるときで構いませんので宜しくお願い致します。

すると、全ての回答が全文表示されます。
回答No.1

こちらの理解間違いかもしれませんが・・・ sumの前に=を入れ忘れたから、=をつければいいってことですか? 小文字で書いてますよね。 編集→置換で、sumを=sumとすればいいと思います。

urahana
質問者

補足

ご回答有り難うございます。 確かにその方法で上手くいくのですが、変更が複数セルあり、 しかも関数がsumだけではないので困っています。

すると、全ての回答が全文表示されます。

関連するQ&A