挖出字母个数=LEN(A1)+SUM(-ISNUMBER(--MID(A1,ROW(INDIRECT("1:" &LEN(A1))),1)))
挖出数字个数=SUM(--ISNUMBER(--MID(A1,ROW(INDIRECT("1:" &LEN(A1))),1)))
筛选即可
如果字母都在开头,
取剩余数字=RIGHT(A1,SUM(--ISNUMBER(--MID(A1,ROW(INDIRECT("1:" &LEN(A1))),1))))
所有公式全是数组,ctrl+shift+enter退出编辑
判断方法如下:
1,判断字符串中是否包含大写字母A,可用公式=IF(ISNUMBER(FIND("A",A1)),"有","无")。
2,下拉公式会发现,含有小写字母a的结果是无,该公式里的FIND函数提取的是指定的字符区分大小写。
3,如果要判断是不是包含字母A且不区分大小写,可用SEARCH函数代替FIND函数,公式=IF(ISNUMBER(SEARCH("A",A1)),"有","无")。
4,要想判断单元格中是否包含多个指定字符中的某一个,如判断单元格中是否包含“大”、“小”、“20”这三个字符中的一个,可用公式=IF(OR(ISNUMBER(FIND({"大""小""20"},A1))),"有","无")。
5,下拉公式会发现,只要包含这三个字符中的任意一个,结果都是有。
6,而要判断是否同时包含这三个字符,只要把公式中的OR改成AND即可,公式=IF(AND(ISNUMBER(FIND({"大""小""20"},A1))),"有","无")。
7,要判断包含这三个字符中的几个,可用公式=COUNT(FIND({"大""小""20"},A1))。
8,要判断单元格中是否包含字母A,且不论在字符串的什么位置,也不区分大小写,可用公式=IF(COUNTIF(A1,"*A*"),"有","无")。
9,如果要判断四个字符中是否以字母A开头,公式=IF(COUNTIF(A1,"A???"),"有","无")或=IF(COUNTIF(A1,"A*"),"有","无")。
查找位置的函数为instr函数。下标以1开始,如果不存在则返回0。
举例如下:
1、创建测试表,
create table test_instr(str varchar2(20))
2、插入测试数据
insert into test_instr values ('abc')
insert into test_instr values ('cdaf')
insert into test_instr values ('bbed')
3、查询表的记录,select t.*, rowid from test_instr t
4、编写sql,查找字母'a'在表中各记录的位置;
select t.*, instr(str,'a') location from test_instr t,可以发现,最后一条记录,不存在该字符的话,则返回0。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)