• ベストアンサー

エクセルの式で困っています。

エクセルの初心者に等しいです。教えて下さい。 例えばA1のセルに(パイン)とあったら、B1のセルの金額を見て10万以下なら500円、10万~20万なら1500円、20万~30万なら3000円、A1のセルが(桃)とあったら、B1のセルの金額を見て10万以下なら1000円、10万~20万なら2000円、20万~30万なら4000円 といった式を入れたいのですが、IFではややこし過ぎて頭が回りません。 関数等でうまくやる方法あれば教えて下さい。 お手数をおかけしますが宜しくお願いします。

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

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

>パインの場合と桃の場合と金額が違い、 質問当初の設定を変更する場合のことですか? 後だしジャンケンと同じですよ。 >C列にはパインの場合の金額(桃のD列は空白)、桃の場合はD列に金額を入れて 意味不明です。 150,000の行を追加するということですか? Sheet2のA列の100,000と200,000の間に150,000の行を挿入するときはC列(パイン)の単価を1,500とし、空欄を避けてください。 修正に序にB列は参照の対象になっていませんので空欄にすると誤解が起こらないと思います。 画像を添付しますので参考にしてください。

wanko_ron
質問者

お礼

わかりにくい質問と追加質問で失礼しました。やっと理解が出来てうまく計算結果が出ました。後出しジャンケンのつもりはなかったのですが、質問の仕方が悪くやりたいように出来なかった事が原因です。 本当にありがとうございました。

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

その他の回答 (6)

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

回答No.5の訂正です。 説明文の中の「INDEX関数」は誤りで「MATCH関数」に訂正します。 大変失礼致しました。

全文を見る
すると、全ての回答が全文表示されます。
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.5

>関数等でうまくやる方法あれば教えて下さい。 基準になる別表(Sheet2)を作成してHLOOKUP関数またはVLOOKUP関数とINDEX関数を組み合わせれば良いと思います。 回答No.4に提示されている2枚のSheetと同様の形態では以下の式で目的通りになります。 C2=HLOOKUP(A2,Sheet2!C$1:D$4,MATCH(B2,Sheet2!A$1:A$5,1),FALSE) 尚、「10万以下」は「10万未満」異なります。 従って、「10万から20万」は不適切で「10万以上、20万未満」のように厳密な定義が必要です。 画像を添付しましたので参考にしてください。 Sheet2の行と列を入れ替えた時はHLOOKUP関数の代わりにVLOOKUP関数を使います。

wanko_ron
質問者

補足

スクリーンショット付きでの丁寧なご回答ありがとうございます。 大変参考にさせて頂いたのですが、少しわからない点があり困っております。 パインの場合と桃の場合と金額が違い、例えばパインで0~10万未満の場合は500円、桃5万以上15万未満の場合は1000円というようにしたいのでC列にはパインの場合の金額(桃のD列は空白)、桃の場合はD列に金額を入れてC列のパインの場合の金額は空白としたのですが、結果を表示すると例えばパインか桃を選択して9万と入れるとどちらか一つしか正しい金額が表示されません。 桃9万と入れても1000円が表示されずに0と表示されてしまいます、その場合パイン9万と入れればパインの場合の正しい金額500円は表示されます。 どのように式を変えれば宜しいでしょうか? お手数をおかけしますが、補足お願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんにちは! 質問のような場合は別表を作成しておいた方が簡単だと思います。 ↓の画像で右側がSheet2としています。 Sheet2のような表を作成しておきます。 10万以上・10万~20万・・・(ぴったり10万の場合はどちらに入るのか?) と境界部分かはっきりしていないので ↓の画像で10万未満・10万以上~20万未満・20万以上~30万未満 といった区切りにしています。 B列は必要ないのですが、わかりやすくするためにあえて表示しています。 (A列以上~B列未満となります) Sheet1のC2セルに =IF(COUNTBLANK(A2:B2),"",INDEX(Sheet2!C:D,MATCH(B2,Sheet2!A:A,1),MATCH(A2,Sheet2!C$1:D$1,0))) という数式を入れオートフィルで下へコピー! これで画像のような感じになります。m(_ _)m

wanko_ron
質問者

お礼

