プロが教えるわが家の防犯対策術!

IFとOR関数を使ってできると思うのですが、うまくいかないので教えてください。
りんごなら、単価×1.2に、キャベツなら、単価×1.5、みかんなら、単価×1.6、その他の材料なら、そのままにしなさい
という式ですが、
if(or(((F5="りんご",I5*1.2),F5="キャベツ",I5*1.5),F5="みかん",I5*1.6),I5)
こうしたのですが、エラーになります。
どこがおかしいのでしょうか?よろしくお願いします。

A 回答 (9件)

遊びというか今後の勉強のために


=IF(ISNA(MATCH(A2,$E$2:$E$4,0)),B2,B2*VLOOKUP(A2,$E$2:$F$4,2,0))

ISNA(MATCH(A2,$E$2:$E$4,0))
品名が見つからない場合、真とする

真の場合 そのままB2

偽の場合
B2*VLOOKUP(A2,$E$2:$F$4,2,0)
B2に表引きした掛け率を掛ける

添付図参照 参考まで
「エクセル IFとORの関数を使いたいので」の回答画像6
    • good
    • 0
この回答へのお礼

詳しくご回答ありがとうございます。
画像とてもわかりやすいです。
要するに、掛け率が目で見てわかるパターンになっているわけですね。
これなら、掛け率のセルに数字を入れ替えることもできますね。
とても参考になりました。ありがとうございました。

お礼日時:2009/04/25 12:20

う~ん また、ずれました


プレビューではあっているのに実際投稿されると変ですね

品名    単価    結果        製品名    掛け率
りんご    100    120        りんご    1.2
きゃべつ  100    100        キャベツ    1.5
みかん    100    160        みかん    1.6
キャベツ   100    150            
生クリーム 100    100            
「エクセル IFとORの関数を使いたいので」の回答画像9
    • good
    • 0

#6です


なぜか画像がずれました
右側が切れたので余裕を持たせて再アップ
「エクセル IFとORの関数を使いたいので」の回答画像8
    • good
    • 0

遊びですが、こんな風に条件式だけでも可能です。


=I5*(1+0.2*(F5="りんご")+0.5*(F5="キャベツ")+0.6*(F5="みかん"))
    • good
    • 0
この回答へのお礼

うーん、このパターンは初めて見ましたが、
こういうやり方があるのですね。
参考になりました。ありがとうございました。

お礼日時:2009/04/25 12:21

回答番号:No.4です。


先ほどの画像失敗し削除しました

再アップです。
「エクセル IFとORの関数を使いたいので」の回答画像5
    • good
    • 0

皆さんと同じです


IF関数だけでできます。
B1に単価
B2に =IF(A2="りんご",$B$1*1.2,IF(A2="キャベツ",$B$1*1.5,IF(A2="みかん",$B$1*1.6,$B$1)))
下方にオートフィル
※添付画像が削除されました。
    • good
    • 0
この回答へのお礼

画像までアップして頂きありがとうございました。
とてもよくわかりました。

お礼日時:2009/04/25 12:22

この場合orは必要ないと思います。

=IF(F5="りんご",I5*1.2,IF(F5="キャベツ",I5*1.5,IF(F5="みかん",I5*1.6,I5)))で良いと思いますけど。
orは条件だけを並べる時に使うので、たとえば、りんごかキャベツかみかんが入っているときは1.2倍それいがいはそのままというばあいはorでくくりますが、今回はそうじゃないので使いませんし、orに結果の式を書くのはおかしいです。
    • good
    • 0
この回答へのお礼

ORの使い方、よくわかりました。
複数の条件が、それ自体式になっている場合は、ORを使うのはふさわしくないのですね。
ありがとうございました。

お礼日時:2009/04/25 12:25

式に間違いがあったので再投稿します。


=IF(F5="りんご",I5*1.2,IF(F5="キャベツ",I5*1.5,IF(F5="みかん",I5*1.6,I5)))
    • good
    • 0

IF関数だけでできます。


=IF(F5="りんご",I5*1.2,IF(F5="キャベツ",I5*1.5,IF(F5="みかん",I5*1,6,I5)))
    • good
    • 0
この回答へのお礼

さっそくのご回答ありがとうございます。
複数の条件を入れる場合は、このパターンなのですね。
よくわかりました。
ありがとうございました。

お礼日時:2009/04/25 12:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!