• ベストアンサー

関数式の結果が表示されない

エクセル2003を使用しています。 前任者が作ったシートがあるのですが、 一部の関数式を変更した時に結果が表示されずに関数式が表示されてしまいます。 変更前も同じセルには関数式が入っており、その結果は表示されています。ですがそのセルの関数式を変更すると結果ではなく、式のみが表示されてしまいます。 シートは複数で、 たとえば、 シート1のセルA1の内容が シート2のセルA1に入るように参照しています。 下記のような式がシート2に入ってます。 =Sheet1!A1 表示はちゃんと参照先の文字が入ってます。 この式の入ってるところに=LEN(Sheet1!A1)など入れたら普通は文字数が出ると思うのですが、=LEN(Sheet1!A1)と表示されます。 プロテクトなど色々考えられると思うのですが、どういうことが考えられますか?

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

  • ベストアンサー
  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.8

> もう少し効率のいい方法は無いのでしょうか? VBAでもよければ、次の手順で実行してみてください。 ・計算式がそまま表示されている範囲を選択します。 ・そのシートのシート名タブを右クリックして「コードの表示」を指定します。 ・開いたコードウィンドウに下記コードをコピーして貼り付けます。 ・貼り付けたコードの何処かにカーソルがある状態で、[実行]-->[Sub/ユーザーフォームの実行]を  クリックします。 ・先程貼り付けたコードを全部消去します。 ・Alt+ Q (または、右上隅の×)でウィンドウを閉じ、シートに戻ります。 これで、一気に計算結果が表示されると思いますが、如何ですか。 Sub 式に変換() Dim Rng As Range Dim Fml As String Selection.NumberFormatLocal = "G/標準" For Each Rng In Selection   Fml = Rng.Value   Rng.Formula = Fml Next Rng End Sub

pound_cake
質問者

お礼

VBAですかぁ~。敷居が高いかも。。 でも昨日の緊急は手作業でなんとか追いつきました。 残りのブック30以上なので、VBAも検討します。ありがとうございました。

その他の回答 (7)

  • at121
  • ベストアンサー率41% (85/206)
回答No.7

そのセルのみの設定なら そのセルを削除して 正常のセルをコピーしてそこに挿入し 式を書き換える。

pound_cake
質問者

補足

変更したいセルはかなりの量で、ドラッグアンドドロップなら何とかなるのですが、1個ずつは難しいです。

  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.6

式を入力した後で、書式を「標準」に変更しただけでは、ダメなんですよ。 セルで編集し直すか 数式バーで <Enter>すると計算結果が表示されるでしょう。

pound_cake
質問者

お礼

ja7awuさんの方法で出来ました。ありがとうございました。でも、これだとセルの1つずつやっていかなくてはならないみたいです。なにぶん数が多いので、もう少し効率のいい方法は無いのでしょうか?

  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.5

> 参照先の文字が入ってます。 ということは、以前は、「文字」を表示していたのですから 式を入力する時点のセル書式が「文字列」になっているだけ と思いますが・・・

pound_cake
質問者

補足

説明不足ですみません。 文字ですが、回答3で書式の変更をすでにやってます。 一般も文字列でも。。 でも、だめなんです。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.4

#3のmshr1962です。 >全シート(ブック)の書式を初期設定に戻す方法などはあるのでしょうか? シートのタブをCTRLを押しながら選択するか 右クリックして「すべてのシートを選択」 シート全体を選択(A列の左、1行の上の部分をクリック)してから 「編集」「クリア」「書式」で書式をすべて標準にできます。 ただ、今回の場合、シート又はブックが壊れている可能性もあるので 内容をコピーして新しいブックに貼り付けしたほうが良いかもしれません。

pound_cake
質問者

お礼

これも試しましたが、だめです。 新しい列を挿入した場合は式の結果が表示されます。 新しいシートでも大丈夫でした。でも既存のシートでなぜ駄目なのでしょうか? 壊れてるのでしょうか?

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

