• ベストアンサー

エクセル  IF関数  絶対値

A列には正の数 B列には負の数が入っていて C列に IF A1>B1、正、負 としたいのですが 負の数を絶対値にする方法がわかりません。 例えば A1が3でB1が-4のときは 「3」「4」を比べて4の方が大きいので「負」と表示させたいです。 よろしくお願いします。

noname#150256
noname#150256

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

  • ベストアンサー
  • k-pix
  • ベストアンサー率51% (50/98)
回答No.5

絶対値の件はすでに回答されていますのでさておき、 A列:正,B列:負 と決まっているのなら、例えばC1セルには、 =IF((A1+B1)>0,"正","負") とされればよいのでは?

noname#150256
質問者

お礼

なるほど! 大変参考になりました。ご回答ありがとうございます。

その他の回答 (4)

回答No.4

整数 B の絶対値は abs(B) 実数 X の絶対値は fabs(X)で, B,X の値は変化せず,表示すると,負なら-になっています。

noname#150256
質問者

お礼

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

  • saku07
  • ベストアンサー率10% (4/38)
回答No.3

ABS(数値) で絶対値を出すことができるので、 =IF(ABS(A1)>ABS(B1),"正","負") でどうでしょうか。

noname#150256
質問者

お礼

大変参考になりました。ご回答ありがとうございます。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

ABS(B1) で、絶対値が出ます。

noname#150256
質問者

お礼

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

  • deecyan
  • ベストアンサー率38% (89/233)
回答No.1

ABS関数です

noname#150256
質問者

お礼

できました! ご回答ありがとうございます。

