Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: excelwhisker

[已解决]请大家帮忙添写判断函数

[复制链接]
 楼主| 发表于 2012-3-7 13:14 | 显示全部楼层
蝶·舞 发表于 2012-3-7 09:53

谢谢你,可能我表达不是很清楚。
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

发表于 2012-3-7 13:19 | 显示全部楼层
excelwhisker 发表于 2012-3-7 13:10
5blessyou谢谢你,又是你帮了我。可以解释一下此项函数吗?

什么时候帮过你不记得了,呵呵

  1. =SUM(IF(D$1:O$1,D3:O3*D$1:O$1))/P$1
复制代码

IF(D$1:O$1,D3:O3*D$1:O$1),如果D$1:O$1不为0,那么计算D3:O3*D$1:O$1,如果D$1:O$1为0,返回FALSE,然后求和后除以P1
貌似我的公式被写复杂了,之前想的是平均值忽略逻辑值,貌似此题很简单的,我想复杂了,直接加权就和好了

  1. =SUMPRODUCT($D$1:$O$1*D3:O3)/$P$1
复制代码

或者

  1. =SUMPRODUCT($D$1:$O$1*D3:O3/$P$1)
复制代码

0和空在进行乘法的时候都会当成0,所以没有关系
回复

使用道具 举报

 楼主| 发表于 2012-3-7 13:35 | 显示全部楼层
5blessyou 发表于 2012-3-7 13:19
什么时候帮过你不记得了,呵呵

IF(D$1:O$1,D3:O3*D$1:O$1),如果D$1:O$1不为0,那么计算D3:O3*D$1:O$1 ...

还是之前的函数较适合,因为我忘了一点,某些被计算在内的列可能不是数字,而是文字,用SUMPRODUCT就会发生错误。
回复

使用道具 举报

发表于 2012-3-7 16:38 | 显示全部楼层
excelwhisker 发表于 2012-3-7 13:13
谢谢你,可能我表达不是很清楚。

不好意思,我的公式错了。应为:
{=SUM(($D$1:$O$1>0)*D3:O3*$D$1:$O$1/$P$1}
回复

使用道具 举报

 楼主| 发表于 2012-3-7 18:40 | 显示全部楼层
ppp710715 发表于 2012-3-7 16:38
不好意思,我的公式错了。应为:
{=SUM(($D$1:$O$1>0)*D3:O3*$D$1:$O$1/$P$1}

似乎还差一点,请你再改改看。
回复

使用道具 举报

发表于 2012-3-8 09:58 | 显示全部楼层
不好意思,又少了一个括号!
{=SUM(($D$1:$O$1>0)*D3:O3*$D$1:$O$1/$P$1)}
回复

使用道具 举报

 楼主| 发表于 2012-3-8 21:48 | 显示全部楼层
5blessyou 发表于 2012-3-7 13:19
什么时候帮过你不记得了,呵呵

IF(D$1:O$1,D3:O3*D$1:O$1),如果D$1:O$1不为0,那么计算D3:O3*D$1:O$1 ...

此函数:{=SUM(IF($D$1:$O$1>0,D3:O3*$D$1:$O$1))/SUM($D$1:$O$1)}
与你所写的函数:{=SUM(IF(D$1:O$1,D3:O3*D$1:O$1))/P$1}
同时达到我要的结果,请问其中 "$D$1:$O$1>0” 与 "D$1:O$1" 的意思一样吗?
谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-14 04:30 , Processed in 0.266369 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表