• ベストアンサー

【Excel】セルに計算結果のマイナス表示させない

計算するためのいくつかのセルを書式のユーザー設定で #,##0"円" と設定した場合、計算結果がマイナスになったときにこの書式が含まれるセルがマイナス記号「-」の表示がでない方法を教えてください。

  • frau
  • お礼率54% (2370/4367)

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

  • ベストアンサー
  • msMike
  • ベストアンサー率20% (363/1775)
回答No.1

  #,##0"円"     ↓ #,##0"円";#,##0"円"

frau
質問者

お礼

ご回答ありがとうございます。

その他の回答 (6)

  • FEX2053
  • ベストアンサー率37% (7987/21355)
回答No.7

なんか、別の質問を立てて、メチャメチャ突っ込まれているようですが。 >=IF(A5>=0,A1-A2,"") >A5の結果はA1-A2の結果以上ということですね。 違いますね。「A5の内容が>=0だったら・・・」という意味でしかないです。 数式を排除していえば「A5の内容が0以上だったら」という意味ですね。 じゃあ、どうするか・・・というのが、その後ろに書いてあって ○「成立した場合は(一個目と二個目の「,」の間で定義)、A1-A2を  表示しなさい」 ○成立しない場合は(二個目の「,」の後ろで定義)、""を表示しな  さい」=「何も表示しない空欄のままにしなさい」 ってことです。「何もしない」という場合でも、明示的に「何もしないと いう何か」を定義しておかないと動作しないのは、プログラムの世界では 常識です。 つか、高校数学の「論理学」の世界でも当たり前ですよね。この辺も同時 に思い出していただけると、結構幸せになれますよ。 > A1:当期の予算額➡(入力)5,000円 > A2:当期の執行額➡(入力)4,000円 > A3:予算残高➡=IF(A>=0,A1-A2,"")➡(結果)1,000円 > >この先がわかりません… 結果が得られたんですら、結果が得られたセルと「別の場所」に 「表示する値」を作ればいいんです。 >減価償却の例のとおりにしてA6にたとえば500、A5には >=A1-A2 >の式を入れると なんでそこで、そういう式を入れるかな。 =A1-A2-A6ってのは、「結果から減価償却費を引いた額」ってこと です。なんなら=A5-A6でも同じ結果が得られます つか、=A5-A6と書いた方が分かりやすかったかな? 「結果から 固定の減価償却費を引く」ってことですから。 >A6に入力した数値に従ってA5も変動しますけれど、 > A4:=IF(A5<0,-A5*1.2,"") >の場合はA5、A6の式はまた変わるんですか? A5は「予算残の結果」を示すわけですから、減価償却費が固定で 控除されていても(要は=A1-A2が=A1-A2-A6になっても)結果の 持つ意味は同じ「予算残」です。すなわち、A3,A4の算式は変える 必要がありません。 ここが「結果の保持」と「結果の表示」を分ける理由なんですけどね。 >たとえば >=1.000×1.2 >と入力するのですか?試してみたところ補正額のA4にはなんも >反映されません。 あたりまえですよね。「結果の表示」は「結果の保持」が変わらないと 何も変わらない・・・この処理の場合、A5が「結果の保持」、A3,A4が 「結果の表示」と機能を分けたわけですから、変わっちゃ困ります。 Excelでは、「このセルの持つ機能は何」というのを、常時問いかけて 作業してください。関数云々の前に「表の中にどういう機能を持つ セルをどういう形で配置するか」がきっちり決まってないと、何も できませんよ。資料を作るときは、まずそこに時間を掛けるべきです。 そこが出来ちゃえば、あとは簡単です。私もExcelで表を作るときは、 そこに一番時間を掛けます。

frau
質問者

お礼

>>減価償却の例のとおりにしてA6にたとえば500、A5には >>=A1-A2 >>の式を入れると >なんでそこで、そういう式を入れるかな。 ほらこういう態度。そもそもご自分がその例をだしたわけでしょ?私はその例どおりに試しただけでですが。 それに自分がわかっている前提のようなわかりずらい回答だったから別スレを立てただけです。前回このように説明してくださっていればよかったじゃないですか。というか、きちんと回答できるのだから質問の意図がわかってたということですよね?なんでわざわざ分かりにくい意地の悪い回答にするのかなあ。 例のトピではひとつだけ上から目線の回答がありましたが皆さんご丁寧に教えてくださってますが? >プログラムの世界では常識です。 それを知らない初心者には非常識です。 あなたも最初は「初心者」でしたよね?

  • FEX2053
  • ベストアンサー率37% (7987/21355)
