• ベストアンサー

OpenOfficeの表計算ソフトで

OpenOfficeの表計算ソフトで確定申告の計算できるようにしようとおもったのですが数字があいません J6の欄に収入金額の給与を入れて 次の欄に所得金額の給与が計算されるように下記のようなIF関数を使ったのですがうまくいきません =IF(J6<650999;0;IF(651000<J6<1618999;J6-650000;IF(1619000<J6<1619999;969000;IF(1620000<J6<1621999;970000;IF(1622000<J6<1623999;972000;IF(1624000<J6<1627999;974000;IF(1628000<J6<1799999;J6/4*2.4;IF(1800000<J6<3599999;J6/4*2.8-180000;IF(3600000<J6<6599999;J6/4*3.2-540000;IF(6600000<J6<9999999;J6*0.9-1200000;IF(10000000<J6;J6*0.95-1700000))))))))))) 式が間違ってるのでしょうか?それともこういうのを求める場合は違う関数を使うのでしょうか?パソコンにはあまり詳しくなくいろいろ調べながら書いたのですが… 間違ってる場所の指摘か違う書き方などあれば教えてください。 よろしくお願いします。

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

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

エクセルと互換があると想定していますのでご確認下さい。 エラー原因は、IF関数のネスト数オーバ(エクセルでは8コ超)だと思います。 この様なケースは、検索関数(エクセルではVLOOKUP関数等)にて所得金額リストを作成して抽出する方法が一般的です。

noname#69925
質問者

お礼

回答ありがとうございました。

その他の回答 (2)

  • jo-zen
  • ベストアンサー率42% (848/1995)
回答No.3

IF文のネスト(入れ子構造)が多すぎる可能性が高いです。 例えば、A2セルに収入金額を入れたら、B2セルに所得金額が表示されるようにしたいなら、   A4セルからA14セルに順番に、    0    65100    1619000    1620000    1622000    1624000    1628000    1800000    3600000    6600000    10000000   B4セルからB14セルに順番に    0 =B1-650000 969000 970000 972000 974000 =B1/4*2.4 =B1/4*2.8-180000 =B1/4*3.2-540000 =B1*0.9-1200000 =B1*0.95-1700000 と入力して一覧表をまず作りましょう。 そうして、B2セルに   =INDEX(B4:B14;MATCH(B1;A4:A14;1)) という式を入れてあげれば正しい数字を導けるかと思います。 Excelをベースとして考えた(カンマをセミコロンに変えただけ)ので関数の構造がCalcと微妙に違う可能性はありますが、検証しておりませんので悪しからず。    

noname#69925
質問者

お礼

質問を締め切って回答されてることに気づきました(汗) 一度試してみます。 回答ありがとうございました。

  • kadakun1
  • ベストアンサー率25% (1507/5848)
回答No.1

確かIFの条件は最大7つまでではないでしょうか? IFが多すぎますねw 何をやりたいのかよくわからないので(式だけでは)あらためてやりたいことを質問してみては?

noname#69925
質問者

お礼

回答ありがとうございました。

関連するQ&A

専門家に質問してみよう