関連するQ&A

  • Excelの関数『IF』にて・・・

    EXCELにて、関数IFを使って一覧表から 自動入力をしたいと考えています。 例えば、以下のようにしてセル『C1』の数字に 応じて、自動を試みたい時 =IF($C$1>80,"=A1",IF($C$1>70,"=B1","=C1")) =A1,=B1,=C1 の場所を文字列としてしか読み取ってくれません =A1,=B1,=C1では無く=A1,=B1,=C1のセルに入力されてる 数式(他のセルの値)を、表示したいんですが どのようにすれば可能でしょうか? 何度やっても「=A1」と、そのまま文字列として出て来ちゃいます。

  • エクセル2007 IF関数について教えてください

    お世話になります。 どうしてもIF関数がうまくできず困りはてています。 下記のような項目を含むデータを2万件くらい抽出しています。 A列     B列  C列      D列 E列 状況    拒否理由       注文数   確認数 (1) 在庫不足   入力ミス  1     0 → キャンセル (2) 在庫不足       1      0 → 未処理 (3)                 5        0 → 未処理 (4)                 1       1 → 処理済 (5)   お客様キャンセル      10    0     →     キャンセル 未処理の件数を管理したいのですが、キャンセル扱いとなる条件を除く IF関数をうまく作成できません。 =IF(AND(D2>0,E5>0),"完了","未処理") といったように1個の条件についてはなんとかできるのですが、 B列が空欄or文字の入力有、C列が空欄、E列が0の数字の場合、D列の 数字を表示しなさい、といったようにまとめて、条件式をつくることができません。 何個かつなげると、TRUE、FALSEと表示され指定する列の(この場合D列)数字が表示 できません。 IF関数でなくてもよいのですが、未処理(キャンセル扱い除く)条件のみの数字を表示させる 方法をご教示お願いいたします。

  • Excel 長すぎるif関数

    こんにちは。Excelを使って、条件によって表す表示を変える場合、 例えばa1のセルには0~100までの任意の数字を入れるとして、b1のセルにa1の数字に応じていろいろな表示をしたい場合(具体的には100ならAを表示、90~99ならB、70~89ならC、55~69ならD・・・といったように)、if関数を使うと思いますが、 =if(a1=100,"A"1,if(a1>=90,"B",if(a1>=70,"C",if・・・・)))というように長々と続きますね。条件が少ないうちはいいのですが、条件が多くなると、大変複雑な式になり、入力もしづらいし、頭も使うし、閉じる括弧の数もわからなくなるし、作成に時間もかかりますよね。2つ以上の条件が重なる(例えばA1が90~99の範囲でかつa2がAならb1にB1と表示するなど)など複雑になってくるともうお手上げです。 これらを短時間で要領よく作成する方法はないでしょうか?次の観点で教えてください。 1 if以外の良い関数はあるか?または良い機能はあるか?それとも複雑であってもif関数が妥当なのか? 2 (if関数が妥当であるとして)複雑なif文の作成を簡単にできる方法があるか?あるいはそんなソフトがあるか? 3 やっぱりそういうのはVBAとかで作った方がいいのか?(できれば使いたくないのですが。)

  • エクセル関数 IF関数で出来ませんかね

    エクセル関数 IF関数で列への書式設定をしているのですが、私が考えていることが出来ません。お力をお貸ししてください。   A列    B列    C列  請求書   領収書  備考欄 1 ○  2 不要         TEL 3 ○ 4 5 不要         TEL A列はユ-ザ-定義で[=1]"○";"不要"としており、問題はC列へのA列での「不要」となった場合にTEL(=A1とし、セルの書式設定[=1]"":"TEL")でコピ-で自動的に表示させられるのですがA列へのデ-タが莫大に多いもので、IF関数で試行錯誤しています。 =IF(A1=1,"","TEL")でコピ-も考えたのですが、未入力(A4)の場合もTELで表示されます。C列をいっぺんに指定してIF関数で出来ないものでしょうか?  

  • エクセル:関数での計算方法

      A      B      C     D 1 ▲ 1.1   #DIV/0! 2 ▲ 1.3   1.4 3 1.5     #DIV/0! 4 #DIV/0!   ▲0.8 5 0.1     ▲2.1 6 ▲ 0.2   #DIV/0! 7 #DIV/0!   0.5 8 0.2      0.2 9 10 上記の様に、正の数・負の数・#DIV/0!が混載しています。 この状態でA9・B9・C1~C8に正の数のみを足した合計値。 A10・B10・D1~D8に負の数のみを足した合計値を出したいのですが可能でしょうか。 30列×20行×4シートほど有り、1つづつ計算すると大変なので簡単にやりたいです。 すみませんが宜しくお願いします。

  • エクセルのif関数で

    エクセルのif関数でこれができるのかわかりませんが、 C1~C10の中の文字列の中にA1と同じ文字列があればB1に「1」を入れ、なければ「2」を入れるということをやりたくて B1のセルに IF(OR(C$1:C$10=A1),1,2) という計算式を入れました。 関数の引数の中の数式の結果では、正しい結果が表示されてるのですが、B1のセルには間違った結果が表示されます。 また、B2以下B20まで計算式をコピーするとB11以下は#VALUE!になってしまいます。 一つ一つを見てみると、どうやらセルに正しく表示されるのはAの行とCの行が=だった場合のみのようです。 #VALUE!が表示されているセルも含めて、数式の結果では正しい結果が出ているのにセルの表示が違っているのが納得できませんが、おそらく何かが間違っているのでしょう。 間違いを教えてください。 よろしくお願いします。

  • エクセル IF関数 条件

      A  B  C (1) 100 98 (2) 100 120  (3)  0  0 答えをCに表示したい。 B列がA列より大きい場合は0 B列がA列より小さい場合は ((B列-A列)×100円)+1000円 A列が0の時は、0円 A列が0の時に、1つのIF関数だけでは 1000円が表示されてしまいます。 どんな式をいれたらいいか教えて下さい。

  • エクセル IF関数 初心者です。。

    A    B   C  D Aさん 9:00  1  9:00 Bさん 10:00 2  9:30 Cさん 11:00 3  10:00 Dさん 12:00 4  10:30 Eさん 9:00  1  9:00 A列氏名 B列時間 C列 B列IF関数 9:00からは1、10時からは2、 11からは3・・・ D列はC列のVLOOKUP関数 1=9:00、2=9:30、3=10:00・・・ そこでお聞きしたいのですが・・ A    B   C  D Aさん 9:00  1  9:00 Bさん 10:00 3  10:00 Cさん 11:00 4  10:30 Dさん 12:00 5  11:00 Eさん 9:00  2  9:30 IF関数を用いて IF(B1>=0.375),1,if(B1>=0.416666666666667),2,IF(B1>=0.458333333333333),3・・・ Eさんが2になるような数式がわかりません。 よろしくお願いします。。

  • エクセル 関数

    sheet1 エクセルのA列に名前が入力されています。 B列にはその個数が正の数または負の数で記入されています。 小数点を含む数はありません。 尚、A列の名前は同じ名前が何度も入力されていて、その行ごとに 個数は異なっています。 上記の状態でsheet1のB列全体の負の数を0(数値)として 同じB列に表示させるには、 どのような数式をシート内のどの部分にはりつければよいのか教えてください。 ROUNDDOW関数を使っていろいろためしましたが、エラーばかりで質問させていただきました。 よろしくお願いします。

  • エクセルのif関数について

    現在データ処理のためにエクセルを使っていますが、ある条件処理をうまくできなくて困っています。どうかお知恵をお貸しください。 <内容>  A列    B列 1行  0.38% -1.74% 2行  3.16% 1.75% 3行 -0.34% 1.91% 4行 0.17%   -3.55% 5行 -0.13% 2.65% 逆相関について調べているのですが、A列1行に対応する数値B列1行は逆相関ですからC列1行に「○」を表示し、2行は相関ですからC列2行に「×」を表示したいのです。 C列6行には「○」の個数である「4」の表示もできたらしたいです。 さらに「○」ならば絶対値を足していき、「×」ならば絶対値を引いていく、つまり上記の場合は|1.74|-|1.75|+|1.91|+|3.55|+|2.65|=8.10と表示したいのですがさっぱり見当がつきません。 例えばD列に「○」ならば絶対値プラス、「×」ならば絶対値マイナスというような表示の仕方もあるのでしょうか?それができるのならばあとはオートサムでやれば簡単に8.10の合計値はでるのですが。。 ちなみにややこしくなるのであれば単に1.74や-0.13のような数値表示もよく、パーセント表示でなくともかまいません。 どうかよろしくお願いいたします。  

専門家に質問してみよう