• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:数式を表している文字列を数式にする?方法)

数式を表している文字列を数式にする方法

このQ&Aのポイント
  • 数式を文字列化している部分を分割し、数値部分を変化させた後に元の数式に戻したい場合、単純に結合しても数式として認識されません。適切な方法を教えてください。
  • 例えば、セル F1 に入っている数式 =IF(A1="あ","="&C1&B1&D1,"") のような形式の場合、セル B1 に不特定の数値を入力し、セル C1 と D1 に元の数式を三分割した文字列を入力します。しかし、セル F1 では文字列として表示され、数式として認識されません。この問題を解決する方法はありますか?
  • F1 のみで処理する必要はなく、G1 でも同様の処理を完了させたいです。セル F1 の数式を数式に戻してから別のセルに値を貼り付ける手間を省く方法を教えてください。

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

  • ベストアンサー
  • kmb01
  • ベストアンサー率45% (63/138)
回答No.2

セルに文字列として入力されているデータを数式として評価するワークシート関数はありません。 アドインを使うならフリーで公開されているものがあります。

参考URL:
http://www.vector.co.jp/soft/win31/business/se042946.html
tsubasa2003
質問者

お礼

そうですか。とても残念です。ありがとうございました。作業をしていて、イコール付半角英数字の文字を見ていると、何とかなりそうな気がして・・・。どうしてもダメなんですね。アドインはユーザーごとに入れないといけないのですか?

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

#3です。お礼をみて。 =AAA|BBB!'200411!CC' !が2箇所出てくるのはだめです。意味が判りません。 SHeet1!A5などの場合の1と5の部分を相対化することは 出来ると思います。私の言う(2)には当たりません。 ブック名まで含めるとどうだったか、忘れました。 あるシートのA1に=INDIRECT(B1&"!A1")と入れました。 B1にsheet3と入れました。 A1はSheet3のA1の府県(偶々入っていた)を表示しました(値になった)。 #3の私の例と含めて、要領は判ると思います。 #3の(2)の一例 C1に文字列のSUM、C2に(A2:A4)といれ、C4に=INDIRECT("="&C1&C2)あるいはC1に=SUM、C4に=INDIRECT(C1&C2) などもエラーです。 INDIRECT以外の関数に、これらしき働きのものはありませんので、多分出来ないでしょう。 はエラーです。

tsubasa2003
質問者

お礼

たびたびありがとうございます。念のため、あるアプリケーションのエクセルリンク式、 =AAA|BBB!'200411!CC' のAAAはアプリ略称、BBBは機能分類名、CCはリンク参照する項目名というようになっています。外部プログラムが有するデータベースをエクセル上でリンク参照する式の基本型かと思っていました。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

>数式であったものを三分割・・ 数式と言う言葉で表現している内容が問題です。 数式には (1)=、+、-、*、/,& (2)関数 (3)番地 とあると思います。=等は関数ではあるが、毛色が違うので分けました。 (A)(2)の部分は文字列を使ってもだめです。 F1に=SUM、F2にA1;A3とあるからといってこれを =○○(F1&"("&F2&")")とするようなものはありません。 (B)番地部なら=SUM(A1:INDIRECT(B1))が使えないか考えてください。 (例) A1:A5に 1 2 3 4 5 B5に=SUM(A1:INDIRECT(B1)) B1にA3といれるとA1:A3のSUMで6 B1にA4と入れるとA1:A4のSUMの10になるが如し。 問題の後半の例が、私の頭に入りませんので、上記原則・基本論を述べます。

tsubasa2003
質問者

お礼

なるほど。数式と言う言葉で表現している内容が問題という部分が、少し理解できたと思います。となると元のリンク式である、=AAA|BBB!'200411!CC' というものがどれに該当するかを考えなくてはなりません。ありがとうございます。

  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.1

C1とD1も数値で、C1&B1&D1と連結した結果を数値として扱いたいなら、F1の式を =IF(A1="あ",C1&B1&D1,"") にするだけでいいはずです。

tsubasa2003
質問者

補足

早速のご回答ありがとうございます。説明不足で申し訳ございません。あるプログラムにエクセルリンク機能がありまして、質問文中の元のリンク式というのが、 =AAA|BBB!'200411!CC' というものです。この数字部分を変化させるのに一工夫したいと思いまして、質問しました。よろしくお願いします。