• ベストアンサー

IF関数

 また質問します。IF関数を使い、IF(ROUNDDOWN(A1,0=0,"0",ROUNDDO WN(A1,0),IF(A1="","",""))というう式を作ってみたのですが引数が  多すぎますとエラーが出てしまいます。  式の条件はA1が0なら0、A1がそれ以外なら切捨てた数字、A1が空白  なら空白というう条件にしたつもりなのですが上手くいきません。  この数式の間違っている所と、これ以外にいい算式があれば教えて  下さい。宜しくお願いします。

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.4

正しくない式からは意味が読み取れないので、やりたいことを書いていただいたほうが判りやすいかと… 『A1の値が空白なら空白、それ以外の場合A1の値を1の桁で切り捨てた値が0なら0、0でなければ切り捨てた値』 ということでしょうか? 実は後半はダブっているので、以下のようにまとめることが可能です。 『~それ以外の場合は、A1の値を切り捨てた値』 これを式にしてみると  =IF(A1="","",ROUNDDOWN(A1,0)) となりますが、A1に文字が入っているとエラーになります。 それも回避したければ・・・  =IF(A1="","",IF(ISNUMBER(A1),ROUNDDOWN(A1,0),A1)) といった具合で、段々と長い式になってきますね。 (文字の場合は、その文字のまま表示されることにしてあります)

gerorian
質問者

補足

分かりづらくてすいません。『A1の値が空白なら空白、それ以外の場合A1の値を1の桁で切り捨てた値が0なら0、0でなければ切り捨てた値』 この文章の通りです。=IF(A1="","",IF(ISNUMBER(A1),ROUNDDOWN(A1,0),A1))この数式通りやってみたのですが、0が表示されませんでした。書式設定の問題なのでしょうか?

その他の回答 (5)

  • okdeath
  • ベストアンサー率28% (13/46)
回答No.6

こんちにわ。 すでにFEX2053さんで解決ずみだと思います。 また、mu2011さんの =IF(A1="","",INT(A1)) が、この質問の理想の回答だとおもいます。 >大変有難うございました。上の式を入れてやってにたんですが、切捨てで0になる所が空白になってしまいます。 失礼ですが、gerorianさんのチェックミスだとおもいます。 ちゃんと切捨てで0は0と表示されます。

  • Sinogi
  • ベストアンサー率27% (72/260)
回答No.5

#1で解決しているのでは?

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

ご提示の数式はどこから進言してよいかわかりませんので、御質問者の記載されている条件の通りに数式にしてみましたので比較して下さい。 =IF(A1="","",IF(A1=0,0,ROUNDDOWN(A1,0))) 因みにセルが未入力な状態は、0または""(空白)であるから条件順は空白からにしています。 一例です。 =IF(A1="","",INT(A1))

gerorian
質問者

補足

大変有難うございました。上の式を入れてやってにたんですが、切捨てで0になる所が空白になってしまいます。ここも空白ではなく0と表示させたいのですが何かいい方法はありませんか?    5.50  0.25  未入力     5      0    空白 このような感じになれば有難いです。

  • 19721219
  • ベストアンサー率24% (80/323)
回答No.2

=IF(A1="","",(IF(A1=0,0,(ROUNDDOWN(A2,0))))) 【※対象セルがA2にある場合】 if関数を連続して使う場合には、後ろから記載するとわかり易いです。 =rounddown(A2,0) =(rounddown(A2,0)) ←両サイドに()をつける =if(A1=0,0,(rounddown(A2,0))) =(if(A1=0,0,(rounddown(A2,0)))) ←両サイドに()をつける =IF(A1="","",(IF(A1=0,0,(ROUNDDOWN(A2,0)))))

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

あの~・・・そんな複雑に考えなくても。 A1がゼロならば、切り捨ててもゼロですよね。 だとするとチェックするのはA1が空白のとき空白、ってだけでしょ? =IF(A1="","",ROUNDDOWN(A1,0)) コレだけでうまくいくはずです。

関連するQ&A

  • IF関数を教えてください

    いつもお世話になっています。 A1 B1 C1共に空白なら「空白」 A1+B1+C1が空白以外(数字)であれば「その値」を返すという関数にしたいのですが、今=IF(A1+B1+C1=0," ")にしましたが、数字の時にその値を返す式にできません。(FALSEになります) もしできましたら、解説付きで教えていただけませんでしょうか。 よろしくお願いします。

  • 一つのセルでIF関数を二つ使いたい

    二つのセルの値を割って、%を表示させるために、三つ目のセルには 「=1-(B1/A1)」を入れていたのですが、そこに、二つのセルが空白の時にはエラー表示にならないようにIF関数を使い、三つ目のセルは 「=IF(ISBLANK(A1),"",(1-(B1/A1)))」 という数式にしました。 その数式にさらに、もし二つのセルの値が「0」の時には、結果を「0%」として表示させたくて、三つ目の数式の中にもうひとつのIF関数を同時に使いたいのですが、 一つのセル内に、IF関数を使って結果をうまく表示させるには、どのような数式にすれば良いでしょうか??

  • Excel2003セルに数式エラーインジケータが出ます、IF関数を教えてください。

    WinXP Excel2003です。 X5のセルに次の式を書きました。    '=IF(I5="","",IF(12-COUNTA(J5:U5)=0,"",12-COUNTA(J5:U5))) 算式エラーのインジケーター(左上)が出て消えません。 私の頭の中では、   ポインタ I5 が空白の時は何も表示しない   もし、(数字)12-COUNTA(J5:U5)=0,だったら""(何もしない)   そうでなければ、12-COUNTA(J5:U5)の結果を表示せよ。 と書いたつもりなのですが? 結果は、思惑どうりの数字が表示されますが、数式エラーインジケーターが消えません。 どこがエラーなのか、どなたか助けてください。

  • エクセルのIF関数とVLOOKUP関数について教えてください。

      A B C 1 A1 B1 C1 2 A2 B2 C2 ・ ・ ・ 上記のような表があり、セルX、Yに入力した値が2つの条件に合致した場合、セルZにC列の値を返すような数式を作っています。 たとえば、セルXの値がA1より小さく、かつ、セルYの値がB1より小さい場合にはセルZにC1の値を表示する、という数式を作りたいのです。 (ちなみにAn、Bn、Cnにはそれぞれ数字が入ります) =IF(AND(X<=A1,Y<=B1),C1,IF(AND(X<=A2,Y<=B2),C2,・・・ AND関数を利用してこのように数式を入れると、途中まではうまくいくのですが、引数が多いため途中からエラーが出てしまいます。 (引数の数は10個以上あります) IF関数とVLOOKUPを組み合わせればいいというところまではわかるのですが、どのように条件設定をすればいいのかがわかりません。 エクセル初心者で恐縮ですが、どなたか詳しい方いらっしゃいましたらご回答よろしくお願いいたします。

  • IF関数について

    教えてください 6 10 7 8をそれぞれ掛けて  6*10 6*7 6*8 で60 42 48になります この数字 60 42 48の1桁の数字 0, 2, 8, を関数で表示できますでしょうか 10代の数字なら IF(A1>10,A1-10,A1)でやったことがあります どんな数式になるんでしょうか 宜しくお願いします

  • if(and)関数の数が8番目になるとエラーが出ます。

    関数の初心者です。宜しくお願い致します。 Excel2000使用 セルB1に下記の様な関数を15個入れていようとしていますが、7個までは問題なくなく正しく計算されます。8個目を入れますとエラーが出てきた進む事が出来ません。エラーの原因はどこにあるのでしょうか? ご指導願います。 =IF(AND(A1>=0,A1<=650999),0,IF(AND(A1>=651000,A1<=1618999),A1-650000,IF(AND(A1>=1619000,A1<=1619999),969000,IF(AND(A1>=1620000,A1<=1621999),970000,IF(AND(A1>=1622000,A1<=1623999),972000,IF(AND(A1>=1624000,A1<=1627999),974000,IF(AND(A1>=1628000,A1<=1799999),ROUNDDOWN(A1/4,-3)*2.4,))))))) ※ここまで7個は問題なく計算されます。 その後に8個目↓を入れますとエラーが出ます。 IF(AND(A9>=1800000,A9<=1999999),ROUNDDOWN(A9/4,-3)*2.8-60000) エラーは“入力した数式はエラーがあります。ヘルプ・・・・、数式を入力していない場合は(=)(-)を使用しないか・・・・” 確認した事は、 1.閉じ括弧「)」や「,」の確認 - 漏れはありませんでした。 2.7番と8番(ROUNDDOWNのついているもの)のみ、別のセルに移して見たら、エラーが出ず正常に作動します。 一つのセルに入力できる関数の数または、一つのセルに対する字数に制限されているのでしょうか? もしそうであれば、別な方法はありますか? 宜しくお願い致します。

  • IF関数で困ってます。

    すみません。 IF関数でお教えください。 IF関数を使用したのですが、ある数式を論理式に入れ、 TRUEの時、(ある数式)=14 FALSEの時、(ある数式)=21 と表示され、実際そのセルはTRUEだったのですが、 セルに現れた数字は「35」でした。 なぜ、このような事が起こるのでしょうか? 素人ゆえ、ご迷惑をお掛けしております。 どなたかお教えください。 よろしくお願い致します。

  • IF関数についておしえてください。

    お世話になります。 作成している表の中で、利用しようとおもっている関数について教えてください。 A1セルに下記のようなIF関数を作成しました。 =IF(AND(B2>=1,C2<=0),"○",IF(AND(C2>=1,B2<=0),"○",IF(AND(B2>=1,C2>=1),"○",IF(AND(B2<=1,C2<=1),"")))) B2セルは別シートからVLOOKUPを利用して検索してきて、数字を表示させているセルのため、 該当しない場合”#N/A”と 表示されるところがありました。それで、”=IF(ISERROR”を利用して、#N/Aと表示される場合、空白で表示される数式にしたところ、今度はA1セルが条件にあっていないのに”○”と表示されるようになりました。≪”B2=空白(”#N/A”),C2<=1の場合にあたるのだと思います。≫ *B2セルを”空白”ではなく”0”で表示させるようにしても同様に”○”となりました。 A1セルに、  B2>=1,C2<=0の場合”○”  C2>=1,B2<=0の場合”○”  B2>=1,C2>=1の場合”○”  B2<=1,C2<=1の場合"空白" で表示できる方法をご存じの方、ご教示お願いいたします。 簡単なことなのかもしれませんが、エクセル関数初心者のため、大変困っております。 うまく、不明な点を説明できていませんでしたら、申し訳ございません。何卒 よろしくお願いいたします。

  • EXCEL IF関数

    EXCELのIF関数で「A1からA5が空白だったならば、空白を、空白じゃなかったらA1からA5の合計を求める」といったような式の設定はできますか? 「A1からA5の全てにデータが入れば合計を求める」または「A1からA5のどれかにデータが入れば合計を求める」というやり方はどうでしょう? 1つ目のように、範囲を論理式(条件)に用いることはできるのでしょうか?

  • 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とかで作った方がいいのか?(できれば使いたくないのですが。)

専門家に質問してみよう