• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelの「&IF」について)

Excelの&IFを使った複数条件指定について

このQ&Aのポイント
  • Excelで複数条件指定を行うためには、&IF関数を使用します。具体的な目的はサイズ毎の規定数を超えた時の数値を計算することです。
  • S、M、L、XLの4種類があり、それぞれが入力できる最大規定数が決まっています。Sパッケージの場合、2を超えた場合は、2を引いた数値を返します。Mパッケージの場合、3を超えた場合は、3を引いた数値を返します。
  • 例えば、A2が「Sパッケージ」で、B2が3の場合、2を引いた数値である1が返ります。他のパッケージについても同様の計算が行われます。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

 回答番号:ANo.3です。 >ISMAという関数が見あたりませんでした。  申し訳御座いません、ISNAの間違いです。  当方、現在は携帯電話からしか投稿出来ない状況であるため、数式をコピー&ペーストで投稿する事が困難で、手入力にて回答文を作成した際に、打ち間違えたものです。  御迷惑を御掛けして申し訳御座いませんでした。

lifemaster-aug9
質問者

お礼

kagakusuki様 とんでもございません、お忙しい中ご回答いただき、誠にありがとうございました。 いただいた回答で無事に式を完成させることができました。 また機会がありましたら宜しくお願いいたします!!

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

その他の回答 (3)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 勝手に推測して、LやXLの場合も、上限値を超えた場合には、B2の値から上限値を差し引く数式にしています。 =IF(ISMA(MATCH(A2,{"Sパッケージ","Mパッケージ","Lパッケージ","XLパッケージ"},0)),0,IF(B2>LOOKUP(A2,{"Lパッケージ","Mパッケージ","Sパッケージ","XLパッケージ";4,3,2,5}),B2-LOOKUP(A2,{"Lパッケージ","Mパッケージ","Sパッケージ","XLパッケージ";4,3,2,5}),0))  尚、適当な場所(例えばSheet2のA2~B5の範囲)にリストを作成する事が可能な場合は、以下の様にした方が、種類や上限値を変更する際に便利だと思います。  まず、Sheet2に次の様なリストを作成して下さい。       A列    B列 2行目 Sパッケージ   2 3行目 Mパッケージ   3 4行目 Lパッケージ   4 5行目 XLパッケージ  5  次に、結果を表示させる数式は、次の様に変更して下さい。 =IF(ISMA(MATCH(A2,Sheet2!$A$2:$A$5,0)),0,IF(B2>VLOOKUP(A2,Sheet2!$A$2:$B$5,2,0),B2-VLOOKUP(A2,Sheet2!$A$2:$B$5,2,0),0))  それから、御質問内容からは外れますが、A2セルには以下の操作を行って、入力規則のドロップダウンリストを設定しておけば、入力が楽になると思います。 (1)A2セルを選択   ↓ (2)メニューの[データ]ボタンをクリック   ↓ (3)現れた選択肢の中にある「入力規則」をクリック   ↓ (4)現れた「データの入力規則」ウィンドウの「設定」タグをクリック   ↓ (5)「入力値の種類」欄をクリックして、現れた選択肢の中にある「リスト」をクリック   ↓ (6)「元の値」欄をクリックしてから、「元の値」欄に次の数式を入力する =INDIRECT("Sheet2!A2:A"&MATCH(9^9,INDIRECT("Sheet2!B:B")))   ↓ (7)「データの入力規則」ウィンドウの[OK]ボタンをクリック

lifemaster-aug9
質問者

補足

回答いただき、誠にありがとうございます。 1点確認させていただきたいのですが、ISMAという関数が見あたりませんでした。。 すみません、ご確認いただけますと幸いです。 宜しくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

ご質問内容が分かりません。 勝手に解釈していますので違っているようでしたら読み捨て下さい。 A列がパッケージ名、B列の入力数を各パッケージの最大規定数(Sは2、Mは3、Lは4、XLは5)で減じた値を計算したいという事ならば、以下の方法は如何でしょうか。 (1)別セルに仮にE1に「Sパッケージ」、F1に「2」以下M~XLも同様に4行x2列の表を作成します (2)C2に=IF(A2<>"",MAX(B2-VLOOKUP(A2,$E$1:$F$4,2,FALSE),0),"")を設定、下方向にコピー 因みにA列は入力規則→リストで入力選択できるようにしてあれば入力ミスがなくなりますのでご一考下さい。

lifemaster-aug9
質問者

お礼

