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

安德管仲网管仲论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

微信扫一扫 分享朋友圈

已有 1728 人浏览分享

开启左侧

做工作学函数(11)

[复制链接]
1728 0

一、提取摘要中的最大数值

I6=LOOKUP(10^10,--MID(E6,MIN(FIND({0,1,2,3,4,5,6,7,8,9},E6&"0123456789")),ROW(INDIRECT("1:"&LEN(E6)))))

函数说明

1、lookup

函数表达式=lookup(lookup_value,lookup_vector,result_vector)

用途:在某列里找近似值,返回结果列对应的值,如要找一个10的10次方(10^10),则是找出文本中第一个出现的连续数值

2、mid

函数表达式=mid(text,start_num,num_chars)

用途:从文本指定位置开始截取具体的字符数,mid得到的是文本结果,在之前加两个符号,是为了把文本格式的数字转为数值。

3、min

函数表达式=min(number1,number2,...)

用途:从多个数或者一个与区域里找出最小值。

4、find

函数表达式=find(find_text,within_text,start_num)

用途:从文本中,找一个或者若干个字符,并从指定位置开始找

5、row

函数表达式=row(reference)

用途:返回单元格所在的行,如果是多行,返回的是多行数值的数组

6、len

函数表达式=len(text)

用途:求文本的长度

7、indirect

函数表达式=indirect(ref_text,a1)

用途:根据参数文本返回单元格或者区域,如果 a1 为 TRUE 或省略,ref_text 被解释为 A1-样式的引用

如:=SUM(INDIRECT("f6"&":f14",1))计算得到的就是F6:F14之和

8、嵌套公式说明

MIN(FIND({0,1,2,3,4,5,6,7,8,9},E6&"0123456789"))

7

从文本中找0到9,返回第一个找到数值的位置。为了防止文本中无数值,所以在文本后加字符串0到9

ROW(INDIRECT("1:"&LEN(E6)))

得到的是:【1:14】

从第一个出现数字的位置往后截取,依次截取1位到最大位数(文本14位长,最多截取14位)。

得到的结果依次是:

0;03;030;0304;03048;030485;0304851;03048513

由于文本数值转成了数字,则分别是:

0;3;30;304;3048;30485;304851;3048513

从中得到的最大值是:3048513


二、补足8位发票号

J6=LEN(I6)

求得到的数值的长度

K6=REPT("0",8-J6)

1、rept

函数表达式=rept(text,number_times)

用途:重复文本指定次数。如果得到的数值只有6位则补两个0,如果数值是7位则补一个0

I6=K6&I6

将补足的0和数值组合起来。


三、组合公式

G6=REPT("0",8-LEN(I6))&LOOKUP(10^10,--MID(E6,MIN(FIND({0,1,2,3,4,5,6,7,8,9},E6&"0123456789")),ROW(INDIRECT("1:"&LEN(E6)))))

将分步设置的公式组合到一起。


注:

I6的公式,适合在文本中找唯一数值。如果有多个数值,得到的是第一个数值,该公式可以单独使用。

本帖子中包含更多资源

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

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

本版积分规则

1

关注

51

粉丝

2233

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

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

GMT+8, 2024-4-28 11:34 , Processed in 0.093026 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.