- ベストアンサー
エクセルの式で困っています。
エクセルの初心者に等しいです。教えて下さい。 例えばA1のセルに(パイン)とあったら、B1のセルの金額を見て10万以下なら500円、10万~20万なら1500円、20万~30万なら3000円、A1のセルが(桃)とあったら、B1のセルの金額を見て10万以下なら1000円、10万~20万なら2000円、20万~30万なら4000円 といった式を入れたいのですが、IFではややこし過ぎて頭が回りません。 関数等でうまくやる方法あれば教えて下さい。 お手数をおかけしますが宜しくお願いします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (6)
- bunjii
- ベストアンサー率43% (3589/8249)
回答No.5の訂正です。 説明文の中の「INDEX関数」は誤りで「MATCH関数」に訂正します。 大変失礼致しました。
- bunjii
- ベストアンサー率43% (3589/8249)
>関数等でうまくやる方法あれば教えて下さい。 基準になる別表(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関数を使います。
補足
スクリーンショット付きでの丁寧なご回答ありがとうございます。 大変参考にさせて頂いたのですが、少しわからない点があり困っております。 パインの場合と桃の場合と金額が違い、例えばパインで0~10万未満の場合は500円、桃5万以上15万未満の場合は1000円というようにしたいのでC列にはパインの場合の金額(桃のD列は空白)、桃の場合はD列に金額を入れてC列のパインの場合の金額は空白としたのですが、結果を表示すると例えばパインか桃を選択して9万と入れるとどちらか一つしか正しい金額が表示されません。 桃9万と入れても1000円が表示されずに0と表示されてしまいます、その場合パイン9万と入れればパインの場合の正しい金額500円は表示されます。 どのように式を変えれば宜しいでしょうか? お手数をおかけしますが、補足お願いします。
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 質問のような場合は別表を作成しておいた方が簡単だと思います。 ↓の画像で右側が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
お礼
なんとか解決する事が出来ました、ありがとうございました。
補足
スクリーンショット付きでの丁寧なご回答ありがとうございます。 大変参考にさせて頂いたのですが、少しわからない点があり困っております。 パインの場合と桃の場合と金額が違い、例えばパインで0~10万未満の場合は500円、桃5万以上15万未満の場合は1000円というようにしたいのでC列にはパインの場合の金額(桃のD列は空白)、桃の場合はD列に金額を入れてC列のパインの場合の金額は空白としたのですが、結果を表示すると例えばパインか桃を選択して9万と入れるとどちらか一つしか正しい金額が表示されません。 桃9万と入れても1000円が表示されずに0と表示されてしまいます、その場合パイン9万と入れればパインの場合の正しい金額500円は表示されます。 どのように式を変えれば宜しいでしょうか? お手数をおかけしますが、補足お願いします。
- MSZ006
- ベストアンサー率38% (390/1011)
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を使ったほうが分かりやすいですね(^_^;)
お礼
ご回答ありがとうございます。 同じ結果を出すにも色々なやり方がありますね、参考にさせて頂きます。 エクセルは奥が深いので大変です。
- chonami
- ベストアンサー率43% (448/1036)
この項目分けはどのくらい種類があるのですか? パインと桃だけですか? たくさんあるようでしたら、対応表を作って入力された方がいいいと思います。 バージョンも記載お願いします。
- maiko0318
- ベストアンサー率21% (1483/6969)
=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行にします。
お礼
回答ありがとうございます、条件が多くてIFの限界を超えてしまうので無理がありました。 やはり関数を使い表を作るのを頑張ってみます。 ありがとうございました。
お礼
わかりにくい質問と追加質問で失礼しました。やっと理解が出来てうまく計算結果が出ました。後出しジャンケンのつもりはなかったのですが、質問の仕方が悪くやりたいように出来なかった事が原因です。 本当にありがとうございました。