• ベストアンサー

if and 関数について

もう少し簡単なIF関数ならわかるのですが、数式の中での計算はしたことがなく、数式方法を見ても理解できなくて大変困っています。。 IF((BB17=7),$F17×$O17,IF(AND($Q17<=●,$Q17>=●),$F17×$O17×($AA$4-$Q17)/30,″ ″)) ※●は数字が入ります 普段仕事で使われている方、もしくは詳しい方!この数式方法の入れ方を教えて下さい(;_;) 仕事でこれから使うことになるので本当に困っています。。

noname#194639
noname#194639

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

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

IF((BB17=7),$F17×$O17,IF(AND($Q17<=●,$Q17>=●),$F17×$O17×($AA$4-$Q17)/30,″ ″)) ↓IFの入れ子なので、IF分毎に分解すると 【数式1】=IF((BB17=7),$F17×$O17,【数式2】) 【数式2】=IF(AND($Q17<=●,$Q17>=●),$F17×$O17×($AA$4-$Q17)/30,″ ″) 【数式1】 BB17が7の場合は、F17*O17、7以外の場合は【数式2】の結果を表示 【数式2】 Q17が数値の範囲内の場合、F17*Q17*([AA4]-Q17)/30、範囲外の場合はスペースを表示 ※ $F17,$O17,$Q17は列固定の相対参照、$AA$4は絶対参照のセルです。

noname#194639
質問者

補足

すごく丁寧に教えて頂きありがとうございます(;_;) これはIF ANDまで入力した後は一番先頭のIFに戻ってOKを押せばいいのでしょうか? もし変な質問してたらすいません。。

その他の回答 (3)

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.4

フローチャートを書いて論理を個々にチェックすると分かり易くなります。 尚、●の数値2ヶ所は別な値でないと論理が合いませんので1つを○に変えてフローチャートを作成してみましたので参考にしてください。 また、$は割愛し、×は*に置き換えてあります。

noname#194639
質問者

お礼

わざわざ作って頂いてありがとうございます(;-;) 参考にさせて頂きます!!

  • choco_jiji
  • ベストアンサー率31% (528/1701)
回答No.2

Excelですよね。if関数は =IF([条件],[条件を満たす時どうするか],[条件に合わない時どうするか]) です。 複数組み合わせるときは 条件を満たす時に更に条件を加えるなら[満たす時]のところに次のIF式を()で括って入力。 満たさない時に別条件を加えるなら[満たさない時]のところに次のIF式を()で括って入力。 例文では 条件:セルBB17の値が7かどうか。 7のとき:F17×017を計算して表示。 7じゃない時:では次の条件を考慮。 次の条件:Q17≦●かつQ17≧○かどうか。 (ANDはすべて当てはまる時。ORならどれか当てはまる時) 満たす時:F17×…略 満たさない時:" "(空白)を表示。 つまり ・BB17が7だったらF17×O17の結果を表示。 ・BB17が7以外で、Q17が●以下かつQ17が○以上のとき、F17×…略の結果を表示。 ・BB17が7以外で、Q17が●より大きいか○より小さいとき、空白を表示。 です。

noname#194639
質問者

お礼

補足質問についてはもう大丈夫です! 本当にありがとうございました( ☆∀☆)

noname#194639
質問者

補足

すごくわかりやすい説明ありがとうございます(;_;) ただ、 ($AA$4-$Q17)/30 の部分はどこで入力したらいいんでしょうか(××。)?? 本当にすいません。。

回答No.1

最後の))の間に,""が入りませんか? 最初のBB17=7に対しての当てはまらない場合の値がない気がします。 あと「以上・以下」を表す場合も""で囲わないといけません。 つか AND($Q17<=●,$Q17>=●)って●以外ありえないので$Q17=●と同じだと思いますw

noname#194639
質問者

お礼

回答して頂きありがとうございました!

