这个数数组公式我试了之能提取单元格中的前两个有这个字符的, 第三个就提取不到了, 能帮忙看一下么?

本文主要研究从字符串开头提取数字的技术:

1. 这些数字是连续的

2. 这些连续的数字位于字符串的开头

3. 想要的结果是将这些连续的数字返回到单个单元格

对于下面研究的每种解决方案,我们需要在两种不同的情况下测试其健全性:

1. 字符串中除开头外其他地方没有数字的情况,例如123ABC。

2. 字符串中除开头外其他地方也有数字,要么在末尾,要么在中间,例如123ABC456或123ABC456DEF。

无论字符串中除开头外是否还有其他数字,将要研究的某些解决方案都可以很好地工作,但有些解决方案则存在局限性。在分析每种解决方案时,将会明确说明。

如果单元格A1中的内容为“123ABC”,那么上述公式1返回“123”。其解析过程如下:

生成一个由1至单元格A1中字符串长度数的整数组成的单列数组:

由于LOOKUP强制生成数组,因此LEFT在这里不是返回单个值,而是返回由六个值组成的数组,每个值对应于将LEFT的num_chars参数指定为1、2、3、4、5、6应用于A1中的字符串,即:

其中的数组乘以-1,得到:

对于LOOKUP来说,如果在lookup_vector中未找到lookup_value,并且假设lookup_vector中没有大于lookup_value的值,则该函数将从lookup_vector中返回最后一个值(本例中为数字)。该函数还会忽略lookup_vector中的任何错误值。这就是在开始给lookup_vector(通过创建一个由负数、零(如果期望提取的字符串以0开头例如0123ABC)或错误值组成的数组)中的值添加负号的原因,可以确保lookup_value为1永远是一个充分而合法的选择。在这里,由于在lookup_vector中找不到1,公式返回数组中最后一个数值,即-123。

当然,这绝对不是处理这种公式结构的唯一方法,只要确保选择的lookup_value的值足够大。其实这并不困难,让lookup_value使用所谓的“大数”(即9.99E+307,这是Excel中允许的最大正数),确保这种公式构造有效。或者,有些人喜欢仅取“非常大”的值,例如10^10(其好处是看起来不像“大数”那么笨拙)。

由于公式1中LOOKUP函数返回-123,因此在前面添加一个负号使其变为想要的123。

但是,公式1并不可靠。因为某些字符串可能会返回其他结果,例如单元格中的值为12JUN,那么:

这是由于在强制将“12JUN”转换成数字时,Excel认为其是日期“”,因此将其转换为相应的序列数字。此时,LOOKUP函数返回-43994。

当然,这不是唯一会出现这种情况的字符串,实际上,任何可以被Excel解释为日期的字母数字都会如此,例如30SEP、01FEB等,这也会导致不正确的结果。

此外,公式1对于诸如123E3等形式的字符串也无效,其结果将是123000。因为在通常情况下,将123E3输入单元格后,Excel会自动将其转换成科学计数格式。

仍以单元格A1中的数据是“123ABC”为例。公式2可以转换为:

COUNT函数忽略错误值,得到:

下面,尝试一个公式2可不可以处理除字符串开头外其他位置还存在数字的情形,例如如果单元格A1中的数据是“123ABC45”,那么公式2可以转换为:

原因是字符串的末尾有其他数字,因此COUNT函数统计的数字个数大于字符串开头的数字个数,这样LEFT取值仍是字母数字混合的字符串。

仍以单元格A1中的数据为“123ABC”,公式3可转换为:

对于ISNUMBER函数来说,传递给它的如果是错误值则返回FALSE,因此上述公式可转换为:

在公式3中,MATCH/ISNUMBER组合确保字符串中除开头以外的数字不会影响最终的结果。例如如果单元格A1中的数据是“123ABC45”,那么公式3可以转换为:

与公式3的构造一致,唯一的不同是使用ISERR函数代替了ISNUMBER函数,并强制返回由数字组成的数组。

仍以单元格A1中的数据为“123ABC”,公式4可转换为:

与公式3一样,字符串中除开头有数字外其它部位存在数字时不影响结果。

}

12个Excel函数公式必备整理

  今天精选出12个excel函数公式,虽然它们不并常用,但需要用时你还真不好搜到,所以赶紧收藏起来吧,以下是小编为大家搜索整理的12个Excel函数公式必备整理,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!

  12个Excel函数公式整理 篇1

  1、动态获取A列最后一个数字

  2、不重复个数公式

  3、提取唯一值公式

  4、中国式排名公式

  5、提取字符串任一位中的数字

  12个Excel函数公式整理 篇2

  1、把公式产生的错误值显示为空

  说明:如果是错误值则显示为空,否则正常显示。

  2、IF多条件判断返回值

  说明:两个条件同时成立用AND,任一个成立用OR函数。

  1、统计两个表格重复的内容

  说明:如果返回值大于0说明在另一个表中存在,0则不存在。

  2、统计不重复的总人数

  说明:用COUNTIF统计出每人的出现次数,用1除的方式把出现次数变成分母,然后相加。

【12个Excel函数公式必备整理】相关文章:

}
请问如何查找都单元格字符串中某个多次出现的字符的位置
我想知道第二个 .    他在字符串中的位置。数字无规律,为了方便输入才随手打了一个IP地址上来做参考。

第一种方法,先用一个全新唯一的字符将第二个"."号替换掉,然后再找这个字符.

第二种方法,先找到第一个"*"的位置,然后从这个位置的后一位开始查找.

如果这样的.比较多,就很难用上述两种方法进行查找了。请问有没有其他方法呢?

}

我要回帖

更多关于 提取单元格最后一个字符 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信