我有一个10年的工资数据表,每一列都有正确设置的数据类型("B "的日期,"C "和 "E "的数字)。每一列都有正确设置数据类型(B为日期,C和E为数字),我想写一个公式来计算每年的平均工资。
我想写一个公式来计算每年的平均工资。在 "E "列中,我手动输入了所有可能的年份,而在 "F "列中,应该根据 "E "列中的年份计算出年平均工资。
所以,我最好的尝试是这个公式。=AVERAGEIF(YEAR(B2:B133);"="&E2;C2:C133)
试着从C列计算出平均数 B列中的年份等于E列中的年份。
但我得到的却是Err:504的错误。搞清楚了,问题出在 YEAR(interval)
部分,但不明白到底是什么... ...
谁能指出来?
不幸的是 AVERAGEIF()
期待一个范围引用,而不是一个计算的数组。因此它会出错。至少对Excel来说是这样,我希望对LibreCalc来说也是这样。
解决这个问题的一个方法是使用 AVERAGEIFS()
函数,并检查一年中的第一天和最后一天,例如。
=AVERAGEIFS(C$2:C$133;B$2:B$133;">="&DATE(E2;1;1);B$2:B$133;"<="&DATE(E2;12;31))
把公式拖下来