• 締切済み

Excelの計算式が数値に変更される。

Excelのセルに以下のような関数を入れていたとします。 =MID($D$4,FIND("年",$D$4)-5,4) 実行結果は正常なのですが、入力後確定し、そのセルの数式バーをみると、値が表示されます。 オプションの数式でラベルを…などはチェック入れていません。 参照データのD4の値が変更されると値も変更されるので、計算は行われているのかと思うと、D4の値が空欄になった後も、値が表示されます。 ひとつのセルではなく、複数のセルがそうなってしまいました。 全部がそうというわけではないんですが。 【状態】 D4 : データが入っている。 BG2 : =MID($D$4,FIND("年",$D$4)-5,4) が入っている。 ボタンを押すとユーザーフォームが表示され、セルに入力をするためにデータを入力できる。 すでに入力されたものもあるので、ユーザーフォームには、すでにセルに入っている値が反映されるようになっている。 ユーザーフォーム以外では入力ができないように、シートに保護がかかっており、ユーザーフォームが表示された時だけ保護が解除されるようになっている。

  • w-inty
  • お礼率72% (1169/1618)

みんなの回答

回答No.1

おそらく、そのブックにそうなうようにVBAでマクロを記述してあるのでしょう。 そのブックの作者に言ってください。

w-inty
質問者

お礼

