• ベストアンサー

エクセルの IF関数とAND関数について 教えてほしいです

 お願いします。  =IF(AND(B3=整数以外、B4=整数以外),”B2+1”) としたいのですが、整数以外って、表現できるのでしょうか? 要するに、B3とB4へ、小数点を入力した場合に、B2へ +1としたいのです。

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

  • ベストアンサー
noname#9284
noname#9284
回答No.7

B1に数式を入力する場合 =(INT(B3)<>B3)*(INT(B4)<>B4)*1+B2 もしB3もB4も整数ではなかったらB2に入力してある値に+1する。そしてB3かB4のどちらか、または両方が整数だったらB2の値を表示する。 B2に「1」と表示したい場合 =(INT(B3)<>B3)*(INT(B4)<>B4)*1 もしB3もB4も整数ではなかったら「1」。そしてB3かB4のどちらか、または両方が整数だったら「0」 こういう数式で大丈夫でしょうか?

hana-hanako
質問者

お礼

ありがとうございます。 早速、確認してみます。

その他の回答 (7)

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

>B2へ +1としたいのです 関数式は関数式を入れるセル(例B5)以外のセル(例B2とか)の値を演算(B2に+1)できませんよ。関数式の大原則です。(VBAなら出きますが、そのところがVBAの良いところなんです。) ANDや少数つきの数の判定に関心が行って、大切な部分 を忘れないように。 自分自身のセルの値を使って、演算(例えば+1)して、自分自身のセルに戻すことも出来ません。 (質問文の表現だけの問題だと良いが?)

hana-hanako
質問者

お礼

そうですね。B2+1とは、ならないのですよね。 ありがとうございます。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.6

No.4です。 訂正です。 私の数式だと、逆になってしまいます。 つまり「両方とも整数なら」です。 「両方とも整数以外なら」はNo.5の方のようになります。

hana-hanako
質問者

お礼

ありがとうございます。

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.5

整数以外ということであれば、MODを使ったりINTを使ったりすれば出来ますね。 MODの例 =IF(AND(MOD(B3,1)<>0,MOD(B4,1)<>0),真,偽) INTの例 =IF(AND(INT(B3)<>B3,INT(B4)<>B4),真,偽) 但し、B2の内容にB2+1をするのはこの方法では出来ません。 もし、B2の初期値が固定されているのであれば、動にでも出来ます。 その辺りを補足してください。

hana-hanako
質問者

お礼

 早速に、ありがとうございます。 やはり、B2+1とは、入力できないのですね。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.4

こんにちは。maruru01です。 整数以外ならという条件は、 =IF(AND(MOD(B3,1)=0,MOD(B4,1)=0),真の場合,偽の場合) という風にします。 ところで、数式では、あるセルの値に+1するという処理は出来ませんよ。 質問の数式だと、数式が入力されているセルに、 「B2+1」 という文字列を表示させるだけです。 また、 =IF(AND(MOD(B3,1)=0,MOD(B4,1)=0),B2+1,偽の場合) という数式を、B2以外のセルに入力すれば、そのセルにB2の値+1の値が表示されます。 しかし、この数式をB2自身に入力したら、循環参照になって正しく表示出来ません。

hana-hanako
質問者

お礼

どうも、ありがとうございます。 早速、確認してみます。 整数以外というのは、○.5となった場合、+1と なるようにと思ったのです。

  • shiga_3
  • ベストアンサー率64% (978/1526)
回答No.3

INT(B3)<>B3(B3を0に近い整数に丸めた値がB3に等しくない) MOD(B3)<>0(B3を1で割った余りが0でない) あたりを使われてはいかがでしょうか。 他にも色々ありそうですが。

hana-hanako
質問者

お礼

どうも、ありがとうございます。 早速、確認してみます。

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.2

INTやROUNDなど、小数点の切り捨て、四捨五入関数などを利用して、 INT(対象の数)=対象の数 ならば整数である。 と言う風に判定してはいかがでしょう? -- 誤差とか考えると、イロイロと検討の余地はある気がしますが。

hana-hanako
質問者

お礼

どうも、ありがとうございます。 早速、確認してみます。

回答No.1

整数以外でしたらB3<1でよろしいかと

hana-hanako
質問者

お礼

どうも、ありがとうございます。