なんとか解決する事が出来ました、ありがとうございました。

wanko_ron
質問者

補足

スクリーンショット付きでの丁寧なご回答ありがとうございます。 大変参考にさせて頂いたのですが、少しわからない点があり困っております。 パインの場合と桃の場合と金額が違い、例えばパインで0~10万未満の場合は500円、桃5万以上15万未満の場合は1000円というようにしたいのでC列にはパインの場合の金額(桃のD列は空白)、桃の場合はD列に金額を入れてC列のパインの場合の金額は空白としたのですが、結果を表示すると例えばパインか桃を選択して9万と入れるとどちらか一つしか正しい金額が表示されません。 桃9万と入れても1000円が表示されずに0と表示されてしまいます、その場合パイン9万と入れればパインの場合の正しい金額500円は表示されます。 どのように式を変えれば宜しいでしょうか? お手数をおかけしますが、補足お願いします。

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

IFを使わない方法をあえてやってみました。SUMPRODUCT関数を使ってみました。 =SUMPRODUCT((A1="パイン")*(B1<=100000)*500) +SUMPRODUCT((A1="パイン")*(AND(B1>100000,B1<=200000))*1500) +SUMPRODUCT((A1="パイン")*(AND(B1>200000,B1<=300000))*3000) +SUMPRODUCT((A1="桃")*(B1<=100000)*1000) +SUMPRODUCT((A1="桃")*(AND(B1>100000,B1<=200000))*2000) +SUMPRODUCT((A1="桃")*(AND(B1>200000,B1<=300000))*4000) IFを使ったほうが分かりやすいですね(^_^;)

wanko_ron
質問者

お礼

ご回答ありがとうございます。 同じ結果を出すにも色々なやり方がありますね、参考にさせて頂きます。 エクセルは奥が深いので大変です。

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

この項目分けはどのくらい種類があるのですか? パインと桃だけですか? たくさんあるようでしたら、対応表を作って入力された方がいいいと思います。 バージョンも記載お願いします。

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

