• ベストアンサー

エクセルの計算式(文字列の参照)のことで困っています。

エクセルの計算式(文字列の参照)のことで困っています。 基礎的なことと思えるのですが、 セルA1:文字・・・値:TEST セルB1:=A1 最初は、B1の表示が TEST となるのですが、 B1をダブルクリックすると =A1 のように表示され、 文字列として扱われてしまうようです。 常にA1の内容を表示するようにするにはどうしたらよいでしょうか。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.4

エクセルが気を利かせて数式の書式を自動的に決めるケースは、たとえば日付を参照する数式などで良く見られますが、今回の文字列を参照するようなケースでは、以下のように数式の後に空白文字列を追加すると、セルの書式は「標準」のまま変化しませんので、問題なく数式を編集することができます。 変更前 =A1 変更後 =A1&""

Excel-VBA
質問者

お礼

ご回答ありがとうございました。 マクロ(VBA)を使っての処理だったので 該当部分を修正し実行してみたことろ ご回答いただいたとおりになり解決しました。

その他の回答 (3)

noname#204879
noname#204879
回答No.3

その現象は昔からあります。 原因は当該式が参照するセル A1 が文字列に書式設定されているからです。 セル A1 には必ず文字列が入力されるなら、セル A1 は標準書式のままにしておくことをお奨めします。 文字列の数字を入力したいのならアポストロフィ(')を1個入力してから数字を入力したら如何でしょ。例えば '007 という具合に。入力した冒頭の「'」は表示されません。

Excel-VBA
質問者

お礼

ご回答ありがとうございました。 実際には、想定いただいたように"007"のように A1へ入力しています。 「']を付けるのは、入力者が気をつけなければならないので 避けたかった部分です。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! B1セルに =A1 という数式が入っているだけですよね? 質問に >B1をダブルクリックすると =A1 のように表示され、文字列として扱われてしまうようです。 >常にA1の内容を表示するようにするにはどうしたらよいでしょうか。 とありますが、 A1セルに「TEST」と入っているのであればB1セルは常に「TEST」と表示されていると思うのですが。 ダブルクリックすると編集可能になりますので、元々入っている数式の最後でカーソルが点滅します。 =A1 の右でカーソルが点滅していないでしょうか? 回答とまではいかないと思いますが 現状ではこの程度しか判らないので ごめんなさいね。m(__)m

回答No.1

> B1をダブルクリックすると =A1 のように表示され そのように表示されるのが正常です。 ダブルクリックをすると、セルにその計算式が表示されるので。 このため、文字列にはなっておらず、あくまでも計算式のままです。 Excel2000、2010.、どちらでも確認しましたが、ダブルクリックした後で表示が「=A1」という「文字列」になることはありませんでした。 半角のイコールが最初に入っているセルを文字列扱いするには、'=A1 となっている事でしか実現できないはずですから…。

関連するQ&A

  • エクセルで文字列の計算をしたいのですが。

    エクセルで文字列の計算をしたいのですが。 セルの表示は文字列ですが、実際のデータは数字(だけ)が入っています。 これを計算する事は可能でしょうか?。 例えば A1セル:00001 と入っていて B1セルには、A1セル+1=00002 とさせたいのです。 よろしくお願いいたします。

  • エクセルの文字列を数式に変換する方法

    エクセルに「=A1+A2」という文字列を値コピーでペーストしたのですが、この文字列を簡単に数式に変換する方法はないでしょうか?                              文字列のはいったセルをダブルクリックすれば、文字列が数式にかわって、A1+A2を計算しれくれるのですが、ひとつひとつのセルをダブルクリックするのが大変で・・・。 よろしくお願いいたします。

  • エクセルで参照後にただの文字列にする

    エクセルで参照後にただの文字列にするにはどうしたらよいのでしょうか 例えば A1にある「商品A」という文字を B1に「=A1」という表示ではなく ただの「商品A」というセルにしたいです 回答お願いいたします

  • Excel 別シートのセル参照

    Excel で、二つのシート間でセル参照したいのですが、シートに書き込んでおくコマンドの書き方を教えてください。 (操作) Sheet2 でA列のどこかのセルをダブルクリックしたとき、B列およびC列の該当行の値を、Sheet1 の二つの固定セルにそれぞれ表示させる。 よろしくお願いします。

  • エクセルの計算式の答えを文字列にできますか?

    エクセルに詳しい方に質問です。 エクセルの計算式(LOOKUP)の答えとして、"A"と表示されているセルがあるとします。 当然参照するデータを"A"から"B"変更すると 計算式の入っているセルも"B"と変わるのですが、、、 これが変わらない様にする、つまり"A"というのを計算式の答えではなく文字にすることはできるのでしょうか? 手打ちで変更するには量が多いもので。。。 よい方法をご存知の方、アドバイスお願い致します。

  • EXCELで計算式を文字列として抜き出す?

    excelにて、計算式を文字列として他のセルに表す方法はありますか? 数箇所だったら数式を直接コピーすればできるのですが、行が多いので関数でひとつ作ってそれを下の行へコピーすれば楽にできるのかなと思いまして・・ 例えば、  C1セルに「=A1+B1」という計算式が入っているとして、  D1セルに「=A1+B1」と式自体を表示させたい。 という場合に。D1に関数をいれればいいとかありますか?

  • Excelで、数値データとして参照したいのに、文字列データとしてしか参照してくれません

    Excelで、ある数式セルに表示されたデータを、数値データとして参照したいのですが、どうやっても文字列データとしてしか認識してくれません。 具体的に書くと、 例えばセルA1に、FIND関数で他のセルから抜き出した半角数字のみのデータを表示しているとします。 そのA1の数値を、今度はセルA2で、 if(A1=1000,A1*2,A1/2) などと数式で参照したい時に、私のExcel(2002です)では、どうやってもA1=1000という条件式をきちんと判別してくれません。どうやら、FIND関数で抜き出したために文字列データとして扱われてしまっているようです。 その証拠に、A1が実際に「1000」の時に if(A1="1000",A1*2,A1/2) という風に1000をダブルクォーテーションで囲んで式を書くと、きちんとA1*2を実行してくれます(つまり、A1が実際に1000の時でも条件式の1000をダブルクォーテーションで囲まないと、きちんと判別してくれないという事です)。 この状態から抜け出せずに、どうにも困っています。 どうにかA1の「1000」というデータを文字列でなく数値データとして条件式で利用できるように出来ないものでしょうか。 乱文ですみませんが、よろしくお願いいたします。

  • エクセルで、条件により参照先を変更できる計算式はありますか?

    エクセルで、条件が「1」の場合は一つ前の列を、「2」の場合は二つ前の列を、「3」の場合は三つ前の列を参照できるような計算式があれば教えていただけませんか? たとえば、A1を条件セル、B1~B3に数値が入っており、C1に答えを出したい場合、 (1)A1=1の場合、C1にB1の値 (2)A1=2の場合、C1にB2の値 (3)A1=3の場合、C1にB3の値 が表示されるといったような具合に。 出来るかどうかわからないのですが、もしご存知でしたら教えてください。

  • ワードで文字列の参照はできないのでしょうか

    たとえば、Aテキストボックスに文字列を入力することにより、Bテキストボックスにも同じ文字列が反映される。みたいなことがしたいのですが、ワードではそのようなことはできないのでしょうか? エクセルの場合、A1セルに入力した文字列を、他のセルにも反映させたい場合は、反映させたいセルに「=A1」と入力すれば、そのセルにもA1に入力した文字列が参照されて反映されますよね。 それと同じようなことをワードでしたいのです。

  • エクセルで計算式がそのまま表示される

    すいませんちょっといま困っております。 ご存じの方おられましたらお願いしますm(_ _)m EXCEL2002を使用しています。 今以下のように値が入っているとします。 Sheet1のA1=Sheet2!B1 (標準) Sheet2のB2=1000 (文字列) このとき、A1にはちゃんと1000と表示されます。 しかし、A1を一度ダブルクリックすると、 A1にはSheet2!B1という文字列が表示されてしまいます。 セルが標準から文字列に勝手に変更された感じです。 これを防ぐ方法は何かございませんでしょうか? よろしくお願いしますm(_ _)m

専門家に質問してみよう