• ベストアンサー

IF関数

A1=お客さんの名前と B1=注文数 「鈴木サマ」には単価100円 その他は100注文で単価150円、100以下で単価200円で販売しています。 =IF(A1="鈴木",B1*100,B1*IF(B1>=100,150,200)) この式に、「山田サマ」だったら単価120円という式を足したいのです。 宜しくお願い致します。

noname#207306
noname#207306

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

  • ベストアンサー
回答No.1

  =if(A1="鈴木サマ",B1*100,if(A1="山田サマ",B1*120,B1*IF(B1>=100,150,200)))  

その他の回答 (3)

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

>この式に、「山田サマ」だったら単価120円という式を足したいのです。 将来、他の条件も増えることを考えて割引参照表を作成すると良いでしょう。 例えばE1="鈴木"、E2="山田"、F1=100、F2=120、E4=0、E5=200、F4=200、F5=150とします。 売上金額をC1へ求めるには次の数式を使うと良いでしょう。 C1=IF(COUNTIF($E:$E,A1),VLOOKUP(A1,$E$1:$F$3,2,FALSE),VLOOKUP(B1,$E$4:$F$6,2,TRUE))*B1 尚、特定割引のお客さんが増えたときはE4:F4の上にセルを挿入し、E3へ追加のお客さん、F3へそれに対する単価を入力すれば数式を変更しなくても目的の売上金額が計算されます。 また、注文数による割引についても細分化や上限の追加があればE6:F6の上にセルを挿入して、条件と単価を入力すれば数式の変更を必要としません。

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

B1は常にB1なので =B1*IF(A1="鈴木",100,IF(A1="山田",120,IF(B1>=100,150,200))) とかで,単価のとこだけ積み重ねていけば十分です。

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

=IF(ISNUMBER($B1),$B1*IFERROR(HLOOKUP($A1,{"鈴木","山田";100,120},2,FALSE),IF($B1<100,200,150)),"") 或いは =IF(ISNUMBER($B1),$B1*IFERROR(VLOOKUP($A1,{"鈴木",100;"山田",120},2,FALSE),IF($B1<100,200,150)),"") の様にすれば、「鈴木サマ」や「山田サマ」以外にも特別扱いのお客様が増えた場合でも、関数を簡単に修正する事が出来ると思います。  例えば、「佐藤サマ」には単価110円という条件を付け加える場合には、 =IF(ISNUMBER($B1),$B1*IFERROR(HLOOKUP($A1,{"鈴木","山田","佐藤";100,120,110},2,FALSE),IF($B1<100,200,150)),"") 或いは =IF(ISNUMBER($B1),$B1*IFERROR(VLOOKUP($A1,{"鈴木",100;"山田",120;"佐藤",110},2,FALSE),IF($B1<100,200,150)),"") という具合になります。(「,」と「;」の違いに注意して下さい)

