• ベストアンサー

Excel IF関数

前日在庫数、本日在庫数で差異があるものを表示しています。 現在の関数は =IF(B2<>C2,"修正","") で、画像の様になっています。 黄色の部分で表記した場所は表示不要の物です。 2→3 や 10→1など、1以上の自然数で変化があった場合は、真っ白のままで表示されるようにしたいです。 0→1以上 もしくは 1以上→0 の場合のみ「修正」と書かれる状態にしたいです。 どのような関数を入力すればよいでしょうか、ご教授お願いします。

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

  • ベストアンサー
  • f272
  • ベストアンサー率46% (8040/17180)
回答No.2

#1です。 間違えた。 =IF(AND(B2<>C2,B2*C2=0),"修正","") ですね。

XTAH
質問者

お礼

ありがとうございます。バッチリ出来ました!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.5

こんな感じかな? =IF(COUNTIF(A2:B2,0)=1,"修正","")

全文を見る
すると、全ての回答が全文表示されます。
回答No.4

以下の条件を満たした時にC1に”修正”と表示する式とは? 1、(A1-B1)<>0 2、A1=0 or B1=0 そのまんま式にすると =LEFT("修正",ABS((A1-B1)*((A1=0)+(B1=0))*2))

全文を見る
すると、全ての回答が全文表示されます。
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.3

>現在の関数は =IF(B2<>C2,"修正","") で、画像の様になっています。 画像と数式が矛盾します。 =IF(B2<>C2,"修正","") ではなく =IF(A2<>B2,"修正","") であれば画像と一致します。 >黄色の部分で表記した場所は表示不要の物です。 C列の計算結果を「""」にしたいのですか? 目的によって数式が異なりますので明確にしてください。 >2→3 や 10→1など、1以上の自然数で変化があった場合は、真っ白のままで表示されるようにしたいです。 >0→1以上 もしくは 1以上→0 の場合のみ「修正」と書かれる状態にしたいです。 「真っ白のまま」とは「""」にするのですか?(表現を明確にしてください) IF関数の論理式を考え直す必要があります。 =IF(A2<>B2,"修正","")     ↓ =IF((A2<>B2)*A2*B2,"","修正") または =IF((A2<>B2)*((A2=0)+(B2=0)),"修正","") =IF(AND(A2<>B2,OR(A2=0,B2=0)),"修正","")

全文を見る
すると、全ての回答が全文表示されます。
  • f272
  • ベストアンサー率46% (8040/17180)
回答No.1

=IF(AND(B2<>C2,B2*C2<>0),"修正","") で十分でしょ。

XTAH
質問者

補足

これですと逆に1以上→1以上のみ表示されてしまいます。 逆を教えて頂けますでしょうか。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルでIF関数について

    =IF(E19>=100000,E19-100000,0) この関数式が入力されているセルはE19のセルが10万以上の場合10万を引いた数が表示されますが、例えばE19のセルが178000の場合、78000というように表示されます。ところが、千単位以下を全部0000表示し万単位以上の数字だけを表示させる場合どのような関数式になるのでしょうか?例えば、E19のセルが178000の場合、70000という具合にです。わかる方ぜひ教えてください。よろしくお願いします。

  • エクセル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関数とは、 =IF(論理式、真の場合、偽の場合) なんですよね? エクセル初級の問題で、 参加者数に中止と入力されている場合は「0」 参加者数が入力されている場合は「ツアー代金 ×参加者数」を計算するように数式を修正しなさい という問題があるのですが、 =IF(参加者数が入っているセル番地(例:D13)=”中止”,0,ツアー代金(例:C13)*参加者数(例:D13)) つまり、 =IF(D13=”中止”,0,C13*D13) が回答になっています。 データの表を実際に入れてないので わかりづらくてすみません。 しかし、 =IFのあと、 =IF(D13=”中止”,0,  と入力したら、真の場合と負の場合って 何をさすのですか? 論理式自体が中止の場合0と入力するように するのですか? それともこれが真の場合で、 参加者数が入力されている場合が負の場合なのですか? 教えてください!

  • エクセルIF関数について

    エクセルIF関数について お世話になっております。エクセルのIF関数について教えてください。 例えばA1に任意で入力する数字があるとします。 このA1の数字が4以下なら○、10以上なら×、5-9の間なら何も表示しないというような関数を組みたいのですが、どなたか教えていただけないでしょうか? たぶん、IF関数だと思いますが、もし違うならその関数を教えてください。 よろしくお願いします。

  • IF関数について

    エクセルで毎日の入出金の記録(家計簿のようなもの)を付けているんですが、前日の残高に今日の入金・出金の値を入れて改めて本日の残高を算出というように1か月分のシートを作っています。 そうすると1日目は入金-出金=残高、2日目以降は前日の残高+本日の入金-本日の出金=本日の残高という具合に進行していきますが、あらかじめこの計算式を入れておくと本日以降の残高がすべて前日の残高で表示されてしまい、あまり気持ちのいいものではありません。 IF関数を使えば未決算日以降の残高をブランクに出来るものと思いますが、方法を教えてくだされば助かります。

  • エクセル IF関数について

    エクセル IF関数について 画像のような表があり、進捗の列へ進捗率を入力することで ステータスの列へ”着手中”等の表示をさせたいです。 個々の式は解りますが、組み合わせ方がわかりません。 ご教授をお願いします。 条件 未着手 開始日>本日 かつ 進捗=0% 着手遅 開始日<本日 かつ 進捗=0% 着手中 進捗=1%以上 完了遅 終了日<本日 かつ 進捗=1%以上 完了 進捗100%

  • エクセル・IF関数について

    困ってます。 「AV7」というセルに「=IF(AO7="除外",0,AS7)」という関数が入っています。 =つまり「AO7」のセルに"除外"という文字が入っていた場合に「0」と表示され それ以外の文字の場合は「AS7」の文字がイコールで「AV7」に表示される、という関数です。 で、、その「AV7」の隣のセルに 「=IF(AV7>=1000000,1000000,AV7)」という関数を入れています。 =AV7の数字が1000000以上だった場合は1000000となるということです。 で、、、AV7のセルに特に何も入力がなければAV7隣のセルも何も表示をしないように したいのですが、AV7に入力がないときも、なぜか「1000000」と表示されてしまいます。 何が問題なのでしょうか?解決法を教えてください。

  • Excel 変更点をわかりやすくするには

    商品の在庫状況をExcelにて取りまとめています。 毎日Excelにて在庫状況の連絡が入り、差異があった部分を見つけ出し修正していっております。 しかしながら100点ある商品で変更があった部分を探し出すのにとても時間がかかってしまっております。 そこで前日までの在庫のExcelと、本日の在庫のExcelの差異を簡単に探す方法があれば教えていただけないでしょうか。 理想としては照らし合わせ、差異があった部分のセルの色が変更される、などというものだととても助かります。 どうぞよろしくお願いします。

  • Excel IF関数を短くする式を教えて下さい。

    ExcelのIF関数が長くなりすぎて困っています。 短くする方法あれば教えてください。 =IF(A1="",0,IF(A1<4.5,A1,4.5))+IF(B1="",0,IF(B1<4.5,B1,4.5)) のように"4.5より数が小さい場合はセルの値を返し、 4.5より大きい場合は4.5を返す"というのを繰り返し合計していきます。 60セル以上を合計したいのですが、それだと数式が長すぎて・・・ 何か短くする良い式があれば教えて下さい。 よろしくお願いします。

専門家に質問してみよう