- ベストアンサー
このような式があるのですが、少数を計算したくないのですが、
このような式があるのですが、少数を計算したくないのですが、 INTなどを どのようにしたらよいのか分らないので教えてください。 =IF(OR(AF4="",AG4=""),"",SUMPRODUCT(($B$16:$B$46>=AF4)*($B$16:$B$46<=AG4)*($F$16:$F$46)*($G$16:$G$46)/"1:0")) 初心者なので、このような質問の仕方でわかるでしょうか。 おねがいします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
いろいろのことが考えられますね。 少数がF列に有りそれを整数のみで扱うのでしたら =IF(OR(AF4="",AG4=""),"",SUMPRODUCT(($B$16:$B$46>=AF4)*($B$16:$B$46<=AG4)*INT($F$16:$F$46)*($G$16:$G$46)/"1:0")) G列の時間も時間単位で計算するのでしたら =IF(OR(AF4="",AG4=""),"",SUMPRODUCT(($B$16:$B$46>=AF4)*INT($B$16:$B$46<=AG4)*($F$16:$F$46)*INT($G$16:$G$46)/"1:0")) 最終的なデータを整数にしたいのでしたら =IF(OR(AF4="",AG4=""),"",INT(SUMPRODUCT(($B$16:$B$46>=AF4)*($B$16:$B$46<=AG4)*($F$16:$F$46)*($G$16:$G$46)/"1:0")))
その他の回答 (3)
- KURUMITO
- ベストアンサー率42% (1835/4283)
回答No2です。一部式を間違いていました。 G列の時間も時間単位で計算するのでしたら =IF(OR(AF4="",AG4=""),"",SUMPRODUCT(($B$16:$B$46>=AF4)*($B$16:$B$46<=AG4)*INT($F$16:$F$46)*INT($G$16:$G$46)/"1:0")) なお、F列と時間を掛けた値を整数にして求めるのでしたら =IF(OR(AF4="",AG4=""),"",SUMPRODUCT(($B$16:$B$46>=AF4)*($B$16:$B$46<=AG4)*INT($F$16:$F$46*$G$16:$G$46/"1:0"))
SUMPRODUCT(($B$16:$B$46>=AF4)*($B$16:$B$46<=AG4)*($F$16:$F$46)*($G$16:$G$46)/"1:0") の部分を INT で囲うだけでOKでは? つまり、 =IF(OR(AF4="",AG4=""),"",INT(SUMPRODUCT(($B$16:$B$46>=AF4)*($B$16:$B$46<=AG4)*($F$16:$F$46)*($G$16:$G$46)/"1:0"))) でも、SUMPRODUCT の結果が小数点付き負数になることがあるのなら、INT の代わりに TRUNC を使うべきかと。
お礼
ありがとうございました。 おかげで 上手くゆきそうです。 タッチの差で KURUMITOさんに 同じ回答を早くいただきましたので、 お礼で、すみません TRUNCなど聞いたことのない関数もあるのですね。 勉強になりました。 ありがとうございます。
- mu2011
- ベストアンサー率38% (1910/4994)
次のような事でしょうか。 =IF(OR(AF4="",AG4=""),"",SUMPRODUCT(($B$16:$B$46>=AF4)*($B$16:$B$46<=AG4)*($F$16:$F$46)*INT($G$16:$G$46/"1:0")))
お礼
ありがとうございます。 皆様のおかげで、上手くゆきました。
補足
遅くなりました。 ありがとうございます。 いただいた 式を使ったのですが、上手くゆきませんでした。 少数が計算されるのですが、よい方法は、ありますか?
お礼
何度もありがとうございます。 最後い書いていただいた 最終的なデーターを整数にする。を つかわせていただきます。 ありがとうございます。