関連するQ&A

  • 文字を含んだIF関数

    IF関数についての質問です A1を顧客名としB1を受注数量とし、単価を200円とします。 =B1*200 しかし A1が山田様と田中様であった場合、150円で販売 A1が鈴木様であった場合、180円で販売 つまり、特定のお客様だけ金額が変わるというものなのですが 文字を含んだIF関数を教えて頂きたいです。 教えて頂けませんでしょうか。 お願い致します。

  • 別表参照の関数

    IF関数についての質問です A1を顧客名としB1を受注数量とし、単価を200円とします。 =B1*200 下に挙げる2つのパターンについて 別で作ったプライス表を参照し、計算する式を作りたいのですが 上手くできずに困っています… パターン 1  A1=山田さま or 田中さま @150円  A1=鈴木さま @180円  A1=その他顧客 @200円 パターン 2  A1=山田さま or 田中さま @150円  A1=鈴木さま @180円  A1=その他顧客  注文数100個以下 @200円  注文数100個以上 @160円 VLOOKUP?を使用した表を初めて作ってみたいのですが 詳しく教えて頂けませんでしょうか。 お願い致します。

  • EXCEL ワイルドカード IF関数

    お世話になっております。 早速ですが質問です。 A1 発注先 B1 単価 C1 1  D1 2  E1 3  とあります。 A1の発注先が山田(C1)、鈴木(D1)、サトウ(E1)だったとき、B1に1か2か3の数字が現れるようにしたいのです。 式は B1に =IF(A1="","",IF(A1="山*",C1,IF(A1="鈴*",D1,IF(A1="サ*",E1,"")))) と作っているのですが、ワイルドカードが認識されません。 質問をする前に色々な質問をざっと読んでみたのですが、 やはりIF関数だとワイルドカードは認識されないのでしょうか? もし認識されないとしたら、他にどんな関数を用いたらよいでしょうか? 回答 宜しくお願いいたしますm(__)m

  • EXCEL関数

       A      B        C     D    E 1 田中(東京) 合格   8/1      鈴木 2 山田(大阪) 不合格  8/1      田中  3 鈴木(京都) 合格   8/3      山田 4 山田(大阪) 合格   8/4      伊藤 たとえばA1からE4にこのような入力がされているとします。(D列はなにも入力されていません。) 山田さんが合格のときF列に日付を表示し、そうでなければ空白を表示するにはどうすればよろしいのでしょうか? この場合F4に「8/4」と入るはずなのですが、 =IF(A4=E3 & "*",IF(B4="合格",C4,""),"") という式では空白になってしまうのです。 どうすればよろしいでしょうか。式には"山田"と入力せず、E3と示したいです。 分かる方教えてください。 EXCEL2000を使っています。

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

    こんにちは。 以下の全てを含む条件の式を作りたいのですが、 どのように関数の式を組み立てていいのかわかりません。 3つの条件を一つの式に盛り込むにはどうしたら良いのでしょうか? 1.A1~A10までのどこかに、1つでも「●」があって、   B1~B10までのどこかに、1つも「●」がない 2.A1~A10までのどこかに、1つでも「●」があって   B1~B10までのどこかに、1つでも「●」がある 3.A1~A10までのどこかに、1つも「●」がなく   B1~B10までのどこかに、1つでも「●」がある 1の場合、可 2の場合、可 3の場合、不可 1をIF((A1:A10)="●",isblank(A1:A10),"可"," ") として試みたのですが、 エラーが出てしまいます。 そもそも A1~A10 (A1:A10)の時点でエラーになってしまうようです。 IF関数では、複数セルを指定することは不可能なのでしょうか? 宜しくお願い致します。

  • SUM関数とIF関数を使って・・・(若干長文で難しいです^^;)

     2週間程度考えたんですが自分ではどうしようもなく皆さんの力を貸してください。 今book1とBOOK2があり… BOOK1には、A列に担当者、B列に売上数が次のようにあります。 A1…田中A  B1…10 A2…山田B  B2…20 A3…鈴木B  B3…10 ※担当者名の尾には部署である記号(アルファベット)があります。また実際データはもっと大量に有ります。 次にBOOK2のA列には次のようにあります。 A1…A部署  B1… A2…B部署  B2…  このようなケースにおいてBOOK2のB1、B2に、A部署としての総売上数、B部署としての総売上数をそれぞれ出したいのです。困っているのは、A1にある"A部署"という文字やA2にある"B部署"という文字は、時々入れ替わったり、なくなったり、新たにC部署が増えたりするんです。その時でも、常にB列には適切な売上数をあげたいのです。B列に組む関数としてもっともふさわしい組み方が分かりません^^; ※私がつまずいている点 1…BOOKは2つあり、別BOOK1にあるデータをBOOK2へ集 計するのでSUMIF関数では#VALUE!エラーがでて使えない。(もし使えると簡単にできる、検索条件にワイルドカード(*A)を使って…) 2…SUMとIF関数を組み合わせて出来そうだけど…なかなかできない。〇| ̄|_ IF関数では論理式の部分で、ワイルドカードが使えない?ので・・・ ほんとに困っています。^^;みなさんの知恵を貸してくださいm(_ _)mよろしくお願い致します。  

  • エクセルの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

  • 文字列を含んだIF関数

    IF関数についての質問です 現在以下のような関数を入れています。 A1とは受注数量です。 A1が100個以下の場合A1×300円 A1が100個以上の場合A1×200円     ↓ =A1*IF(A1>=100,200,300) つまり、受注数量によって金額が変わるというものなのですが B1に顧客名を入れて、B1が○○様だった場合100円で売るという 文字を含んだIF関数も足したいのです。 方法がありましたら教えて頂けませんでしょうか。 お願い致します。

  • エクセルの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(A1="","",B1+C1+D1) という式があります。 B1、C1、D1に「込」という文字が入った時は「0」とする答えを出したいです。 「込」は、B~Dどこにでも入る可能性がり、またB1もC1も「込」の場合もあります。 あまり複雑にならない式希望です。 宜しくお願い申し上げます。

専門家に質問してみよう