• 締切済み

エクセルのIF関数について質問します。

C列のセルに、もしA列のセルの数字がゼロならば-を表示し、ゼロ以外ならA列とB列の積を表示するようにしたいのですが、A列のセルが未入力のでもゼロと数えられるのかC列には-が並んでしまいます。Aに数値を入力し時だけ、Cを表示をする方法を教えて下さい。よろしくお願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

もう答えは出ている。こんな質問は初心者の初めだけに出る疑問。 (主原因)そもそもエクセルでは関数を通じると空白は0扱いになる特徴のせいでもある。 IF関数は「ネスト」ということが出来て、このやり方を使う場合が多い。質問は もしA1が空白ならば で1回IFを使い その影響下の中でA1がゼロならば、と「もう一度」IFを使う。 2回までは結構使うことが多い。 ーー 余談だが 3回以上ネストなどした式を書くようなら、自分が知らない他の関数でやる、スマートな方法があるはず、と考えて、WEBや関数の本を調べること。MATCH関数やVLOOKUP関数INDEX関数の話題のことが多い。 ーー Googleででも「if関数 ネスト」で照会すると沢山の記事がある。 http://kokoro.kir.jp/excel/if-and.html 以下目ぼしいものを読んで勉強のこと。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

=IF(A1="","",IF(A1=0,"-",A1*B1)) でいいです。

  • szk9998
  • ベストアンサー率45% (1024/2232)
回答No.2

BLANK(空白セル)を検出した上で、計算式を入力したらどうでしょうか? =IF(ISBLANK(A1),"",IF(A1=0,"-",A1*B1)) といった感じで。

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

C2=IF(COUNT(A2:B2)=2,A2*B2,"") としてC2の表示形式を会計にして記号をなしとするか C2=IF(COUNT(A2:B2)=2,IF(A2=0,"-",A2*B2),"")

