安德网管仲论坛's Archiver

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

jinwa 发表于 2018-8-29 09:49

做工作学函数(11)

[p=30, 2, left][attach]1389[/attach][/p][p=30, 2, left]一、提取摘要中的最大数值[/p][p=30, 2, left]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)))))[/p][p=30, 2, left]函数说明[/p][p=30, 2, left]1、lookup[/p][p=30, 2, left]函数表达式=lookup(lookup_value,lookup_vector,result_vector)[/p][p=30, 2, left]用途:在某列里找近似值,返回结果列对应的值,如要找一个10的10次方(10^10),则是找出文本中第一个出现的连续数值[/p][p=30, 2, left]2、mid[/p][p=30, 2, left]函数表达式=mid(text,start_num,num_chars)[/p][p=30, 2, left]用途:从文本指定位置开始截取具体的字符数,mid得到的是文本结果,在之前加两个符号,是为了把文本格式的数字转为数值。[/p][p=30, 2, left]3、min[/p][p=30, 2, left]函数表达式=min(number1,number2,...)[/p][p=30, 2, left]用途:从多个数或者一个与区域里找出最小值。[/p][p=30, 2, left]4、find[/p][p=30, 2, left]函数表达式=find(find_text,within_text,start_num)[/p][p=30, 2, left]用途:从文本中,找一个或者若干个字符,并从指定位置开始找[/p][p=30, 2, left]5、row[/p][p=30, 2, left]函数表达式=row(reference)[/p][p=30, 2, left]用途:返回单元格所在的行,如果是多行,返回的是多行数值的数组[/p][p=30, 2, left]6、len[/p][p=30, 2, left]函数表达式=len(text)[/p][p=30, 2, left]用途:求文本的长度[/p][p=30, 2, left]7、indirect[/p][p=30, 2, left]函数表达式=indirect(ref_text,a1)[/p][p=30, 2, left]用途:根据参数文本返回单元格或者区域,如果 a1 为 TRUE 或省略,ref_text 被解释为 A1-样式的引用[/p][p=30, 2, left]如:=SUM(INDIRECT("f6"&":f14",1))计算得到的就是F6:F14之和[/p][p=30, 2, left]8、嵌套公式说明[/p][p=30, 2, left]MIN(FIND({0,1,2,3,4,5,6,7,8,9},E6&"0123456789"))[/p][p=30, 2, left]7[/p][p=30, 2, left]从文本中找0到9,返回第一个找到数值的位置。为了防止文本中无数值,所以在文本后加字符串0到9[/p][p=30, 2, left]ROW(INDIRECT("1:"&LEN(E6)))[/p][p=30, 2, left]得到的是:【1:14】[/p][p=30, 2, left]从第一个出现数字的位置往后截取,依次截取1位到最大位数(文本14位长,最多截取14位)。[/p][p=30, 2, left]得到的结果依次是:[/p][p=30, 2, left]0;03;030;0304;03048;030485;0304851;03048513[/p][p=30, 2, left]由于文本数值转成了数字,则分别是:[/p][p=30, 2, left]0;3;30;304;3048;30485;304851;3048513[/p][p=30, 2, left]从中得到的最大值是:3048513[/p][p=30, 2, left]
[/p][p=30, 2, left]二、补足8位发票号[/p][p=30, 2, left]J6=LEN(I6)[/p][p=30, 2, left]求得到的数值的长度[/p][p=30, 2, left]K6=REPT("0",8-J6)[/p][p=30, 2, left]1、rept[/p][p=30, 2, left]函数表达式=rept(text,number_times)[/p][p=30, 2, left]用途:重复文本指定次数。如果得到的数值只有6位则补两个0,如果数值是7位则补一个0[/p][p=30, 2, left]I6=K6&I6[/p][p=30, 2, left]将补足的0和数值组合起来。[/p][p=30, 2, left]
[/p][p=30, 2, left]三、组合公式[/p][p=30, 2, left]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)))))[/p][p=30, 2, left]将分步设置的公式组合到一起。[/p][p=30, 2, left]
[/p][p=30, 2, left]注:[/p][p=30, 2, left]I6的公式,适合在文本中找唯一数值。如果有多个数值,得到的是第一个数值,该公式可以单独使用。[/p]

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.