関連するQ&A

  • excelのand関数、IF関数について

    エクセルのand関数、IF関数について質問です。 非常に簡単なことで申し訳ないのですが、仮にセルA2が5でかつセルB2が0の時にtrueとしたいときの関数は=and(A2=5,B2=0)であっているでしょうか。また、これをIFの関数で表す場合、=IF(A2=5,IF(B2=0,1,0),0)で同じ意味になるでしょうか?(IFの方は条件を満たす場合を1、満たしていない場合を0としたつもりです) ANDの方の関数は、多分合っていると思うのですが…。エクセルに入力しても、正しい結果が得られなかったので、質問させていただきました。初心者です。つまらない質問で申し訳ないのですが、よろしくお願いします。 

  • IF関数でしょうか? 分からないので教えて下さい。

    IF関数でしょうか? 分からないので教えて下さい。 A1のセルにLの文字が入っている場合は(C1-B1)*D1として、A1のセルにSの文字が入って いる場合は(B1-C1)*D1します。答えは必ず小数点付きになりまして、且つ小数点以下が2桁だったり3桁だったりランダムになります。その少数点を外して整数とする。 これを一つの計算式で構築して値を算出することは可能でしょうか? もし可能なら、どのような式を構築したら良いか教えて頂けませんでしょうか? 面倒な質問で申し訳ありませんが教えて頂けると幸いです。

  • エクセルの関数について(IF,AND関数)

    エクセルでIF,ANDを用いた関数計算の数式を作っているのですが、うまく出来ません。 どなたか詳しい方、教えて下さい。 たとえばこんな感じです。 ※条件は2個 ●第1条件~東京、大阪、北海道(3パターン) ●第2条件~数値の大小(3パターン) この2個の条件を満たす値、全部で9種類の計算パターンを実行できる数式を作ろうと思っています。 あともう1条件(IF文)入れたいのですが、これ以上入れると計算しません。 =IF(AND(B22>5000,B5="東京"),111,IF(AND(B22>=2000,B5="東京"),ROUND(300*B22^2/1000,4),IF(AND(B22<2000,B5="東京"),222,IF(AND(B22>5000,B5="大阪"),333,IF(AND(B22>=2000,B5="大阪"),ROUND(300*B22^2/1000,4),IF(AND(B22<2000,B5="大阪"),444,IF(AND(B22>5000,B5="北海道"),555,666)))))))

  • エクセルのIFを使った関数式:

    すみません、IFの関数式でもしもヴァリューに小数点がついていればバツ、整数であればマルといった式を書きたいのですがどうすればいいのでしょうか? ご教授お願いいたします。

  • Excel(IFとAND)の関数の組合せ…

    Excel2007にちょっとだけ踏み込んでいます。 添付図のC列に入れる(IFとAND)関数の組合せると、上手く書けず、エラーになってしまいます。 A列とB列を見比べて、 両方「○」なら「◎」 片方「○」なら「○」 「○」が無い場合は「×」 と書き、「C1」→c10までコピーしたいのです。 「C1」に書く式を(IFとAND以外でも)、教えてください。

  • ExcelのIF関数でORやANDで簡素化したい

    =IF(B4="日勤",J63,IF(B4="宿直",N63,IF(B4="宿明",P63,IF(B4="年休(日勤)",J63,""))) の関数を使ってます。 適用項目 B4のセルで日勤、年休(日勤)、欠勤(日勤)を選択した場合 日勤の所定時間(7:30が入力されたセル)を返すというようにしたいのですがORやANDをいれたらもっと簡単な式になりますか? どのたかご教授ください 宜しくお願いしたします。

  • これはエクセルのIF関数を使ってできますか?

    こんばんは。 エクセルで悩んでいます。 A列に、"大学"・"高校"をオートフィルタで選べるようにして、 B列に、大学なら1~4の数字、高校なら1~3の数字を入力します。 そして、C列に、A1="大学"かつB1=1なら30(ポイント)、         A1="大学"かつB1=2なら40、         A1="高校"かつB1=1なら20、         それ以外は空白 というような自動計算式を作りたいと考えています。 この場合、IF関数とAND関数で作成すればできますでしょうか。下記のような式を作成しましたが、うまくいきません。 =IF(AND(A1="大学",1),30,IF(AND(A1="大学",2),40,IF(AND(A1="高校",1),20,""))) 説明が下手で申し訳ありませんが、 なんとかアドバイスいただければ幸いです。 よろしくお願いします。

  • エクセルの関数

    セルAとセルBに小数点の値があります。 セルAとセルBどちらか、 (1)0.2以下の値がある場合には、セルAかセルBの値の大きい方を別の列のセルCに入力。 (2)両方とも0.2以上の時には、上記とはまた別の列のセルDに【セルA×セルB】の値を入力。(小数点2桁まで表示、以下四捨五入) (1)と(2)で表示されたものを、またまた別の列のセルEにまとめて、 (1)は 値×5(小数点切り上げ) (2)は 値×25(小数点切り上げ) というものを作りたいのです。 IFとANDとROUNDUPなど使ってやってみましたが、わけがわからなくなってしまったので、 どなたか教えていただけたらありがたいです。

  • エクセルの関数について教えて下さい。

    IF、ROUND、ORの組み合わせです。 仮にA1に数値(整数)を入力、B1に計算結果を表すとします。 B1の計算式は、少数第1位を整数値で四捨五入し =ROUND(A1/1.05,0)   とします。 ここに数値入力以外に空白や記号のときに文字で表記するようにしたいのですが、組み合わせができません。 A1が空白、つまり数値が入力されなかった場合は空白とし、数値と別なデータが入力されたとき、例えば「****」と入力されたときを「休業」、「- - - -」と入力されたときを「出向」と表示したい場合の組み合わせです。 A1が未入力のときは =IF(A1>1,ROUND(A1/1.05,0)," ") で簡単にできるのですが、ORとの組み合わせになるのでしょうか、「****」「- - - -」の場合がどうしてもわかりません。 見よう見まねで覚えたので表現の仕方が少し変かもしれませんが、よろしくお願いします。

  • if関数とAND関数の使い方

    エクセルのif関数とANDをつかって複数条件を設定したいのですが、上手く行かずに困っています。 D13のセルの値が以下の場合 29以下なら”1” 30以上34以下なら”2” 35以上39以下なら”3" 40以上44以下なら"4" 45以上なら"5" そこで、次のように式を作ってみたのですが、 「この関数に対して多すぎる引用が入力されています。」とエラーがでてしまいます。 どなたか、お詳しい方、教えていただけたら幸いです。 お願い致します。 =IF(IF(D13<=45,"5"),AND(D13>=40,D13<=44),"4",IF(AND(D13>=35,D13<39),"3",IF(AND(D13>=30,D13<34),"2",IF(D13>=29,"1")))))

専門家に質問してみよう