回答No.6

=IF(A4>0,ABS(A3),A3) あう、あう・・・これ、どこが間違えているのかすぐに気づいて ほしかったんですが・・・あまりに「自明」なので。 それはともかく、Excelは一般的な「関数」を使いこなせる のがあたりまえで、それなしにいじるのは結構無謀ですよ。 まずは初心者向けの説明を理解するとことから、どぞ。 例えばこの辺とかです。 http://all-excel.com/fnc_menu.html Excelには初心者向けの説明サイトが山ほどあります。 自分自身に合うサイトを探しておくと、色々便利ですよ。 私も、しばしば↓のサイトを使いますねぇ・・・ http://www.eurus.dti.ne.jp/~yoneyama/Excel/Exl-_zen.htm で、ですね。 >計算で得られるというのは合計のことだと思いますが >保持した結果というのは? たとえば A1:当期の予算額 A2:当期の執行額 となっている場合で、 A3:予算残高 A4:要補正額 と表示したい場合は、一筋縄ではいきません。なので A5:計算結果の保持 というセルを作って A5:=A1-A2 とすれば、 A5がプラス→A3にA1-A2を表示、A4は空欄 A5がマイナス→A4にA2-A1を表示、A3は空欄 と考えることができます。 すなわちA5(計算結果の保持)を使って、A3とA4の 表示方法を切り替えることができるわけです。要は、 判断基準になる「元数値」と、その結果を表示する 部分を分けて考える・・・ってことです。 ということで、 A3:=IF(A5>=0,A1-A2,"") A4:=IF(A5<0,A2-A1,"") A5を直接使って A3:=IF(A5>=0,A5,"") A4:=IF(A5<0,-A5,"") でも同じ結果が得られます。さらにこうしておけば、「予算 補正を行う場合は、必要額に2割の余裕を見込む」とか いう条件があっても A4:=IF(A5<0,-A5*1.2,"") と簡単に話が終わりますし、予算額の中に減価償却費を 固定で控除したい場合など、A6あたりに減価償却費を 設定して A5:=A1-A2-A6 (減価償却費を固定で控除しておく) なんてすればいいだけ、予算残額や要補正額を修正する 必要はなくなります。 書式設定は、あくまで「見栄え」を向上させるものと考えて 下さい。まずは計算式で求める数値を作ってしまうことが、 Excelの王道ですし、そうしておかないと、あとで修正する ときに、何やってるかわからなくなりますよ。

frau
質問者

補足

わかりやすいリンク先ありがとうございました。 IF関数の読み方について調べました。 =IF(A5>=0,A1-A2,"") A5の結果はA1-A2の結果以上ということですね。0が入っているのは0以上である、つまりマイナスは含まれないということでよいのでしょうか? また「""」の点と間には文字を入力させるためのものですが、空欄をしていするということでもあるようですが、文字を入力しなければ空欄のままでもよいわけです。あえて空欄を指定する目的は何ですか? またアドバイスいただいた事例については画像をアップできないのが残念なのですが、試してみました。 数式の基本的な作り方はわかりましたが、ご回答の一部についてわかりません。 ➡から左は例ですが、 A1:当期の予算額➡(入力)5,000円 A2:当期の執行額➡(入力)4,000円 A3:予算残高➡=IF(A>=0,A1-A2,"")➡(結果)1,000円 この先がわかりません… 減価償却の例のとおりにしてA6にたとえば500、A5には =A1-A2 の式を入れるとA6に入力した数値に従ってA5も変動しますけれど、 A4:=IF(A5<0,-A5*1.2,"") の場合はA5、A6の式はまた変わるんですか? またセル内で1.2をかけるわけですよね?となるとたとえば =1.000×1.2 と入力するのですか?試してみたところ補正額のA4にはなんも反映されません。 ムズイ…

  • FEX2053
  • ベストアンサー率37% (7987/21355)
回答No.5