関連するQ&A

  • エクセル if関数

    エクセル初心者なのでうまく説明できないのですが、以下のような条件で数式を入力したいのですが教えていただけないでしょうか。 例えばなのですが、A1のセルに入力されている文字列に”高橋”を含んでいたならば、C1のセルにB1のセルに入力されている数字×”1500”の計算結果を表示したい。 また同様に、A1に入力されている文字列に”伊藤”を含んでいるならば、C1のセルにB1のセルに入力されている数字×”1000”の計算結果を表示したい。 つまりひとつのセル”高橋”が入力されている場合と”伊藤”が入力されている場合の二つの条件をつけたいのですが、このようなことは可能でしょうか。 宜しくお願いいたします。

  • 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」と、そのまま文字列として出て来ちゃいます。

  • 先ほど質問したものです。 VLOOKとIF関数の合体バージョンは可能ですか?

    先ほど、 1  1~10  A 2 11~20  B 3 21~30  C 4 31~40  D    : ★「C1セルには数字を入れます。その数字が8ならば、8は1~10の中の数字なので、D1のセルにAと表示される。15ならばBと入力したいです。 と質問し、 ↓ A列の数値を 1 11 21 31 : 191 のように入力しなおします。 D列の関数は  =VLOOKUP(C1,$A$1:$B$20,2) とお答えをいただいた者です。 更に、計算させたいことが出来てしまいました。 1~10の数字が入力された場合に表示させる文字が「A」から400に。11~20の数字が入力された場合に表示させる文字が300になりました。 1  1~10  400 2 11~20  300 3 21~30  C 4 31~40  D C1セルに、25と入力された場合はD1セルにCと表示。 これは教えていただきましたが、 もし、5と入力した場合、D1のセルには400と表示されますが、表示される項目が1~10の中の数字だった場合、5%を掛けたいのですが、出来ますでしょうか? 教えていただいた関数=VLOOKUP(C1,$A$1:$B$20,2)で、400と表示されますが、1~10までの数字を入力した場合のみ、400×5%で「20」と表示させたいのです。 よろしくお願いします。

  • ExcelのIF関数について

    A1 A=1 B2 B=2 C3 C=3 と設定してA2以降のA列のセルにそれぞれAかBかCを入力すると、B2以降のB列に最初に設定した数値を返すようにしたいのですが、いい方法はありませんか? 最初のB2に書き込む関数の書き方を教えていただけたら幸いです。

  • エクセルでのIF関数:この場合どうすれば?

    IF関数を使うと思うのですが、このような場合どのように入力すればよろしいのでしょうか? 特定のセル(たとえばC1のセル)にマイナスの数字もしくは、プラスの数字もしくは空白が入力されており、たとえばB1のセルに関数を入力するとき C1に空白以外の数値が入力されている場合に限り、A1に入力されている数値をB1のセルに入力(反映)させたい場合。 また同時に、C1が空白の場合、B1も0ではなく空白にしたい。 どなたかご教授ください。よろしくお願い致します。

  • Excel2003でif関数を使うとSUM関数で反映されません

    A1セルに金額を入力すると、B1に1と表示させる為に=IF(A1,"1","")といった数式を入れております。 さらにC1にBセルの合計値を表示させる為に=SUM(B1)C2には=SUM(B1:B2)と入力しているのですが、B列のセルにIF関数を使った数字『1』が表示されてもC列セルに反映されないので困っています。 ここで質問ですが、A列セルに金額が入力されるとB列セルに数字『1』が表示され、更にC列セルにB列セルの合計値が表示される様な関数等はありますでしょうか?解り難い説明ですいません。 因みにA、B、C列共に1~31までのセルがあります。

  • Excel 関数について

    Excel 関数について データにちょっと数値を追記したいのですが、頭が混乱して何をやっているかわからなくなり、質問させて頂きます。 D1セルに以下セルの数値を入れたいのですが・・・ A1セルが0の時はB1セルの数値を。。でもA1セルに0以外の数値が入っている時はそれをD1セルに入れる。 B1セルも0の時はC1セルの数値を。。でもB1セルに0以外の数値が入っている時はそれをD1セルに入れる。 要するにA列B列C列にはそれぞれ数値が入っているのですが、A列とB列は0のところもあり。。。 列の優先順位としてはA列を最優先としてB列→C列の順に優先列の数値が0の時は最終的にはC列の数値が入るようにしたいです。 説明もわけがわからなくてすみません~どなたか教えて下さい(>_<)

  • Excelの関数について

    Excelの関数について 今表を作っていて 1日数回データを取って それを1ヶ月ぐらい続ける予定で その結果をExcelの表に入力したいと思っています。 A列に現在値 B列に増加分 C列にA+Bの値を入れたいと思っています。 なので、C列には、C1には=SUM(A1,B1)として セルの右下にポインタを合わせて十字で下まで引っ張って関数をコピーしています。 で、そうするとC列に0が表示されてしまい それはなんとか、ツール→オプション→表示→ゼロ値のチェックを外して解決したのですが C列の合計値は次の行のAのセルに表示したくて 例えば C3の数値はそのままA4に C7の数値はそのままA8にといった感じで で、A2のセルに=C1とかA5のセルに=C4とかしたのですが いちいち関数を埋め込むのは面倒くさいので 下のほうまで関数をコピーしたところ 関数が埋め込まれているので A列とB列にしたの方まで同じ数字が表示されています。 これって消すことはできないのでしょうか? 現在は 最初のA1セルだけに数値を入れたのですが関数を埋め込んだことにより A列とB列すべてにA1セルの数値が表示されています。 まだデータを取っていないのでB列は空白です。 ただ、できれば、下の方に数値が表示されないようにしたいんです。 言葉で説明すると A列とB列に数値が入力されない限り、C列の合計値は表示されない設定にできれば 私の言っているような状況になると思うのですが、そういう事はできないのでしょうか… 教えてください。

  • エクセル関数 条件適合時にゼロ値を表示したい。

    エクセルの計算結果のゼロ値の表示方法について教えてください。 セルは、A列・B列・C列に各7行があります。 A1 B1 C1 A2 B2 C2 A3 B3 C3  ・  ・  ・  ・  ・  ・ と言う感じです。 A列とB列は任意の数値を入力し、C列は(A列-B列)の計です。 例えば、C列の計算結果として、次のように数字を表示させたいのです。     A列  B列  C列 1行   8   6   2 2行             (A列に未入力なので、C列にはゼロ値も表示しません) 3行   5   5   0 (計算結果として、C3にはゼロ値を表示します) 【A列に数値が入るかどうかは、その度に変わります。次の時にはB1せるにも数値が入る可能性があります】 C1セルに計算式を入力し、下のセルにはフィルドラッグで入力できるような式はあるでしょうか? よろしくお願いします。

  • エクセルで…関数かマクロか?

    エクセル2007を使っています。 3列のシートがあるとしますね。 それぞれの列は、「A 現金残高」、「B 収入」、「C 支出」とします。 たとえば、3行目から数値を入れるとします。 普通ならば、B3 (収入)のセルに 1000(円) と数字を打ち込めば、 A3 (現金残高)のセルに同じく 1000が入るよう、=B3 とすればいいと思います。 同様に、C3のセルに1000と入力すれば、 A3のセルには -1*(C3) とすることで、現金残高が収入と支出によって、 プラスマイナスされるようにし、あとで各列を∑すれば済みますね。 でも、いま僕がやりたいのは、 たとえば現金残高 A3のセルに -1000 と入力すると、自動的に C3のセルに 1000 と 表示され、A3に 1000 と入力すると、 B3のセルに 1000と表示されるようにしたいのです。 要するに、現金残高に入力した数値がプラスかマイナスかによって、 数字が表示されるセルを個別に指定し、指定したセルに計算結果を表示させたいわけです。 IF関数で、数値のプラスマイナスは判断できますが、任意のセルを指定させる方法が わかりません。 「もし…だったら 『任意のセルに』○○せよ」  というような指定はできるのでしょうか? もしくは、マクロを使わないとできないのでしょうか? いろいろサイトも調べてみましたが、力不足で回答にたどり着くことができませんでした。 よろしくご教授お願いいたします。

専門家に質問してみよう