• ベストアンサー

以下の条件での式を教えてください

たとえばJ63のセルに以下の関数式が入っているとします。 =IF((J47>0)*J46*(J45>0),J47,"") このセルはこの計算式の回答が入りますが、新たに行を挿入しJ53に入力した数値をこのJ63に反映するようにたいのです(行が増えますのでJ64となります)。その式を教えてください。 なお、J53に入る数値は0か正数です。 なお、 =IF((J47>0)*J46*(J45>0),J47,"") の式の詳細ついては、以下の質問先となります。 https://okwave.jp/qa/q9488151.html

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

  • ベストアンサー
  • mt2015
  • ベストアンサー率49% (258/524)
回答No.5

ANo.2、4です。 > ただ「入力した数式にエラーがありました。次の方法があります」というメッセージがでます。「はい」をクリックしましたが、気にしなくてもよいのでしょうか? 失礼しました、Excelが勝手に直してくれましたが正しくはこうですね =IF((J47>0)*J46*(J45>0),J47+(J53=>0)*J53,"")                 ↓ =IF((J47>0)*J46*(J45>0),J47+(J53>=0)*J53,"") 内容は同じですが「以上」の不等号の位置がExcelの作法にのっとっていませんでした。 -- > この条件にJ21、J27、J33、J39のセルを追加したいのです。 > J45と同様、これらが0か正数の場合となる式を教えてください。よろしくお願いいたします。 J45は正数が条件です、正数が条件で良いならIF文の論理式の部分に *(J21>0) と言う感じで追加します。0か正数が条件なら *(J21>=0) です。

frau
質問者

補足

J21の場合だけですが、 =IF((J47>0)*J46*(J45>0)*(J21>0),J47+(J53>=0)*J53,"") で試しましたが…空白状態になったまま結果がでませんでした… どこがおかしいのでしょうか?

その他の回答 (6)

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.7

> はい。正数か0です。 間違っているのはココですね。 条件が、正数か0の時は (J21>=0) 正数のみのときは  (J21>0) です。 J47、J45、J21のいずれかが0だったのではありませんか。

frau
質問者

お礼

> J47、J45、J21のいずれかが0だったのではありませんか。 J46やJ21他がある場合は0か正数ということです。 目的にかないました。ありがとうございます。

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.6

> =IF((J47>0)*J46*(J45>0)*(J21>0),J47+(J53>=0)*J53,"") > > で試しましたが…空白状態になったまま結果がでませんでした… 式はおかしく無いと思います。 ・J47、J45、J21は正数ですか ・J46は0以外の値ですか それぞれのセルの値を確認して見てください。

frau
質問者

補足

やはり空白です。値も見直しました。 >J47、J45、J21は正数ですか >J46は0以外の値ですか はい。正数か0です。 ただしJ45、J21、J27、J33、J39の範疇で、いずれか0のときは必ず一つが正数になります。 それでも元の式に*(J21>=0)を入れるだけだと思うので理論的には正しいと思いますが…

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.4

ANo.2です。 恐らく、あなたが求めている式は↓これになります。お試しください。 =IF((J47>0)*J46*(J45>0),J47+(J53=>0)*J53,"") 「表示」と「加算」では意味が違います。 次回はもう少し正しく、論理的な説明をお願いします。

frau
質問者

補足

求めてることができました。ありがとうございます。 ただ「入力した数式にエラーがありました。次の方法があります」というメッセージがでます。「はい」をクリックしましたが、気にしなくてもよいのでしょうか? もうひとつだけよいでしょうか?この式の応用的なものなのです。 この条件にJ21、J27、J33、J39のセルを追加したいのです。 J45と同様、これらが0か正数の場合となる式を教えてください。よろしくお願いいたします。

  • miso_kasu
  • ベストアンサー率60% (6/10)
回答No.3

>新たに行を挿入しJ53に入力した数値をこのJ63に反映するようにたい >なお、J53に入る数値は0か正数です。 「反映する」とは提示の数式にJ53の値を加算するのですか? IF関数の入れ子構造で対応できると思います。 =IF(J53,J47+J53,IF((J47>0)*J46*(J45>0),J47,""))

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.2

↓の式の意味は =IF((J47>0)*J46*(J45>0),J47,"") 条件:J47とJ45が0より大きく、J46が0以外  この条件を満たすときはJ47の値を表示  条件を満たさない時は空白を表示 と、言う意味です。 この式にJ53の値をどう絡ませたいのですか? 「J53に入力した数値をこのJ63に反映するようにたいのです」この文をそのまま活かすなら単に=J53 です。

frau
質問者

補足

条件を仕切り直ししますと J47とJ45が0より大きく、J46が0以外  この条件を満たすときはJ47の値を表示  条件を満たさない時は空白を表示 かつ、J53が0または正数の場合にはJ53を表示 >この式にJ53の値をどう絡ませたいのですか? 上の条件はそのままでよいのです。J53に0か正数が入れば、この条件を満たすまたは満たさないと同時に、加算させたいのです。 たとえば第一条件である 「J47とJ45が0より大きく、J46が0以外」 の場合の答えが4,000とします。➡J64に反映 第二条件である 「J53の数値が0か正数」 の場合の答えが1,000とします。➡J64に反映 第一と第二の合計は5,000です、➡J64に反映 ということです。

  • f272
  • ベストアンサー率46% (8526/18249)
回答No.1

「J53に入力した数値をこのJ63に反映する」というのはどういう意味か分からない。どのように反映すればよいのですか?

frau
質問者

補足

=IF((J47>0)*J46*(J45>0),J47,"") はJ47、J46、J45を対象としてますよね。 それに加えてJ64も対象としたいのです。 J64に入力した数値は加算対象となる。それが「反映する」ということです。

関連するQ&A

専門家に質問してみよう