回答ありがとうございます。 えーと…作成者は私なんですが…(^^; そんなマクロを組んだ覚えはないんですよね。。 しかもそうなるところとならないところがあってわけわかりません。

関連するQ&A

  • エクセルの数値について

    エクセルで、たとえばA1セルに1、B1セルに2、C1セルに3の 数字が入力されています。 その上で、D1セルに「A1&B1&C1」という数式をいれると、 見た目上はD1セルに「123」と表示されますが、 数字の123(百二十三)という意味では認識されていないようで、 ほかの関数の参照に使えません。 見た目が「123」の値を、数字の「123」に変換する方法は ないでしょうか。 よろしくお願い致します。

  • エクセルで数式を入れても値が空欄になります

    タイトルの通りなのですが、 エクセルに数式を入れてもセルが空欄になって値が表示されません。 全く同じ数式を他のセルに入れると値が表示されるので 数式が間違っていることはないと思われます。 また、空欄になって値が表示されないセルにマウスをあてると 数式自体は入ってます。 時々、このような事象が起きるのですが どうやって改善すれば良いでしょうか?

  • [Excel]入力規則の数式が計算されずエラー表示も出ないようになりま

    [Excel]入力規則の数式が計算されずエラー表示も出ないようになりました お世話になります。(先日もこちらではお世話になりました。ありがとうございます。) EXCEL 2007 を使用しています。 入力規則を使用して数式を実行したいと思い 初めて[入力規則]-[ユーザー設定]-[数式]欄に数式を書いて結果を得ようと してみたのですがエラーとなってしまいました。 数式に間違いがあるらしいエラーだったため何度か数式を見直し・やり直したのですが、エラーでした。 入力規則ではなく普通のセルにこの数式を入れると問題なくほしい値が帰ってくるので、 なぜ入力規則では、エラーが出るのか分かりません。 また、何度も入力規則をやり直しているうちに エラー表示ウィンドウが出なくなりました。出ないだけなら成功したと思うのですが、 エラーウィンドウが出ないだけで、数式は実行されません。 入力規則の全ての値をクリアにしてから再度 設定、式を入力しても エラー表示ウィンドウも値も出てきません。 試しにA1セルに簡単な数式を入力規則で行ってみました。 =1+2+3 とか =SUM(B1:D1) (↑値は6になる) これでもエラーも数式の結果となる値もでません。 ちなみに入力規則のリスト表示など他の機能は問題なく値が帰ってきます。 何か間違っているのでしょうか? ちなみに入力規則に記入したかった数式は↓になります   =IF(INDIRECT("F"&ROW())>0,ROW()-2," ") 数式の説明: ・もしF列のこのセルと同じ行に何か値が入っていれば【行-2】になる値を表示   A3セル 入力規則を適用   F3セル 何か値が入っている   A3セル A3といのは3行目のことだから 3-2=1 となり、計算結果の 1 が表示される ・もしF列のこのセルと同じ行に何も値が入っていなければ空欄のままにする というものです。 お分かりになる方いらっしゃいましたらご教授下さい。 よろしくお願い致します。

  • エクセルについて質問です。

    ユーザーフォームの使い方で、テキストボックスやコンボボックスのControlSourceを,フォームを開いたのとは別のシートのセルにあてたいんですけど、できますか? 同様に、コンボボックスのRowSourceのリストも、別のシートの値を拾いたいんです。 具体的に言えば、ユーザーフォームを開くのは、常に「Sheet1」であって、入力した内容を表示するのは「Sheet2」なのです。 コンボボックスのリストは本当は、「Sheet3」の値を拾いたいのです。 今はよくわからないので、全部「Sheet1」にリンク(?)させて、値を取得させるようにしてます。 それと、セルの数式の中に別のセルの数値を代入できますか? 例えば、あるセルの数式が「=Sheet2!A4」だとしましょう。 この場合の「Sheet2」の「2」に、例えば、ある別のセルの値を代入して、 「=Sheet3!A4」とかにしたいのです。 つまり「=Sheet”A1”!A4」みたいにして、「A1」のセルの値が 「2」、「3」に変われば元の数式も変わる、みたいに。 同じように、セルの範囲につけた名前や、リンクするファイルの名前も数式の変数に入れられるのでしょうか? とりあえず、セルの数式の中に、別のセルの値を”文字”や”数値”として入れたいのです。 ちょっと説明がわかりにくいかもしれないけど、教えて下さい。

  • エクセルのIF式教えて下さい。

    何度やっても上手く思うように行きません。 IF式の組み立て方が悪いのか? AND、ORの使い方が悪いのか? お手上げの状態です。 質問は、2つのパターンです。 助けて下さい。 質問1 セルA1にデータ10と入力 セルA5にデータ5と入力 セルA9に大きい値の10を表示させ、セルA1が空欄の時は、空欄にしたい。 セルA10に小さい値の5を表示させ、セルA5が空欄の時は、空欄にしたい。 質問2 セルB2に1を入力 セルC2に1を入力 セルD2に両方が1以上ならOK、それ以外ならNGと表示させたい。 以上の2つの質問のIF式を教えて下さい。

  • EXCELで値ではなく表示されている文字を参照

    値ではなく、表示されている文字を参照することは出来ますか? 具体的にはスケジュール表を作りたいのですが、基準となるセルに日付を入力し書式を「ユーザー定義」でmmにしています。それを横のセルに+1で翌日、下のセルに=で書式ddとして日付を連続して入力しています。 その場合、1行目に月が並んでしまうので、月が変わらなければ空欄にしたいのですが、値自体は変わってしまうので条件式が書けません。 実際の値を無視して書式として表示されているものが一致していれば空欄という数式は可能でしょうか?

  • Excelセル値入力

    セルC2の合計がF1の数値と同じになるようにセルB4に数式を入力したいのですが。C列の数式はD列に表示しています。尚、F1の値は都度手入力で変更されます。数式を何度か入れたのですが数値がちぐはぐ又、循環になりなりうまくいきません。B4に入力する数式をどうかよろしくお願いします。

  • EXCELの計算式

    EXCELで表(関数入り)を作成し、それを雛形ファイルにしてコピーし、同じファイルをいくつか作りました。それでコピーファイルをあけて入力しても関数は働かず数字を入力してもセルは0(ゼロ)のままです。シートの上部にある数式が表示される空欄にカーソルを持っていってENTERを押すとそのセルの関数が働きます。 数式は入ってるのになぜでしょうか?ファイルのコピー、シートのコピーと関数は働かないのでしょうか? よろしくお願いします。

  • Excelで、iserror関数を使用した結果は数値ではないのですか?

    ご質問させていただきます =IF(ISERROR(VLOOKUP(A2,$A$29:$F$40,3,FALSE)),"0",VLOOKUP(A2,$A$29:$F$40,3,FALSE)) という関数を作りました。 この際、エラーが表示される場合に、0に置き換える、という意味で この関数を作ったのですが 表示された 0 は ・表示がセル内で左詰になっている ・条件式書式で「セルの値が 0 のときに フォント色を白」  という条件をつけても、フォント自体は白にならない という2点から、0は数値ではなく文字として認識されている、と自分なりに捉えました。 しかし、疑問に思ったのは、 ・表示された 0 を引用した数式は成り立つ (たとえば、A1の値をIserrorで表示したときに0が出て、A2が2の場合  B1の数式を、 =A1+A2  とすると、2が表示される) ということから、数式を作ると数値として認識される、ということです。 この関数でセルに表示された "0" は、文字として認識されるのでしょうか? それとも数値として認識されるのでしょうか? ちなみに、自分は、0を表示させずに {条件式書式を使用したいと考えています。} さらにそのセルの値をさらに別の数式に反映させたいです。 なので、一番上に表示した数式の "0" の部分を "" にしてしまいたくないのです。(空欄表示の場合は、完全に次の数式に反映できず、このセルの値 {この場合は空欄} を引用した数式の値は #VALUE と表示されました) どなたか詳しい方、ご回答よろしくお願いいたします。

  • Excel セルの数式を固定で値は自由に変更したい

    A1セルに何か入力されたら、B1セルに固定の文字「とりあえずビール」と入れる。 =IF(A1="","","とりあえずビール") この数式をB1セルに入れますよね? こういう形で初期値は決めておきたいものの、これを入力規則のリストから選んだり、手打ちで打ち直したりで値を変更するとします。 そうすると当然のことながらB1セルに入れた上記の数式は消えてします。 値を変更しても数式は残っていて、一度値を全部消してA1セルに打ち直した時にまたこの数式が動くような設定はできないのでしょうか? 数式を裏に隠すみたいな。 なんだか入力規則を使ってできそうな気もするのですが、調べてみてもそういう方法は見つかりませんでした。 今はデータを一度削除したい場合は、VBAを使って全消し後に数式を各セルに入れ直すというマクロで行っています。

専門家に質問してみよう