ずいぶん前に、上記URLのような質問をしたのですが、IF関数を教えてください。
A列…社員No
B列…社員名
中略
G列…退職年月日
H列…長期休暇
I列…復帰日
中略
O~T列…7月~12月の残業時間
U列…O~T列の合計
V列…U列の平均時間
とします。(大雑把ですみません)
例えばG3の行へ入れるものとして
V列の式に
1、G3に日付が入った時は空欄、
2、H3に日付が入っていてI3が今日より大きい日付か「-」が入っていたら0
1と2のどれにも該当しなかったら平均を出す。
としたいんですね。
なので
=IF($G3<>"","",IF(OR($H3<>"",$I3>TODAY(),&I3="-"),0,AVERAGE($O3:$T3)))
という式を作ったのですが、何故か上手く平均値が出てきてくれません。
どこか式を間違っているとは思うのですが。。。
正しい式を教えてください。
それでは合計が0だったら、平均値を計算せずに0にして、
=IF($G3<>"","",IF(AND($H3<>"",OR($I3>TODAY(),$I3="-")),0,IF(U3=0,0,AVERAGE($O3:$T3))))
で、どうでしょう?
下記の式は条件の修正が必要そうです。
>H3に日付が入っていてI3が今日より大きい日付か「-」が入っていたら
は下記のようになります。
AND($H3<>"",OR($I3>TODAY(),&I3="-"))
ですから、全体としては
=IF($G3<>"","",IF(AND($H3<>"",OR($I3>TODAY(),&I3="-")),0,AVERAGE($O3:$T3)))
のようになるかと思います。
うまくいかないときは、コメントにて対応します。
ありがとうございます。
何となく意味が解ったのですが、「-」を表すために使用している「&」が数式エラーになって出てしまいます。
一応これでいいと思います。
=IF($G3<>"","",IF(AND($H3<>"",OR($I3>TODAY(),$I3="-")),0,AVERAGE($O3:$T3)))
あ、出来ました。
&は要らなかったんですね。ありがとうございます。
ただ、O列~T列が空欄だとaverageのエラー?
DIV/0!が出てきてしまって…
o列~T列まで全部空欄でも一部空欄でもエラーがなくなると非常にうれしいんですが…
厳しいでしょうか?
それでは合計が0だったら、平均値を計算せずに0にして、
=IF($G3<>"","",IF(AND($H3<>"",OR($I3>TODAY(),$I3="-")),0,IF(U3=0,0,AVERAGE($O3:$T3))))
で、どうでしょう?
あ、なるほどです!
それならずーっと残業がなく「0」の人は間違いなく平均も「0」だからエラーも出ませんよね。
納得しました。
ありがとうございます。
あ、なるほどです!
それならずーっと残業がなく「0」の人は間違いなく平均も「0」だからエラーも出ませんよね。
納得しました。
ありがとうございます。