関連するQ&A

  • エクセルの関数について(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関数を教えてください。

    数字(10桁)のデータがあります。(1234567890、2345678912のような) 例えばB列にそのようなデータがあり、IF関数にてそのうちの1から始まる10桁のデータは"AA1"。2から始まる10桁のデータだったら"BB2"という結果を出したい場合なのですが、どのような論理式を立てればいいでしょうか?10桁の数字は、1から始まれば全て"AA1"2から始まればBB2と結果がでるようにしたいのです。 どうかお分かりになる方ご返答お待ちしております。よろしくお願いいたします。

  • IF(AND(関数でお知らせください

    IF(AND(関数でお知らせください ウオーキングのキロ数を出すため=IF(AND(Z12>63,Z12<72),"大館市",のように組み、同様にして到着地点を7箇所まで設定し、最後は""でくくり問題ないのですが、というより8箇所目からは「入力した数式は正しくありません」とコメントが出るので、さらに次の7箇所を今まで使っていた距離数、箇所を訂正しなおして使っていましたが、箇所設定には限度というものがあるのでしょうか、他に原因があるようにも思えるのですが関数をよく理解できていませんのでご教示のほどよろしくお願いいたします。

  • 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(COUNT(F16:L16)=1,CHOOSE(MATCH(0,F16:L16,-1),"S","M","L","O","XO","2XO","3XO"),"")&IF(SUM(F16:L16)=2,2,"") F16に1、G16に1と同時に入力したときS/Mと表示させるには どのような数式を付ければ良いのでしょうか? 宜しくお願いいたします。

  • Excel IF関数について

    いつもお世話になります。 Win XPpro OFFICE2003です。 ここの過去ログを見てよく関数を意味がよくわからないまま拝借してるんですが =IF(AND(O7>=1,A<=19),0,IF(AND(O7>=20,O7<30),20,IF(AND(O7>=31,A<=100),50,IF(AND(O7>=101,O7<500),100,IF(AND(O7>=501,A<=1000),150,IF(AND(O7>=1001,O7<3000),200,IF(AND(O7>=3001,A<=10000),250,))))))) なぜか#NAME?になります。 ネストが7つまでということなので省略したんですが 1~20なら0 21~30なら20 31~100なら50 101~500なら100 501~1000なら150 1001~3000なら200 3001~10000なら250 10001以上なら”要相談” としたいだけなんですが。 最近VLOOKUPをみなさまのおかげで活用できるようになり別シートに入れたかったんですがあまりの多さと重さに断念しました。IF関数だけではなく他に方法があればぜひご教授下さい。 よろしくお願い致します。

  • IF関数で出来ないのかな?

    E13のセルにa,i,u,e,oが入力されたら、AA2:AA28から参照してZ2:Z28を現す事は以下の式でやっとこさ出来ました。 =IF(E13="a",(LOOKUP(E13,AA2:AA28,Z2:Z28)),IF(E13:E13="i",(LOOKUP(E13,AA2:AA28,Z2:Z28)),IF(E13="u",(LOOKUP(E13,AA2:AA28,Z2:Z28)),IF(E13="e",(LOOKUP(E13,AA2:AA28,Z2:Z28)),IF(E13="o",(LOOKUP(E13,AA2:AA28,Z2:Z28)),""))))) が!!! 今度はその逆でE13のセルにa,i,u,e,o以外が入力されたらAA2:AA28から参照してZ2:Z28を現す事が出来ません!! NOT関数で出来ると思って以下の式を作ったんですけど、 =IF(NOT(E13="a"),(LOOKUP(E13,AA2:AA28,Z2:Z28)),IF(NOT(E13="i"),(LOOKUP(E13,AA2:AA28,Z2:Z28)),IF(NOT(E13="u"),(LOOKUP(E13,AA2:AA28,Z2:Z28)),IF(NOT(E13="e"),(LOOKUP(E13,AA2:AA28,Z2:Z28)),IF(NOT(E13="o"),(LOOKUP(E13,AA2:AA28,Z2:Z28)),""))))) これだと何故かa,i,u,e,oを含め全てで参照して表してしまいます。 また他にも IF(C13="i",IF(C13="u",IF(C13="e",IF(C13="o","",(LOOKUP(C13,AA2:AA28,Z2:Z28))),(LOOKUP(C13,AA2:AA28,Z2:Z28))),(LOOKUP(C13,AA2:AA28,Z2:Z28))),(LOOKUP(C13,AA2:AA28,Z2:Z28))), (LOOKUP(C13,AA2:AA28,Z2:Z28))) というようにNOT関数を使わずに"真"と"偽"逆にしてみたんですけど 結果はNOT関数と同じでした。 なぜ?分らない・・・。 とりあえずa,i,u,e,o以外が入力されたらAA2:AA28から参照してZ2:Z28を現す方法を教えて下さい。 そして余裕があれば、NOT関数と"真"と"偽"逆にした時に全てで参照して表してしまうのかも教えて欲しいっす!! ちなみにE13=MID(B3,2,1)となっていて、B3にある文字列から一文字抜いた状態です。

  • 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関数で困ってます。

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

  • 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")))))

専門家に質問してみよう