- ベストアンサー
以下の条件での式を教えてください
たとえば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
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
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) です。
その他の回答 (6)
- mt2015
- ベストアンサー率49% (258/524)
> はい。正数か0です。 間違っているのはココですね。 条件が、正数か0の時は (J21>=0) 正数のみのときは (J21>0) です。 J47、J45、J21のいずれかが0だったのではありませんか。
お礼
> J47、J45、J21のいずれかが0だったのではありませんか。 J46やJ21他がある場合は0か正数ということです。 目的にかないました。ありがとうございます。
- mt2015
- ベストアンサー率49% (258/524)
> =IF((J47>0)*J46*(J45>0)*(J21>0),J47+(J53>=0)*J53,"") > > で試しましたが…空白状態になったまま結果がでませんでした… 式はおかしく無いと思います。 ・J47、J45、J21は正数ですか ・J46は0以外の値ですか それぞれのセルの値を確認して見てください。
補足
やはり空白です。値も見直しました。 >J47、J45、J21は正数ですか >J46は0以外の値ですか はい。正数か0です。 ただしJ45、J21、J27、J33、J39の範疇で、いずれか0のときは必ず一つが正数になります。 それでも元の式に*(J21>=0)を入れるだけだと思うので理論的には正しいと思いますが…
- mt2015
- ベストアンサー率49% (258/524)
ANo.2です。 恐らく、あなたが求めている式は↓これになります。お試しください。 =IF((J47>0)*J46*(J45>0),J47+(J53=>0)*J53,"") 「表示」と「加算」では意味が違います。 次回はもう少し正しく、論理的な説明をお願いします。
補足
求めてることができました。ありがとうございます。 ただ「入力した数式にエラーがありました。次の方法があります」というメッセージがでます。「はい」をクリックしましたが、気にしなくてもよいのでしょうか? もうひとつだけよいでしょうか?この式の応用的なものなのです。 この条件にJ21、J27、J33、J39のセルを追加したいのです。 J45と同様、これらが0か正数の場合となる式を教えてください。よろしくお願いいたします。
- miso_kasu
- ベストアンサー率60% (6/10)
>新たに行を挿入しJ53に入力した数値をこのJ63に反映するようにたい >なお、J53に入る数値は0か正数です。 「反映する」とは提示の数式にJ53の値を加算するのですか? IF関数の入れ子構造で対応できると思います。 =IF(J53,J47+J53,IF((J47>0)*J46*(J45>0),J47,""))
- mt2015
- ベストアンサー率49% (258/524)
↓の式の意味は =IF((J47>0)*J46*(J45>0),J47,"") 条件:J47とJ45が0より大きく、J46が0以外 この条件を満たすときはJ47の値を表示 条件を満たさない時は空白を表示 と、言う意味です。 この式にJ53の値をどう絡ませたいのですか? 「J53に入力した数値をこのJ63に反映するようにたいのです」この文をそのまま活かすなら単に=J53 です。
補足
条件を仕切り直ししますと 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)
「J53に入力した数値をこのJ63に反映する」というのはどういう意味か分からない。どのように反映すればよいのですか?
補足
=IF((J47>0)*J46*(J45>0),J47,"") はJ47、J46、J45を対象としてますよね。 それに加えてJ64も対象としたいのです。 J64に入力した数値は加算対象となる。それが「反映する」ということです。
補足
J21の場合だけですが、 =IF((J47>0)*J46*(J45>0)*(J21>0),J47+(J53>=0)*J53,"") で試しましたが…空白状態になったまま結果がでませんでした… どこがおかしいのでしょうか?