公式中表达单个双引号【"】和空值【""】的方法及说明
2016-01-06 19:08
483 查看
http://club.excelhome.net/thread-661904-1-1.html
有人问为什么不用三个双引号"""来表示单个双引号【"】呢,如果用三个双引号来表示的话,也就是""",那么Excel会很困惑,因为你给她出了一道难题,这个"""是"""呢还是"""呢还是"""呢?
Excel中的一个双引号【"】要用2个双引号来表示,即【""】;而4个双引号【""""】是表示空,即【""】;
是不是有点晕了,别急,听我道来:
在Excel的函数公式中,双引号【"】起到的是一个文本定界符的作用;结合附件中下图来说下:
<ignore_js_op>
![](http://files.c.excelhome.net/forum/month_1012/20101215_5dd21e74edb06289b07eVFvqFsiJYfPF.jpg)
比如B2单元格中输入【="ExcelTip"】,呈现出来的显示结果是ExcelTip,
<ignore_js_op>
![](http://files.c.excelhome.net/forum/month_1012/20101215_22424691776abc51f778kWnZ36lNjpX1.jpg)
再如在B3单元格中输入【="5"】,呈现出来的结果是5,也就是得到了一个文本型数值5;
<ignore_js_op>
![](http://files.c.excelhome.net/forum/month_1012/20101215_362e8f2740f9e634465fZTqqjizdbOLo.jpg)
接着,我们在B4单元格中输入【="""ExcelTip"】,呈现"ExcelTip;
<ignore_js_op>
![](http://files.c.excelhome.net/forum/month_1012/20101215_cadd7bfdd737b023c4d634ZoyMgpTG7G.jpg)
在B5单元格中输入【="ExcelTip"""】,呈现ExcelTip";
<ignore_js_op>
![](http://files.c.excelhome.net/forum/month_1012/20101215_2b55d102f9869b88efb9xwMGjqhLulkJ.jpg)
在B6单元格中输入【="""ExcelTip"""】,呈现的是"ExcelTip"。
<ignore_js_op>
![](http://files.c.excelhome.net/forum/month_1012/20101215_8807d9286e2d17d18bc2bFDYzgJbRF9U.jpg)
这是为什么呢?
因为Excel规定:公式中的一个双引号【"】要用两个连续双引号【""】来表示。与此同理呢,本来公式中的空值【""】是一对双引号,也就要用4个连续双引号【""""】来表示了。
为了更好的理解,明白了上面的例子,再来参见下例中实际公式中的应用;
我觉得结合substitute函数来理解这个知识点更容易有深刻的印象,引号【"】的ASCII码是34,可以用char(34)来表示,这样更为直观
目光请锁定B9单元格,看加上&捣乱后大家会不会晕:)
<ignore_js_op>
![](http://files.c.excelhome.net/forum/month_1012/20101215_ba01a94042ddf4544c9cWPu9227x9DGz.jpg)
单元格中输入的公式为
=IF(A9,""""&"ExcelTip"&"""","")
复制代码
原始形式=IF(A9,""""&"ExcelTip"&"""","")
其中的两个红色部分分别代表呈现结果"ExcelTip"中对应的红色部分,两个文本部分再用&来连接;
这个公式简化后就变成了=IF(A9,"""ExcelTip""","")
即"作为普通文本连接文本ExcelTip时,不需要再用&;
现在我们用substitute函数来去除"ExcelTip"两端的引号
<ignore_js_op>
![](http://files.c.excelhome.net/forum/month_1012/20101215_287ce36869bc7e6ed60dDTUfT44vtoc5.jpg)
=SUBSTITUTE(B9,"""","")
复制代码
公式=SUBSTITUTE(B9,"""","")中的红色部分就是要替换的双引号【"】,作为substitute的第2参数;
再来看下面这个,双引号用ASCII码表示是char(34),其实同理;
<ignore_js_op>
![](http://files.c.excelhome.net/forum/month_1012/20101215_57dd26c921389e48fd48YY3hfPZBekHh.jpg)
=SUBSTITUTE(B9,CHAR(34),"")
复制代码
公式=SUBSTITUTE(B9,CHAR(34),"")的红色部分就是【"】,同上互证。
有人问为什么不用三个双引号"""来表示单个双引号【"】呢,如果用三个双引号来表示的话,也就是""",那么Excel会很困惑,因为你给她出了一道难题,这个"""是"""呢还是"""呢还是"""呢?
Excel中的一个双引号【"】要用2个双引号来表示,即【""】;而4个双引号【""""】是表示空,即【""】;
是不是有点晕了,别急,听我道来:
在Excel的函数公式中,双引号【"】起到的是一个文本定界符的作用;结合附件中下图来说下:
<ignore_js_op>
![](http://files.c.excelhome.net/forum/month_1012/20101215_5dd21e74edb06289b07eVFvqFsiJYfPF.jpg)
比如B2单元格中输入【="ExcelTip"】,呈现出来的显示结果是ExcelTip,
<ignore_js_op>
![](http://files.c.excelhome.net/forum/month_1012/20101215_22424691776abc51f778kWnZ36lNjpX1.jpg)
再如在B3单元格中输入【="5"】,呈现出来的结果是5,也就是得到了一个文本型数值5;
<ignore_js_op>
![](http://files.c.excelhome.net/forum/month_1012/20101215_362e8f2740f9e634465fZTqqjizdbOLo.jpg)
接着,我们在B4单元格中输入【="""ExcelTip"】,呈现"ExcelTip;
<ignore_js_op>
![](http://files.c.excelhome.net/forum/month_1012/20101215_cadd7bfdd737b023c4d634ZoyMgpTG7G.jpg)
在B5单元格中输入【="ExcelTip"""】,呈现ExcelTip";
<ignore_js_op>
![](http://files.c.excelhome.net/forum/month_1012/20101215_2b55d102f9869b88efb9xwMGjqhLulkJ.jpg)
在B6单元格中输入【="""ExcelTip"""】,呈现的是"ExcelTip"。
<ignore_js_op>
![](http://files.c.excelhome.net/forum/month_1012/20101215_8807d9286e2d17d18bc2bFDYzgJbRF9U.jpg)
这是为什么呢?
因为Excel规定:公式中的一个双引号【"】要用两个连续双引号【""】来表示。与此同理呢,本来公式中的空值【""】是一对双引号,也就要用4个连续双引号【""""】来表示了。
为了更好的理解,明白了上面的例子,再来参见下例中实际公式中的应用;
我觉得结合substitute函数来理解这个知识点更容易有深刻的印象,引号【"】的ASCII码是34,可以用char(34)来表示,这样更为直观
目光请锁定B9单元格,看加上&捣乱后大家会不会晕:)
<ignore_js_op>
![](http://files.c.excelhome.net/forum/month_1012/20101215_ba01a94042ddf4544c9cWPu9227x9DGz.jpg)
单元格中输入的公式为
=IF(A9,""""&"ExcelTip"&"""","")
复制代码
原始形式=IF(A9,""""&"ExcelTip"&"""","")
其中的两个红色部分分别代表呈现结果"ExcelTip"中对应的红色部分,两个文本部分再用&来连接;
这个公式简化后就变成了=IF(A9,"""ExcelTip""","")
即"作为普通文本连接文本ExcelTip时,不需要再用&;
现在我们用substitute函数来去除"ExcelTip"两端的引号
<ignore_js_op>
![](http://files.c.excelhome.net/forum/month_1012/20101215_287ce36869bc7e6ed60dDTUfT44vtoc5.jpg)
=SUBSTITUTE(B9,"""","")
复制代码
公式=SUBSTITUTE(B9,"""","")中的红色部分就是要替换的双引号【"】,作为substitute的第2参数;
再来看下面这个,双引号用ASCII码表示是char(34),其实同理;
<ignore_js_op>
![](http://files.c.excelhome.net/forum/month_1012/20101215_57dd26c921389e48fd48YY3hfPZBekHh.jpg)
=SUBSTITUTE(B9,CHAR(34),"")
复制代码
公式=SUBSTITUTE(B9,CHAR(34),"")的红色部分就是【"】,同上互证。
相关文章推荐
- 进程的退出
- ELK stack 学习记录
- iOS几项容易出现循环引用的地方
- 浅谈Android性能优化方案
- Android shape属性详解
- LeetCode题解——Compare Version Numbers
- 一个简单的新闻应用
- 面向接口编程详解(三)——模式研究
- Business Intelligence——SSIS项目从创建到部署的简单总结(一)
- codevs 1380 没有上司的舞会
- 面向接口编程详解(二)——编程实例
- 高斯消元算法实现(Java)
- 离散--繁琐的定义
- 离散--第二节--证明方法
- ListView 请求(加载)可视区域Item的图片
- std::upper_bound
- JSON,ListView AsyncHttpClient 等第三方包的综合实应用
- iOS拨打电话(三种方法)
- 面向接口编程详解(一)——思想基础
- OPenCV视频的读取