落ち着いて全文を読んでも、何をやろうとしてるか「全く」 理解不能です。逆に言えば「きっちりとした仕様が出来てない」 とも言えるわけで、上手くいかないのはそれが原因です。 その表を全く見たことない人にも、きっちり理解してもらえる 説明ができるようにすることが、表づくりの第一歩ですよ。 まずは プラスの場合はA4: =ABS(A3) ゼロの場合はA4: =MAX(0,A3) こんな面倒な発想をなぜするのか。if文を使えば1つの式で 出来ますよね。 =IF(A4>0,ABS(A3),A3) ってするだけでしょ? 3条件があっても =IF(A4>0,ABS(A3),IF(A4=0,0,A3)) ってな話です。 更に書式までツッコミたいのなら =IF(A4>0,=TEXT(A3,"#,##0円"),IF(A4=0,"0円",TEXT(A3,"#,##0円"))) この辺かな。いずれにせよまずはこの辺の整理が必要です。 つか、IF文やCHOOSE文ってご存知なんですかね? で、こうやって「計算式」で表を作ってしまうと、計算結果 そのものが「表示されている値」になります。それでいいのなら いいのですが、計算結果はそのままで書式だけいじりたいなら #,##0"円";#,##0"円";0"円";@ ってな話になります。書式文字が何をどう表示するのかは、 さきのMicrosoftの参照先を熟読して下さい。 ちなみに、「負になる(または正になる)場合、"文字列"を 代わりに表示する」という書式設定は可能です。これを使う と、「正の数が表示されているときは"0円",負の数が表示 されているときはマイナスを消す。さらに結果がゼロの場合は 何も表示しない」なんてこともできます。即ち "0円";#,##0"円";;@ こういうことですね。上の書式設定と比べて、何がどうなってる か理解してください。 それはともかく、質問文内に気になるところを見つけました。 >すでに計算式が入っているので入力できません。 Excelの仕様は、「すでに関数の入ってるセルに、新しく数字 を上書きすると、元の関数は消えて無くなり、入力した数字 を消しても元に戻らない」ってことがあります。 即ち、「数字を入力するセル」と「計算結果を表示するセル」 は「絶対に別々にしないといけない」ってことなんです。関数 が入ってるセルに数字を入力するという発想は「絶対に」止め ないと、収拾がつきません。 (マクロを書いてそのあたりを誤魔化す手は無いわけじゃない ですが、それこそプログラミングの素養がないと死にますよ) ということで、まずは「計算で得られる結果」を保持するセル と、「保持した結果を表示する」セルを別々にしてください。 「計算で得られる結果」は見せたくないなら、「列」や「行」 の「非表示」という手段があります(「Excel 列の非表示」で 検索してみて下さい) 結果の保持と、結果の表示が一緒になっているからいろいろと ややこしくなるんであって、これらが別々になれば、いじり倒す のは簡単になりますよ。

frau
質問者

補足

あのう関数はまったく素人なんですけど。もしわかってたらIFというやらを使ってたかもしれません。 目的についても説明の通り実際に作っていただけたうえで意味不明とおっしゃってるのでしょうか? Aグループ(支出合計のみ)の結果から支出明細をそれぞれ減算していき、その合計をだすということだけですが。 =IF(A4>0,ABS(A3),A3) 「循環参照が入っている数式を正しく計算できない場合があります…」というエラーがでました。これはA3セルに負の数値を入れたことに対して、単にゼロ表示するだけのようですが。 A3セル(A1からA2の計算結果(負の場合))となったとき、A3に作用させるためのA4上での式ではないのですか? >「計算で得られる結果」を保持するセルと、「保持した結果を表示する」セルを別々にしてください。 計算で得られるというのは合計のことだと思いますが保持した結果というのは? >数字を入力するセル」と「計算結果を表示するセル」 は「絶対に別々にしないといけない」 については理解しました。

  • FEX2053
  • ベストアンサー率37% (7987/21355)
回答No.4

今ちょっと時間がないのですが、お望みの表示はできそうです。深夜まで締め切らずに待っていて下さい

frau
質問者

お礼

ありがとうございます。お待ちしております。

frau
質問者

補足

こういう計算表を考えております。 Aグループ(A1からA3セル)の支出合計を出します(A4セル)。 Bグループ、Cグループもそれぞれに支出項目があります。(A5、A6、A7)(A9、A10、A11) A、B、C各グループではそれぞれのグループでの支出総額が合計されるセルも作ります(A4)(A8)(A12)。 BとCの各支出(の数値を入力すると)B、Cグループそれぞれ総支出額のセルには、A4より減算された値が自動で入るようにする… ように作成するのがこの収支表の目的なのです。 が、たとえばBグループの支出がゼロの場合、このグループの総支出のセルには整数がでてしまいます。整数ということはプラスです。 Bグループの総支出セルにはAグループの総支出からBグループの各支出を引くという計算式を入力しなくてはならなりません。 しかしグループの総支出額が5.000円、Bグループには総支出がない場合(0円) 5.000円-0円 という計算式になりますが、5.000円となります。 表の項目はすべて支出として扱っていますのでこれでは収入となりますのでこれをゼロ表示にさせる…ということで苦慮しております。 関数を用いると =MAX(0,セル) となるそうですが、そのように、すでに計算式が入っているので入力できません。 そこでユーザー設定でできないかと考えたしだいです。 今のところ「#,##0"円";#,##0"円"」のユーザー設定で0円になりますのでこれでよいかと思いますが… どうか助けてください。 PS 1.000円-0円という計算式上では可能かと思いますが、この結果は整数となります。この整数がゼロになる方法も教えてください!

  • FEX2053
  • ベストアンサー率37% (7987/21355)
