• 締切済み

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)はうまくいくのですが それ以降エラーもしくは値が出ない 教えて下さい

みんなの回答

回答No.4

条件によって比率だったり定数だったり、区分が等分じゃなかった りで面倒くさそうに見えますが、ちゃんと区分表を作って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)
回答No.3

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)
回答No.2

>(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,"対象外")))))

moondog007
質問者

お礼

ありがとうございました 1000万円以上だとFALSEが出てしまうのですが 1億未満と3億未満を追加したいのですが よろしくお願いします

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

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))を入力   因みに小数点以下は切り捨てしています。  

関連するQ&A