mu2011様 無事に表を完成させることができました。 色々とご支援いただき、誠にありがとうございました。 また宜しくお願いいたします。

lifemaster-aug9
質問者

補足

先ずはじめに、僕の質問内容が不十分で申し訳ありませんでした。 Sパッケージ、Mパッケージ、Lパッケージ、XLパッケージの4種類があり、 それぞれが入力できる最大規定数が決まってます。 ※ S(1~2)、M(1~3)、L(1~4)、XL(1~5) そこで、以下のような条件をつけております。 パッケージ名称、入力数値にて、パッケージ○、且つx~yが規定数を超えた(←超えた数値をxとする)場合、 x-yの値を返す、といった計算式を作りたいと考えてます。 パッケージが4種類あるため、IF関数で作ることができないのではと考えてます。 そこで、先ずはIFで作成することができるのか、できない場合はどのような手段があるのか、 再度ご教授いただけないでしょうか。

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

期待値が何か解りませんが、以下のような感じでしょうか。 =IF(AND(A2="Sパッケージ",B2>2),B2-2,IF(AND(A2="Mパッケージ",B2>2),B2-3,0))

lifemaster-aug9
質問者

お礼

aokii様 無事に表を完成させることができました。 こちらの質問内容の記載ミスによりご迷惑おかけして申し訳ありませんでした。 またこの場でお会いすることがございました際は、 宜しくお願いいたします。

lifemaster-aug9
質問者

補足

先ずはじめに、僕の質問内容が不十分で申し訳ありませんでした。 Sパッケージ、Mパッケージ、Lパッケージ、XLパッケージの4種類があり、 それぞれが入力できる最大規定数が決まってます。 ※ S(1~2)、M(1~3)、L(1~4)、XL(1~5) そこで、以下のような条件をつけております。 パッケージ名称、入力数値にて、パッケージ○、且つx~yが規定数を超えた(←超えた数値をxとする)場合、 x-yの値を返す、といった計算式を作りたいと考えてます。 パッケージが4種類あるため、IF関数で作ることができないのではと考えてます。 そこで、先ずはIFで作成することができるのか、できない場合はどのような手段があるのか、 再度ご教授いただけないでしょうか。

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