回答No.3

セルの表示形式は、あくまで「セルに表示される値」が 「事前に設定した特定の条件」のときに表示される書式を 切り替えるという能力しかありません。入力した数値で 表示する「値」を切り替える機能はないんです。 ですので、お望みの要件の場合、事前に 1.正の数値なら、「1.000円」→「0.000"円"」 2.数値がゼロなら、「0円」→「0"円"」 3.数値が負でも、「1.000円」→「0.000"円"」 と設定することしかできません。即ち「C1」セルは計算 結果によって、↑のどれかにする・・・と言うような(もっと 複雑な設定ができることはできますが)設定しかでき ないのです。 ちなみに↑の条件の場合、書式設定をユーザー定義 にして 0.000"円";0.000"円";0"円";@ となりますね。 つかこれ「(A1)1.000-(B1)0=(C1)0」、計算式 正しくないですよね。なので、演算でC1を求めることは、 演算結果が正しくないのでできないです。 C1セルに複雑な書式設定をしたい場合は、C1セルに設定 する演算式と、その結果のうち、どういう条件のときに どういう書式が必要かを、必ず厳密に全ての条件で列挙 して質問しないと、求める結果は得られないですよ。 プログラムを組む時と同じような発想が必要です。

frau
質問者

お礼

つまりこの質問では 「計算結果がマイナスになったときにこの書式が含まれるセルがマイナス記号「-」の表示がでない方法」 としましたが、A4: =MAX(0,A3)などの関数式でもできるのに書式設定でやろうとしていたということですが書式設定では限度があるということでしょうか。

frau
質問者

補足

私勘違いしたようです。 たとえばA3セルにA1とA2の計算の結果を示し、その数値がマイナスになったときには「-1,000円」というように表示されますが、A4セルにはプラス(またはゼロ)としてその数値を反映させることはできるようですね。 プラスの場合はA4: =ABS(A3) ゼロの場合はA4: =MAX(0,A3) と設定するようですが、0-1.000のような計算も、マイナス記号「-」の表示がでない方法を知りたかったのですが、ユーザー設定でやることではないということでしょうか。 >入力した数値で表示する「値」を切り替える機能はないんです。 とはユーザー設定のことですよね? セルを収支のうえでの支出として扱おうとしましたので、収入が1.000円としたら支出が0になるようにしたかったのですが「計算式」として正しくないということでしたら、収支表を見直しますね。 ちなみに 0.000"円"、0.000"円"、 0.000"円";0.000"円";0"円";@ をそれぞれ設定して1.000-0を計算しましたところそれぞれ1.000.000円というとんでもない結果がでました。やはり無理のようですね。

  • FEX2053
  • ベストアンサー率37% (7987/21355)
回答No.2

#1さんの回答でオッケーなんですが、なんでそうなるか。 http://udemy.benesse.co.jp/office-enhance/excel-user-definition.html http://www.relief.jp/docs/003352.html この辺を読んでいただければわかりますが、ユーザー定義の 書式設定文字は↓のように設定することになっています。 <正>;<負>;<ゼロ>;<テキスト> 通常は<正>の部分しか指定しませんが、負の場合は「;」で 区切って書式を別に指定することができるんですね。なので #,##0"円";#,##0"円"で正解になるんです。 ちなみに、ちょっとややこしいですが、Microsoftのオフィ シャルな説明はこちらを。 https://support.office.com/ja-jp/article/%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E5%AE%9A%E7%BE%A9%E3%81%AE%E8%A1%A8%E7%A4%BA%E5%BD%A2%E5%BC%8F%E3%82%92%E4%BD%9C%E6%88%90%E3%81%BE%E3%81%9F%E3%81%AF%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B-78f2a361-936b-4c03-8772-09fab54be7f4

frau
質問者

お礼

(A1)1.000-(B1)0=(C1)0 (A1)0-(B1)1.000=(C1)0 というようにです。

frau
質問者

補足