変更前は結果が表示されているなら、表示形式が文字列の可能性が高いです。 セルの書式設定で表示形式を適切なものに変更してみてください。 分からない場合はとりあえず、標準を選択すれば良いでしょう。 数式全部が表示されている場合は、#1,2の方のおっしゃる通りです。

pound_cake
質問者

補足

ウインドウオプションもセルの書式設定でも試しましたが結果が出ません。 全シート(ブック)の書式を初期設定に戻す方法などはあるのでしょうか?

  • info22
  • ベストアンサー率55% (2225/4034)
回答No.2

EXELL2002を使っていますが、以下のようにすれば、関数式を関数値表示に戻せます。 EXCELL2003でも同じように設定して解決できませんか? EXCELLのツールバーの「ツール」→「オプション」→「表示」タブの「ウインドウオプション」→「数式」の前のチェックをはずす→「OK」

pound_cake
質問者

お礼

回答ありがとうございます。 残念ながらウインドウオプションでは解決できませんでした。

  • Piazzolla
  • ベストアンサー率44% (88/196)
回答No.1

[ツール]→[オプション]→表示で、 下のほうに、「ウィンドウオプション」があると思います。 □数式(R)のチェックを外します。

pound_cake
質問者

お礼

回答ありがとうございます。 残念ながらウインドウオプションでは解決できませんでした。