=IF(A1="(パイン)", IF(B1<100000,500, IF(B1<200000,1500, IF(B1<300000,2000,"ここは書かれていません" ))), IF(A1="(桃)", IF(B1<100000,1000, IF(B1<200000,2000, IF(B1<300000,4000,"ここは書かれていません" )))) こう切れば見やすいかな?もちろんセルに入れるときは1行にします。

wanko_ron
質問者

お礼

回答ありがとうございます、条件が多くてIFの限界を超えてしまうので無理がありました。 やはり関数を使い表を作るのを頑張ってみます。 ありがとうございました。

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

関連するQ&A

  • Excelでこういう式が作れますか?

    セルA1に金額が入ります。B1にその金額に対する割引率が入ります。 割引率は、金額が10001~20000円なら1%、20001~30000円なら2%・・・ 100000円以上は10%という風に10段階ぐらいあります。 (10000円以下は割引なしです。) 私は下の式のように、 =IF(A1>100000,0.1,IF(A1>90000,0.09,IF(A1>80000,0.08,・・・ IF関数を沢山つなげる方法しか思い付かないのですが、 10個もつなげるとエラーになってしまって出来ませんでした。 (ヘルプを見ると7段階(?)しかつなげられない、みたいに書いてありました。) この場合、どうやったら全部の割引率を1つの式に出来るでしょうか? よろしくお願いします。

  • エクセルの式の作り方のご相談

    緊急でご相談したい件がございます。 エクセルの式の作り方なのですが、 Aセルの値が、 60以下だったらBセルに60サイズ 61~80までだったらBセルに80サイズ 81~100だったらBセルに100サイズ 101~120だったらBセルに120サイズ 121~140だったらBセルに140サイズ 141~160だったらBセルに160サイズ と表示するための複合条件式の作り方がわからないのです。 (IF/AND/OR関数あたりなんだろうなーとは思うのですが。) どうぞ宜しくお願い致します。

  • Excel でIFを使った複数条件の式を教えてください

    お世話になります。 Excelでの入力で困っています。 以下のような条件での式なのですが・・・ セルA1*B1の値が 100,000以下の場合200と出力 100,001以上で200,000以下の場合250と出力 200,001以上は場合450と出力 自分で作った式は IF(A1*B1>200000,450,IF(A1*B1>100000,250,200)) なのですが、上手くいきません。 関数はあまりあつかったことがないので、どなたかご教示いただけると 助かります。 よろしくお願いします。

  • Excel IF関数を短くする式を教えて下さい。

    ExcelのIF関数が長くなりすぎて困っています。 短くする方法あれば教えてください。 =IF(A1="",0,IF(A1<4.5,A1,4.5))+IF(B1="",0,IF(B1<4.5,B1,4.5)) のように"4.5より数が小さい場合はセルの値を返し、 4.5より大きい場合は4.5を返す"というのを繰り返し合計していきます。 60セル以上を合計したいのですが、それだと数式が長すぎて・・・ 何か短くする良い式があれば教えて下さい。 よろしくお願いします。

  • エクセル関数式を教えてください。

    エクセル関数式を教えてほしいのですが、 あるセル値Aが100未満の場合は、セルを空白(表示なし)に設定し あるセル値Aが100以上の場合は、他のセルB値の数値を表示させる。 初心者で関数式がわかりません、誰か教えてください。 お願いします。

  • エクセルの関数

    初心者的な質問で申し訳ないのですが、教えてください。 会社で振込するのにエクセルで一覧表を作成しているのですが、 振り込み金額によって手数料が金額によって変動するので それを関数にして自動的に手数料が表示されるようにしたいと 思います。 例えば A1のセルに 100,000円と入力したら  B1セルに 735円と自動的に表示。 また、A1セルに 10,000円と入力した場合は B1セルには 525円と自動的に表示。 振込手数料は30000円以上で×××円       30000円未満で○○○円となっているので それを関数にできれば思っています。 アバウトな文章で申し訳ございませんが、お分かりになる方が いましたら教えてください。

  • ExcelのIF関数を使って

    エクセルのことについて教えて下さい。 エクセル2003のIF関数を使って、次のようなことがしたいのですが、どのようにしたらいいでしょうか? 例えば、A1のセルに1と入力したら、B1のセルにミカンと自動的入力され、2と入力したらバナナ、3と入力したらモモ・・・・となるようにです。(A1セルには1から5までの数字が入ります。) よろしくお願いします。

  • ExcelのIF関数の数値の和が出ない

    お世話になります。 ExcelのIF関数で疑問がありましたので教えていただきたい次第です。 以下のような式があります。 C1のセルに、 =IF($A1="1" ABS(ROUND(B1*5%,0)),"") C2のセルに、 =IF($A2="1" ABS(ROUND(B2*5%,0)),"") Aのセルが「1」であるときにBのセルに5%をかけた金額を出す、というものです(実際にはこれが縦に何百行も続く) 数値は正しく出たのですが、ひとつ問題があります。C1とC2のセルの和をSUM関数で求めたときに「0」と出てしまうのです。 1を乗算する方法や、ダブルクォーテーション("")を消す方法を試しましたが、やはり「0」のままです。どうにか和を出す方法はないでしょうか? よろしくお願いいたします。

  • エクセル2000にてSUM,SUMIF,IF関数のどれかを用いた集計方法

    エクセル2000にてA1 からA10列には1000円から2000円までの金額、B1からB10列にはA列の金額に応じた手数料が入力されているとします。関数を使用し金額が1200円から1700円における手数料の合計を求めるにはどのように入力したらよいでしょうか?SUM関数、SUMIF関数、IF関数のいずれかを使用した場合を教えてください。

  • エクセルで特定の数値の条件とROUNDDOWNを組み合わせるには?

    過去も調べましたが、簡単すぎて質問がなかったみたいです。(もしかして、関数がわからないので、探せなかったのかもです。。) 初心者です。よろしくお願いいたします。 オークションで代理出品をしています。 手数料として、落札金額が3000円以上の場合は、落札金額の30%、以下の場合は、40%と取り決めました。 以前は、手数料が一律30%だったため、 =ROUNDDOWN(セル*0.3,0) に、していました。 先に書いたように、式を変更するには、どうしたらよいのでしょうか? IF よろしく、ご指導下さい。

専門家に質問してみよう