ご親切な回答ありがとうございます。 リンク先勉強になりました…といいたいところですが、まだまだ理解できません。 重複させた#,##0"円"をセミコロンで区別すればマイナスが使いないということなのですね… もうひとつ質問いいですか? A1が1.000円、B1が0円、逆にA1が0円、B1が1.000円の場合、それぞれの結果(A3)をいずれも「0」となるように表示させたい場合は、どのような書式設定になりますか? たとえば

関連するQ&A

  • 【Excel】計算結果のプラス記号表示

    計算結果がマイナスになったときには、「書式設定」の数値や通貨、ユーザー設定でマイナス記号を表示されますが、ユーザー設定でプラス表示、かつ、青字での表示となる式や方法を教えてください。

  • 計算結果のマイナス記号が表示されないようにするには

    たとえばA1とA2の計算結果がA3に表示されるとします。 その結果がマイナスになる場合にA4に自動表示されるように指定するには =IF(AG49<0,AG49,0) という関数をA3に設定すればよいのですが、マイナスの記号「-」だけが表示されない式を教えてください。

  • EXCEL関数でマイナスのとき▲表示にするに

    EXCELのTEXT関数でマイナスのときの記号は「-」ではなく「▲」をつけるようにしたいのですが、TEXT関数で以下のように記述するとエラーになってしまいできません。 いま入力しているセル値は下記です。B1の値をTEXT関数で▲100と表示させたいです。TEXT関数の表示形式には、セルの書式設定を参考にユーザー定義に記載のある「0;"▲ "0」を入力しています。以上、よろしくお願いします。  A1の値は-100  B1は=TEXT(A1,0;"▲ "0)

  • 【Excel】「円」表示でマイナスには赤字にする

    たとえば数字を打つと「円」と自動表示させるには、「セルの書式設定」の数値、通貨、会計にはありませんので、「ユーザー設定」で#,##0"円"の式を設定します。 しかしこれは数値がマイナスの場合に赤字に変化しません。一方で数値、通貨はそのような表記が選択できますが、「円」がありません。 自動で「円」表示となり、かつ、マイナスの数値の場合には赤字になる方法がありましたら教えてください。ちなみにバージョンは2007です。

  • 【関数】あるセルの負の結果を負の記号を表記させない

    A1にはあるセルの結果が入ります。 また、書式設定でA1がマイナスの場合に負の記号を表記されるように設定されています。 B1にA1を反映させたいときには「=A1」という数式ですが、このとき、A1が負の結果の場合、正の記号(つまり「-」を表示させない)とする関数式を教えてください。

  • 【Excel】一つのセルの結果を別のセルにも反映

    たとえばA3セルにA1とA2の計算の結果を示し、その数値がマイナスになったときには「-1,000円」というように表示されますが、A4セルにはプラスとしてその数値を反映させることはできますか? プラスというのは「-」を表記させないという意味でもありますが、計算上での利益として扱うということでもあります。 もし可能なら教えてください。

  • Excelでセルの表示形式について

    セルに数字を入力するとその数字に『( )』(カッコ)が付き、『-』(マイナス)の数字では『( )』内に『▲』が付くように設定したいと思っています。さらにコンマ付きで。 例えば『12345』と入力すると『(12,345)』、『-12345』と入力すると『(▲12,345)』と表示されるようにしたいと思っています。 セルの書式設定のユーザー定義からいろいろ試みたのですがうまくできませんでした。 どのように設定したらよいのでしょうか? お願いします。

  • 計算結果が「0」のセルだけを「0」と表示したい。

    エクセル計算表内で通常は・・計算外のゼロは・・画像のように・・「ツール」→「オプション」で「ゼロ非表示」と設定していますが、一部の計算結果が「ゼロになる場合だけ」・・そのセルだけをゼロ・・「0」表示さ せる方法はないでしょうか?・・・ご存じの方、居られましたら・・御指導のほどを!・・・

  • Excel セルの表示形式

    計算の結果が「-」だった場合、 例 セルA-セルB=-5 の計算結果「-5」を 「+5」 と表示したい場合、どのように書式設定、または数式を入れたり すればよいでしょうか? ※ちなみに セルA-セルB=5 だった場合は 「5」 と表示したいです。 あくまで計算結果が正の数字だった場合はそのまま、 負の数字だった場合のみ、あえて-を+と表示したいです。

  • 【EXCEL】マイナス非表示

    数式が入ったセルで、マイナス数値なら非表示にする方法はありますか? 「条件付き書式」の方法以外で何かあれば教えてください。

専門家に質問してみよう