関連するQ&A

  • セルに計算結果でなく、関数式が表示される

    エクセルの関数が入っているセルに、昨日から関数式自体が表示されるようになり、計算結果がでてきません。上部のバーにある「関数の引数」ウィザードボタンfxをクリックすると、ウィンドウには計算数値が表示されています。ちなみに関数は単純に別シートのセルを参照させて足し算するだけです。別なシートに、関数式をコピーしてみましたが、ひとつのセルはできても、次のセルに連動させようとすると(セル右下に表示される太十字をひっぱっる)また、結果でなく、関数式が表示されるようになってしまいます。どうしたら解決できるでしょうか?

  • EXCELでの関数の一部を参照にする方法

    いつもお世話になっております。 早速ですが質問させていただきます。 今回直面している問題なのですが 関数の一部を参照にしたいということです。 例を出しますと A1セルに ='[File_****_東京.xls]1'!$B2 というようにしておいて、この参照関数?内の『****』を 別シートに入力してある数値を参照したいというものです。 『****』の部分には日付がはいります。 このファイルを複数の人間が扱うことを想定しておりまして 出来るだけ関数の変更を少なくしたいわけです。 SUBSTITUTE関数を試したのですがやはり文字列だけの変更しか出来なく セルには関数が文字列として表示されてしまいます。 わかる方、いらっしゃいましたらご教授宜しくお願いします。

  • if関数とright関数を組み合わせて…

    初めて質問させていただきます。 if関数とright関数を組み合わせて、*だけを消して表示させる式を作成したいのですが… セルA1には、別シート(入力画面)のセルを参照する式が入っています。 入力文字末尾に『*』が付くと男性、付かないと女性を示します。 入力画面では『*』を意識しますが、表示画面には『*』を表示させたくありません。 そのため、参照しているセルに、『*』があった場合は、『*』を表示させないという式を作成したいのですが、どのように作成すれば良いでしょうか? よろしくお願い致します。

  • INDIRECT関数で返り値が0になるのですが。

    先程ここで丁寧なご回答のおかげで下記のINDIRECT関数でF5のファイルを開くと目的のセルA1、B5、・・・と複数のセルが参照(自動入力)できるようになったのですが、実際のファイルでやってみると全ての参照セルの返り値が0となってしまうのですが。 複数のファイル名の複数のセル参照がテストではうまく行ったのですが。 =INDIRECT("'[" & $F5 &"]Sheet1'!$A$1") 参照ファイル名とセルの指定は、ファイルの開くタイミングで#REF!が次々と0に変わっていくので、式は間違っていないと思うのですが。 参照が接合セルになっていたので、それを戻したり、数字、文字も試してみたのですが、どうしても0になってしまいます。 テストでうまくいったので既に質問を締め切ってしまいましたので、どなたかお助け下さい。

  • IF関数の条件に関数を指定

    Excelに関する質問です。 ちょっと分かりづらいのですが、例えばセルA1とB1があるとします。 A1には別シートのセルが参照されています。(「="あ!A1"」など) ここで、B1にはIF関数を入れたいのですが、その時A1の関数式内の文字を条件にしたいのですが、そういうことはできますか? つまり、B1にIF関数で「A1セル内の関数式内に"あ"の文字がある時に"い"と表示する」のようにしたいのです。 普通に「=IF(A1="あ","◯","")」ではできません。 Google先生でも調べてみたのですが、分かりませんでした。 お知恵をいただければ幸いです。

  • Excelで参照結果を表示する関数

      A  B  C  結果 1 ○   ○ 2  ○   ○ 3    × × 4   ×   × このように並んでいるときA~Cにあるセルを参照して○がある場合は結果に「○」を×がある場合は「×」を結果のセルに表示させる関数を教えて下さい。条件としてA~Cのいずれか1つにしか○か×はありません。残りは空欄です。 よろしくお願いします。

  • エクセルの関数式結果を表示させない

    エクセルの関数式を入力した際に、結果として値がでるセルに何値を入力していないと#NOTVALの表示がでてしまいます。この表示を値が入っていない時は表示しないようにするにはどうしたらよいのでしょうか??

  • 関数の結果を""ではなく設定されていないセルにしたい

    EXCEL2000を使用してます。Sheet1シートのA列のセルには、値(文字数値)が設定してあって、B列のセルで以下のような関数を設定してあります。 たとえばB10セルの場合、 =IF(A10="","",T("2"&TEXT($B10,"0000")) A列に何も値がない場合、B列には何も表示されないのですが、Sheet1をSheet2へ「形式を選択して貼付け」→「値」をした場合、B列に""が結果として設定されたセルに何かの値が残っているようです。(A列は改行等の制御文字はありません。)CSVファイルに出力してテキストエディタで参照すると半角スペースのように見えます。貼付け時に「空白を無視する」をチェックしても何かの値がセルに残っているようです。Sheet2にコピーしたときに関数で設定されたセルを何も入力されていないセルにする方法をご教授願います。

  • 関数式について教えてください

    いつもお世話になっております。下記の様な場合はどんな関数式になるのですか?ご教授お願い致します。 Excel表内で下記のように指定するセル内に指定する数字がいくつあるか?の関数式はどういう式になるのですか?宜しくお願いいたします。   A 1 30 2 3 3 1        指定するセル;A2,A3,A6,A9,A10 4 1        の中に”1”がいくつあるか? 5 30        A91セルに表示する関数式は? 6 1 7 100        又、上記指定セル内に”2”の数字が  8 2        いくつあるか?  9 2        A92セルに表示 する関数式は? 10 3 11 60        又、上記指定セル内に”2”の数字が  :          いくつあるか? :          A93セルに表示する関数式は? 91 ?            92 ? 93 ? 表現方法があまりうまくありませんが宜しくお願いいたします。

  • EXCELのINDIRECT関数について

    こんにちは。 現在仕事で他の方が昔作ったEXCELを見ているのですが、シートが2枚(sheet1, sheet2)あって次のような関数が使われてます。 -- <sheet1> 【セルD15】SGP (←入力) 【セルD16】150 (←入力) 【セルD17】=VLOOKUP(D16,INDIRECT(D15),2) (←関数) (セルD17には、165.2という計算結果が表示されています) <sheet2> SGP 呼径 外径 A mm 6 10.5 8 13.5 10 17.2 15 21.7 20 27.2 25 34.0 32 42.7 40 48.6 50 60.5 65 76.3 80 89.1 90 101.6 100 114.3 125 139.8 150 165.2 175 190.7 200 216.3 (sheet2には、同様の表が上下左右に並んでいます) -- ここで、セルD17に入力されている関数について、VLOOKUPはたまに使うんですが、INDIRECTがサッパリ謎で困っております。 何故こんな簡単な式で、別シートの表の一部を参照できるのか?(しかもシート名の指定もないし・・)という点、どなたか教えていただけないでしょうか? よろしくお願いします!

専門家に質問してみよう