関連するQ&A

  • エクセルのIF関数でORとANDの組み合わせ方

    エクセルのIF関数でORとANDの組み合わせ方を教えてください。 =IF(AND(C1>10,A1>B1),"S","") =IF(AND(C1>10,A1<B1),"L","") この2つの式をORで1つの式にするにはどのように組み合わせれば良いのでしょうか? よろしくお願いいたします。

  • エクセルでの入れ子の工夫

    以下のような数式を使いたいのですが、2003使用なので8個までしか入れ子が出来ません。 =IF(B20="",IF(B19="",IF(B18="",IF(B17="",IF(B16="",IF(B15="",IF(B14="",IF(B13="",IF(B12="",IF(B11="",IF(B10="",IF(B9="",IF(B8="",IF(B7="",IF(B6="",IF(B5="",IF(B4="",IF(B3="","","XL"),"L"),"M"),"S"),"XL"),"L"),"M"),"S"),"XL"),"L"),"M"),"S"),"XL"),"L"),"M"),"S"),"サイズ") B列に商品名を入れるとC列に「サイズ、S、M、L、XL、S・・・」と下に20個くらい自動で入れるようにしたいのです。 何かいい方法はないでしょうか。 宜しくお願いいたします。

  • エクセルの関数について(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関数を使ってできますか?

    こんばんは。 エクセルで悩んでいます。 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,""))) 説明が下手で申し訳ありませんが、 なんとかアドバイスいただければ幸いです。 よろしくお願いします。

  • EXCEL IF文で最大値を出す

    最大値はMAXで出せ!といわれると元も子もないですが(^^;) IF文でなんとかならないの?という・・・はい、変わり者のAB型です まあそれはさておきA1,A2,B1,B2の4つを比較したいと思います (4項は全て違う値です) とりあえず =IF(AND(A1>B1),A1,B1) =IF(AND(A2>B2),A2,B2) これをC1,C2に代入し =IF(AND(C1>C2),C1,C2) ただこれでは項目が増えるごとに膨大な代入するセルが必要です ここで変数をn、mとし =IF(AND(n=(AND(A1>B1),A1,B1))>(m=(IF(AND(A2>B2),A2,B2)),n,m) とすれば大丈夫そうなのですが変数を宣言する方法が ネットを探索してもうまく見つけれません。 もしくは別の方法がありそうですが詳しい方助言を いただけないでしょうか?

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

    エクセルの数式でIFを使って、下記のような複数の条件の時に、それぞれの計算結果を算出する式を作りましたが、単純に条件を並べただけで(IFとAND使用)、式が長くなってしまいます。これを短く出来る式の方法はありますでしょうか?(他の関数を使用する方法など)また、エクセルの関数の数式を応用編まで詳しく調べられるサイトをご存知でしたら教えてください。 (条件の例)R1への式入力 (1)A1がに"A"か"B"かを入力 (2)A1がAで、B2の値がC3以下の時、R1には8、C3より大きい場合は、B2-C3の値を表示 (3)A1がBで、B2の値がC3以下の時、R1には5、C3より大きい場合は、(B2-C3)/2の値を表示 といった条件を満たすものが作成したいです。 ちなみに私が作成した式は、 =IF(AND(A1=A,B2<=C3),8),IF(AND(A1=A,B2>C3),B2-C3,・・・・)って感じです。こんな方法しか無いでしょうか?

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

    フリーでダウンロードしたエクセルのファイルなんですが IF関数で分らない部分があります。 エクセルはマクロ以外なら大体マスターしたのですが どうもIF関数だけは苦手で… =IF(D12="",IF(D11="",IF(D10="",D9,D10),D11)) という式なんですが、どこで区切っていいのか分りません。 IF関数は =IF(論理式,A,B)という形が基本ですよね。 上式にあてはめると 論理式は D12="" となるのは分るのですが A,Bが分りません。 Aは IF(D11="",IF(D10="",D9,D10) Bは D11 と分けるとAのカッコの数が合わない。 Aを IF(D11="",IF(D10="",D9,D10),D11) とするとBが無くなる? 式がおかしいのかな?とも思ったのですが ちゃんと計算はされてるようだし… かれこれ2時間ほど悩んでいますが もう頭が混乱してきました… すいませんがお助け下さいm(__)m

  • EXCELのIF関数の入れ子について

    すみませんよろしくお願いします。 EXCELでセル(A1)~(L1)までに不特定の文字列が入力されており、(M1)に「もし(L1)が入力されていたら(L1)の値を表示、もし(L1)がブランクなら(K1)の値を表示、もし(K1)がブランクなら(J1)の値を表示、もし(J1)がブランクなら(I1)の値を表示・・・・」といった具合で関数を作成したいのです。また、(A1)~(L1)のセルで穴あき状態で入力されていた場合は最も(L1)寄りのセルを表示させたいです。 EXCEL2003のIF関数だと、 =IF(L2="",IF(K2="",IF(J2="",IF(I2="",IF(H2="",IF(G2="",IF(F2="",IF(E2="","",E2),F2),G2),H2),I2),J2),K2),L2) で最後の(A1)までの入れ子を作ることができせん。 EXCEL2007を使用すると、 =IF(L2="",IF(K2="",IF(J2="",IF(I2="",IF(H2="",IF(G2="",IF(F2="",IF(E2="",IF(D2="",IF(C2="",IF(B2="",IF(A2="","",A2),B2),C2),D2),E2),F2),G2),H2),I2),J2),K2),L2) と作成できます。 EXCEL2003で作成するいい方法はありますでしょうか? ご指南の程よろしくお願いします。

  • ExcelのIF式についてまたまた困っています。

    いつもお世話になっています。 IF式の組み立てに悩んでいます。 判定に用いる式について「OR」なのか「AND」なのか又別の物なのか分らなく悩んでいます。 以下についてのIF式を教えてください。 1.あるセルに複数のセルの数値が同じ場合に「OK」をそれ以外の時は「NG」を表示させたい場合。 2.あるセルにセル範囲Aが同じ数値の場合「A」、セル範囲Bが同じ数値の場合「B」、その他の場合には「無表示」させたい場合。 3.あるセルに他のセルに入力がない時は、「無表示」入力された場合に計算式結果を「表示」させたい場合 以上3点についてIF式についてなにとぞ教えてください。

  • IF文の質問

    エクセル初心者の者です。 「=IF(MAX(AA17,AD17)>=30,IF(AA17>AD17,"A","B"),"")」と言う文章がエクセル2003のファイルにありますが「AA17とAD17の数値が等しい時はA・Bと加える」と言う条件のIF文を、先ほどの計算式に加えるにはどうすれば良いでしょうか?