excel如何提取第二个字母是i的单词?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel如何提取第二个字母是i的单词?相关的知识,希望对你有一定的参考价值。

excel如何提取第二个字母是i的单词?如图一串单词,如何提取第二个字母是i的单词,同时要求:开头不能是dis,第三个字母不能是r,l,n。如图只有pig,sight符合条件。

本问题用公式有点麻烦,最麻烦的是第3个条件,即第3个字母不能是r,l,n,这是或的关系,而Excel一用或就难以将结果分别对应到各行了。

比较简单的方法是用高级筛选法:

1. 先在第1行插入一个标题行(这是Excel进行筛选的先决条件——必须要有一个标题行)

2. 在右侧空3个空列中第2行中分别写入3个条件(一定要在条件上至少留一行空行——相当于对应标题行),如图:

C2=MID(A2,2,1)="i"

D2=LEFT(A2,3)<>"dis"

E2=NOT(OR(MID(A2,3,1)="r","l","n"))

因为3个条件是并的关系,所以要并排写在3列中。

3. 光标定位到A列数据区域,数据选项卡——排序和筛选——高级,弹出高级筛选对话框,

一般会自动选择数据区域,如果没有选择正确,可手动选择,筛选条件:选择C1:E2,这里一定要连带上面的空行一起选择——相当于对应于标题行,勾选“将筛选结果复制到其他位置”,再选择复制到的位置,如图选择了G1。按确定。立马得到结果。

追答

用公式的话,可用如下公式,如图,

I2=INDEX(A:A,SMALL(IF((MID(A$2:A$15,2,1)="i")*(LEFT(A$2:A$15,3)<>"dis")*(MID(A$2:A$15,3,1)<>"r")*(MID(A$2:A$15,3,1)<>"l")*(MID(A$2:A$15,3,1)<>"n"),ROW($2:$15),4^8),ROW(1:1)))&""

同时按Ctrl+Shift+Enter三键输入数组公式,下拉到出现空白单元格

参考技术A

=SMALL(IF(IFERROR(FIND("i",$A$1:$A$10,1),0)>0,ROW(),9999),ROW())

=INDEX(A1:A7,IF(IFERROR(FIND("i",$A$1:$A$10,1),0)>0,ROW(),9999))

不能手工输入,要在第一个单元格公式输完以后,选择B1:B10,然后ctrl+shift+enter输入,成数组公式。

第一个公式效果形如B列,第二个公式效果形如C列。

参考技术B

=IF(AND(IFERROR(FINDB("i",A1,1)=2,1),IFERROR(FINDB("d",A1,1)>1,1),IFERROR(FINDB("i",A1,1)>1,1),IFERROR(FINDB("s",A1,1)>1,1),IFERROR(FINDB("r",A1,1)<>3,1),IFERROR(FINDB("l",A1,1)<>3,1),IFERROR(FINDB("n",A1,1)<>3,1)),TRUE,FALSE)

用FINDB函数自己适当改动

你的dis我以为是分开的,改成这样,亲测有效

=IF(AND(IFERROR(FINDB("i",A1,1)=2,1),IFERROR(FINDB("dis",A1,1)>1,1),IFERROR(FINDB("r",A1,1)<>3,1),IFERROR(FINDB("l",A1,1)<>3,1),IFERROR(FINDB("n",A1,1)<>3,1)),TRUE,FALSE)

参考技术C 用公式 具体用哪个公式忘记啦

以上是关于excel如何提取第二个字母是i的单词?的主要内容,如果未能解决你的问题,请参考以下文章

python中如何提取单词的首字母

Excel从如何右开始提取字符

从文本文件中提取一行中的第二个单词

提取一列中倒数第二个单元格数值?

如何使用CHARINDEX和SUBSTRING在第二个和第三个“_”之间提取特定文本?

如何提取句子中第 n 个单词的首字母?