- 締切済み
IF関数?
エクセルで下記作業をさせたいのですが A1のセルに入力された値に対して下記の条件でA2セルに回答を出す (1)A1の値が \10000未満の場合 A1値*5%の値を返す (2)A1が\10000以上10万円未満の場合 A1に\36000の値を返す (3)A1が10万円以上100万円未満の場合 A1*5%の値を返す (4)A1が100万円以上10000万円未満の場合 A1に\50000を返す (1)はうまくいくのですが それ以降エラーもしくは値が出ない 教えて下さい
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- grumpy_the_dwarf
- ベストアンサー率48% (1628/3337)
条件によって比率だったり定数だったり、区分が等分じゃなかった りで面倒くさそうに見えますが、ちゃんと区分表を作ってvlookupで 処理すればラクチンです。if関数を延々と入れ子にしていく方法は 間違いやすいし後チョットで仕様の限界でしょう。 というわけで私のパターンでは区分表は 区分 かけ算 定数 \0 0.05 0 \10,000 0.00 36,000 \100,000 0.05 0 \1,000,000 0.00 50,000 \100,000,00 \100,000,000 \300,000,000 こうなります。3列使うんですね。そうするとA2の数式は、 =VLOOKUP(A1,区分表,2,TRUE)*A1+VLOOKUP(A1,区分表,3,TRUE) これだけ。ちなみに一千万以上の処理は不明なので空白にして あります。自分で埋めて下さい。
- merlionXX
- ベストアンサー率48% (1930/4007)
No2 merlionXXです。 > 1000万円以上だとFALSEが出てしまうのですが え? 回答の式のままなら、「対象外」ってでませんか? > 1億未満と3億未満を追加したいのですが =IF(A1="","",IF(A1<10000,A1*0.05,IF(A1<100000,36000,IF(A1<1000000,A1*0.05,IF(A1<10000000,50000,IF(A1<100000000,"1億未満",IF(A1<300000000,"3億未満","3億以上")))))))
- merlionXX
- ベストアンサー率48% (1930/4007)
>(4)A1が100万円以上10000万円未満の場合 これ、1000万円未満 ですよね? =IF(A1="","",IF(A1<10000,A1*0.05,IF(A1<100000,36000,IF(A1<1000000,A1*0.05,IF(A1<1000000,50000,"対象外")))))
- mu2011
- ベストアンサー率38% (1910/4994)
VLOOKUP関数を使った方法は如何でしょうか。 (1)仮にB・C列に変換表を定義 B C 1 0 1 2 10000 36000 3 100000 1 4 1000000 50000 (2)A2に=IF(VLOOKUP(A1,$B$1:$C$4,2,TRUE)=1,INT(A1*5%),VLOOKUP(A1,$B$1:$C$4,2,TRUE))を入力 因みに小数点以下は切り捨てしています。
お礼
ありがとうございました 1000万円以上だとFALSEが出てしまうのですが 1億未満と3億未満を追加したいのですが よろしくお願いします