EXCEL,怎么样可以从一串字符中的某个指定位置截取字符.

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EXCEL,怎么样可以从一串字符中的某个指定位置截取字符.相关的知识,希望对你有一定的参考价值。

参考技术A

Excel中截取字符串的方法及步骤:

1.  left函数用来对单元格内容进行截取。从左边第一个字符开始截取,截取指定的长度。



2.  left函数的语法格式,=left(text,num_chars),text代表用来截取的单元格内容。num_chars代表从左开始截取的字符数。


3.  如图所示,对于一长串地址中提取省份。输入公式=LEFT(A1,3),在A1中从左提取3个字符,即广东省。


4.left函数在综合运用。=IF(LEFT(A6,1)="B","北京",IF(LEFT(A6,1)="S","上海","重庆")),如图,公式含义如果A6单元格的第一个字符是B,则返回北京,否则执行条件A6单元格的第一个字符是S,则返回上海,否则返回重庆。有关if函数的详细用法可以观看小编的经验Excel If函数怎么用。


5.  =left(text,num_chars)图中可以看出,num_chars的值必须大于等于0.小于0时直接报错,等于0时为空值。

6.  如图,如果省略num_chars的话,num_chars的值就默认为1。



7.  如果 num_chars 大于文本长度,则 返回所有文本。



8.  如图所示,一个空格也算一个字符,这里要提取到D,num_chars的值为5而4。


从一串字符中显示日期

这是我的第一个问题,感谢您的支持。

我有一个包含许多列的旧数据库,但它不是DATE列。是的,我的错误。

但是,我有一个名为question_id的列,其中包含一些包含日期和时间的数据

2017113020440370769

前4位是YYYY,接下来的2位是MM,接下来的2位是DD。

我正在尝试查询提取这些字符以计算我在特定日期有多少问题。

我可以,在特定日期这样做:

SELECT COUNT(*) 
FROM questions 
WHERE question_id LIKE '20171228%'; 

但是我想每天为今天自动化这个,而不是每天输入YYYYMMDD%

可能吗?使用CURDATE?或者我可以使用任何特定的TIMESTAMP?

非常感谢你!

答案

是的,您可以使用外卡建立当前日期,如下所示:

SELECT COUNT(*) 
FROM questions 
WHERE question_id LIKE CONCAT(DATE_FORMAT(CURDATE(), '%Y%m%d'), '%'); 

这是特定的一天;今天。对于所有日期,您必须在question_id的日期部分进行聚合,如下所示:

SELECT SUBSTR(question_id,1,8) ASKED_ON, COUNT(*) NUMBER_OF_QUESTIONS
FROM questions 
GROUP BY SUBSTR(question_id,1,8);
另一答案

这些都是你需要的砖块;-)

另一答案

试试这个:

SELECT LEFT('20171228ASD',8) = CURRENT_DATE();


SELECT COUNT(*) 
FROM questions 
WHERE LEFT(question_id',8) = CURRENT_DATE();

以上是关于EXCEL,怎么样可以从一串字符中的某个指定位置截取字符.的主要内容,如果未能解决你的问题,请参考以下文章

RSA公钥只返回一串base64字符 怎么使用

如何获取Java中一个String字符串中的某一个字符的“索引值”?

字符串String 升序和降序 Vue检测数据的原理

js中怎么找到一段字符串中第三个“的位置

java中怎么判断字符串里有没有指定的字符存在?

用hibernate怎么修改指定字段的值