キンコミ kintone user community

みんなの投稿

2024/11/28 11:41

・お悩みの背景、目的(何を実現するためにkintoneを活用したいか等)
→IF関数エラーの原因が特定できません。エクセルだとうまくいくのですが、kintoneだとうまくいきません。

IF(開始年=終了年,IF(AND(開始月<=4,終了月>=4),IF(開始月=4,開始日,IF(終了月=4,終了日,30)),0),IF(開始月<4,30,IF(開始月=4,30-開始日+1,IF(開始月>4,0))))
△IF関数には3個の引数が必要です。とエラーが吐き出されます



大変恐れ入りますが、どなたか何が原因かご教示の程、宜しくお願いします。

2件のコメント (新着順)
かな
建設業
2024/11/28 11:52

最後の「IF(開始月>4,0)」の偽がないので、そこですね。
IF(開始月>4,0,0)
などにすれば行けると思います。

excelだと最後の偽がなくても自動で「0」とかにしてくれるんですが、kintoneの自動計算はきっちり入れないと判定OKでないので💦


ばりばり
2024/11/28 12:02

コメントありがとうございます。
素直に入れてみたところ、「計算式の文法が正しくありません。」エラーが吐き出されてしまいました…。
他に埋めなくてはいけない、偽の部分がまだ空いてしまっているんでしょうか…。

かな
建設業
2024/11/28 12:35

chatGPTくんにデバックしてもらいました。

IF(開始年 = 終了年,
IF(AND(開始月 <= 4, 終了月 >= 4),
IF(開始月 = 4,開始日,
IF(終了月 = 4,終了日,30)),0),
IF(開始月 < 4,30,
IF(開始月 = 4,30 - 開始日 + 1,
IF(開始月 > 4,0,0))))

こちらでいかがでしょう?

最後の「)」(かっこ)が抜けている?

ばりばり
2024/11/28 14:08

いけました!!
GPTくん、すごいですね。。
ありがとうございました。

ばりばり
2024/11/28 14:09

まさしくでした。
ご教示、ありがとうございました!

kobayashi
2024/11/28 11:52

始めの開始日=終了日であれば、何を返されたいのでしょうか。3つめの”開始月=4”であれば終了日を返す、それ以外は30を返す。は理解ができたのですが、1つ目、2つ目のIFは、始めの条件が合っている場合に返したいものの入力方法が あっているのかな。と思いました。
あまり精査できずに答えていてすみません。 いくつものIFを重ねて動かない場合、一つづつに分解して、どこがネックになっているかを探る対応をします。(面倒ですが)


ばりばり
2024/11/28 12:08

コメントありがとうございます。

1つ目、2つ目のIFは、始めの条件が合っている場合に返したいものの入力方法が あっているのかな。と思いました。
⇒1つ目のIFに関しては、1~12月の範囲で月ごとの日数を計算する場合には不要だと思われるんですが、今回年度単位ということで4~翌年3月の範囲で計算が必要なために、Excelで式を組んだ際に必要だったものです。
2つ目のIFに関しては、例でいくと4月を含むか含まないかを判断させるために、同じくExcelで式を組んだ際に必要でした。
ただkintone上だとif関数を多用すると引数が悪さしてしまっているのでしょうか…。

あまり精査できずに答えていてすみません。 いくつものIFを重ねて動かない場合、一つづつに分解して、どこがネックになっているかを探る対応をします。
⇒いえいえ、お忙しい中コメント頂き、本当にありがとうございます。
コメント頂いているとおり、地道に分解してみるしかないかなと思います。