求助,Excel2003公式问题,非常感谢!

 我来答
退休画线工
2019-09-09 · 知道合伙人软件行家
退休画线工
知道合伙人软件行家
采纳数:5412 获赞数:27021
1981年毕业于湖南大学,从事化工设计30多年,精于工程设计

向TA提问 私信TA
展开全部

只按你的图做了分步的公式,一次在B列编写公式太有难度了。

G列怎么弄就不说,简单的直接填充也可以。

H列:

H3=LOOKUP(9^9,FREQUENCY(OFFSET(D2,1,,60-ROW(2:2)),14))

这里对原说明可能理解有偏差。“含有非0的个数大于14个以上的”,这一说明翻来覆去也没想透是什么意思,所以纯按想当然了:从D60向D3往上到当前行中数字大于14的个数(自然也就非0了)

F列也没什么要说明的了,简单的G列除以H列

B列:

B3=IFERROR((ROW()=LOOKUP(1,0/(F$3:F$27=2.2),ROW($3:$27)))*1,0)

加一个IFERROR,是当F列没有2.2这样的数字时,不至显示错误,而是全部显示为0

追答
忘了你要求2003版去了,应该回答过你多个类似的问题了,每次都是要求用2003版,很佩服你的坚守!其实现在更高的版本,无论在哪方面都要好用得多,不仅有功能更强大的函数,而且像power query这样的数据处理工具使得Excel处理很多复杂的数据变得轻而易举。为何不升级下版本呢?
要求2003的话,B列的消错公式就长多了:
B3=IF(ISERROR((ROW()=LOOKUP(1,0/(F$3:F$27=2.2),ROW($3:$27)))*1),0,(ROW()=LOOKUP(1,0/(F$3:F$27=2.2),ROW($3:$27)))*1)
或者用:
B3=IF(COUNTIF(F$3:F$27,2.2),(ROW()=LOOKUP(1,0/(F$3:F$27=2.2),ROW($3:$27)))*1,0)
Stcxj
高粉答主

2019-09-10 · 繁杂信息太多,你要学会辨别
知道大有可为答主
回答量:7.1万
采纳率:67%
帮助的人:1.8亿
展开全部

你要的,就只是B列公式:B列对应的F列=唯一的2.2时,就返回1,否则返回0

这很简单哦:

B3输入

=IF(AND(F3=2.2,COUNTIF(F3:F$60,2.2)=1),1,0)

回车并向下填充。

(我好像之前回答过你这类问题的吧?)

更多追问追答
追问
非常感谢老师,公式非常好用,再麻烦老师您一下,如果F列里的数字不是在最下面2.2对应的B列里显示1,而是大于2小于2.5的数字中最下面的那个对应的B列里显示1,该怎样修改您的公式,拜托了!
追答

条件是F列大于2小于2.5的最下面第一个数字,公式改为:

=IF(AND(F3>2,F3<2.5,SUMPRODUCT((F3:F$60>2)*(F3:F$60<2.5))=1),1,0)

——

其他公式也都给你吧:

F3

=IF(H3="","",G3/H3)

H3

=IF(COUNTIF(D3:D$60,"<>0")>14,COUNTIF(D3:D$60,"<>0"),"")

均回车并向下填充。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式