我们爱民主、我们爱自由、我们也爱财富!我们尊孔子、我们尊老子、我们同尊管子!

安德管仲网管仲论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

微信扫一扫 分享朋友圈

已有 2451 人浏览分享

开启左侧

一起EXCEL——找第一个不为零的数

[复制链接]
2451 1

在下表,要找第一个不为零的数据的值或者所在的位置,如何设置:

6/20

6/21

6/22

6/23

首个不为零的值

所在位置

 

 

 

85

 

 

 

15

20

25

 

 

 

 

36

45

 

 

 

 

 

23

 

 

45

46

47

32

 

 

 

67

60

66

 

 

 

46

50

54

 

 

找第一个不为零的数所在的位置用数组公式{=MATCH(1,1/(A22<>0),0)},比如A22里只有D2是不为零的,那前面3个单元格参与“1/单元格数值”得到的都是错误值,第四个这1/1=1,match函数找1所在的位置,返回结果为4.

那要找首个不为零的值自然就简单了,可以用indexA2D2,位置),维护完整就是公式:{=INDEX(A22,MATCH(1,1/(A22<>0),0)) }。当然我们也可以用offset函数来实现,本案例可以设置公式:{=OFFSET($A1,1,MATCH(1,1/(A22<>0),0)-1) }

PS:上述有{}的公式,是输入公式后,按ctrl+shift+enter就可以完成数组公式的输入,{}是自动加上去的。

这让我想起了20136月份的时候,生管部的经理来找我问的一个问题,希望把工单第一个入库日期找出来。案例如下:

工单号

产品编码

产品型号

第一次入库

6/20

6/21

6/22

6/23

6/24

 

AA1

 

 

 

 

85

15

 

AA2

 

 

15

20

25

10

 

AA3

 

 

 

36

45

9

 

AA4

 

 

 

 

23

77

 

AA5

 

45

46

47

32

 

 

AA6

 

 

67

60

66

68

 

AA7

 

 

46

50

54

 

我设置的公式是:{=OFFSET($D$1,0,MATCH(1,1/(E2:I2<>0),0)) }

还给她做了非常详细的解释呢,我也希望广大财务同仁能把为业务服务的精神发扬光大,所以把解释文字也分享如下:

公式解释:

=OFFSET($D$1,0,MATCH(1,1/(E2:I2<>0),0))

1、数组公式的match1,1/(E2:I2<>0),0)
里,我们可以一步步分析:
(E2:I2<>0)得到的结果是:{FALSE,FALSE,FALSE,TRUE,FALSE},而1/(E2:I2<>0)对应的结果是1/{FALSE,FALSE,FALSE,TRUE,FALSE},继续运算之后,得到的结果是:{#DIV/0!,#DIV/0!,#DIV/0!,1,#DIV/0!}

注:FALSE参与运算当成0TRUE参与运算当成1.

我们可以发现第4个数是1,其余都是为零。

MATCH(1,1/(E2:I2<>0),0)这个函数是在数组的结果{#DIV/0!,#DIV/0!,#DIV/0!,1,#DIV/0!}

里去找1所在的位置,参数0,代表这个数组不排序。找出来的结果是4.


2、
offset函数是位移,表达式如下:

offset(reference,rows,cols,height,width),该函数的作用是是从参照reference单元格,向下移动rows行,右移动cols列,确定左上角。

然后从左上角开始确定区域的高height(行数)和宽width(列数),我们只要一个单元格的值,所以,高height(行数)和宽width(列数)都是1,如果是1可以省略不写的。所以,从D1单元格,向下移动0行,右移动4列,即可得到对应的值。高与宽不用填,上文提到过。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
成本领先:成本体系的建立与实施

评论 1

sharon sharon  新手上路  发表于 2016-12-12 12:24:25 | 显示全部楼层
谢谢老师分享,看了老师的很多excel技巧,真的对提高工作效率很大帮助
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

关注

51

粉丝

2233

主题
精彩推荐
热门资讯
网友晒图
图文推荐

小黑屋|Archiver|安德管仲网 ( 粤ICP备20002412号 )

GMT+8, 2024-4-28 03:59 , Processed in 0.109812 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.