ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > 函数与公式 > EXCEL中的--、*1、^0、&""特殊运算的介绍

EXCEL中的--、*1、^0、&""特殊运算的介绍

作者:绿色风 分类: 时间:2022-08-18 浏览:512
楼主
传递
在EXCEL中,有一种不常见的特殊运算,涉及到的"符号"有四种,分别是:--、*1、^0、&""

  这些"符号",通常在特殊的运算中使用。这些其实不应该称为“符号”。它们都是实实在在的运算,--和*1是算术运算,^0是幂运算,&""则是文本运算。它们的原理都是应用了Excel中的数据类型自动转换(日期、文本形式的数字、货币等在参与算术运算时都将自动转换为数字,而多数类型在参与文本运算时都将自动转换为文本)。

下面,给大家介绍这四种符号的用法。
      注意色内容为错误理解)
  ①--两个减号的用法(减负运算)
    --可以将文本型数值转换为数值型数字(-- 符号的作用是将文本转换成为数字)
举例:A1单元格内容为 '8,文本型数值经运算时转换成数值型数字8,第一个"-"(理解成,减)0减8当然是-8 (减八,负八。各人理解),第二个"-",将-8前再加一个减。这样可以理解成“减负(减去负八)”最后返回8。
  譬如:A1单元格内容为 '-8 注意,此时,A1单元格是文本-8,而不是数字-8!如果直接使用公式 =IF(A1>7,"√","×") 那么,所得结果为√;这是错误的结果,并不是“EXCEL自动将文本8变成了8”,而是在不等式中文本永远大于数字。事实上在EXCEL不等式中,True>False>文本>数经过运算,就得出√了。

  要想正确的对A1单元格进行运算,我们就得使用--符号,将A1单元格的文本转换成为数字,正确的公式应该如下:
    =IF(--A1>7,"√","×") 结果应该为×。

=IF(A1>7,"√","×") 这种判断如果单纯是为了验证是否文本,可以利用istext函数或者isnumber函数。




  ^0 符号的作用是将数字转换成为1,^0通常用于有数组参与运算的公式,从而得到一个数组元素全为1的数组。
      比如,E3单元格的值的内容是数字6,那么,想在F3单元格中,将E3的内容变成1,那么,公式函数如下:结果就为1了=E3^0  结果就等于1了乘幂^运算(不一定是^0,相反,文本数字0^0之后不会得到1,而是得到#NUM!错误

  ③*1符号的用法

  *1 符号的作用是将文本转换成为数字
   比如,A9单元格等于 '-6 注意,A9是文本,不是数字。如果我们直接使用公式:
=IF(A9>5,"√","×") 那么,结果就等于√,这样,明明是负6的,怎么可能大于5,应该输出×的,结果却输出√了。
   因此,在这种情况下,我们需要使用 *1 符号,正确的将A9单元格转换成为数字。如下公式就是正确的公式了:=IF((A9*1)>5,"√","×") 根据运算顺序可以(A9*1)不加()直接 =IF((A9*1)>5,"√","×")  结果等于×

④&""符号的用法
    &""某些情况下可用在数组公式中修正显示值。&""符号的作用是空格显示空)
 &""符号的作用是空格显示"空"(在VBA中则该叫Range对象),&""通常用在返回“引用”的公式后面,使得引用空单元格时不返回数字0,而返回空字符串。

除了--*1外,还有+0-0/1VALUE()函数转换,这是公式方式解决的几种情况。此外,文本型数字在以下几种情况也会被直接视为数值参与运算:
1.%百分比,比如=right(A1)%
2.一些函数会直接视数字为数值,例如COUNTIF、MOD等。
3.一些函数对独立的文本数字参数,也会视为数值,例如=SUM("3",3)、=MAX("3",2)等。




2楼
wjc2090742
汗,错了不少啊。从头开始。

1、--将文本数字转为数值型数字的方法,该算是一种四则运算法,实际上--A1是0-(-A1),通常叫做减负运算。不能把--当成是一个符号。当然,如果不影响楼主写公式以及对公式理解,各人有各人的记忆方法,也就算了。
2、Excel没有把文本-8变成8的,按这个逻辑的话,A1中如果是-1,那么结果就应该是×了。楼主可以试试。本分点中,演示的公式,之所有得到这个结果,是因为文本>数值。参考下帖
逻辑值和数值及文本之间有什么样的关系
http://www.exceltip.net/thread-1152-1-1.html
3楼
lrlxxqxa
有些地方不太准确。“不常见的特殊运算”这种表达不太合适。

个人建议,少使用**是**这种句式,因为这种表达太绝对了。比如“-- 符号的作用是将文本转换成为数字。”换成“--可以将文本型数值转换为数值型数字”更准确些。
^0可用于产生元素全是1的数组
&""符号的作用是空格显示空,也容易使人误解,&”“某些情况下可用在数组公式中修正显示值,见附件
4楼
wjc2090742
细节就不说了。关于“符号”这个说法,我的意见如2楼,这个虽然不同意,倒也可以随楼主高兴。
1、^0是求0次方的意思。按楼主的话,修正过来应该是“^0 符号的作用是将非0的数字转换成为1”。
2、=IF((A9*1)>5,"√","×")是可以写成=IF(A9*1>5,"√","×")的。这个公式不算错,只是显然楼主对运算顺序并不熟悉,建议参考下帖:Excel中的运算符具有怎样的优先级?http://www.exceltip.net/thread-7721-1-1.html

3、空格、空单元格是不一样的,尤其excel中,这两者是真的要分清楚的。“显示空”也很含混。参考下帖:
在Excel中究竟何为“空”?http://www.exceltip.net/thread-1747-1-1.html


其实,即使能写很漂亮的数组公式,也是容易在基础的问题上犯错的。有些理解,对写公式还是很有影响的,还是建议楼主看看参考的帖子。
5楼
lrlxxqxa
=IF(A1>7,"√","×") 这种判断如果单纯是为了验证是否文本,可以利用istext函数或者isnumber函数。
文本转换数值的方法很多,减负,+0,-0,*1,/1,value(),还有利用选择性粘贴和数据→分列。
6楼
传递
谢谢指出不对地方,再仔细想想了,一次性修改
7楼
天南地北
SUMIF的第一个参数和第二个参数也不区分的!
8楼
gouweicao78
小胖、锐版指导很好。在文字表述方面,传递兄还需加以注意哦。

转换文本数字为数值的方法,仅1楼就有2种,怎么“就得”用--呢。

其实,错误或片面的理解,是学习过程中很正常的一件事,而且是一种好教材,有比较才更清楚地理解。因此,1楼的内容就不改了,并且收录文库,相信传递兄和更多学习者会更深刻理解。

除了--、*1外,还有+0、-0、/1和VALUE()函数转换,这是公式方式解决的几种情况。此外,文本型数字在以下几种情况也会被直接视为数值参与运算:
1、乘幂^运算(不一定是^0,相反,文本数字0^0之后不会得到1,而是得到#NUM!错误)
2、%百分比,比如=right(A1)%
3、一些函数会直接视数字为数值,例如COUNTIF、MOD等。
4、一些函数对独立的文本数字参数,也会视为数值,例如=SUM("3",3)、=MAX("3",2)等。
9楼
poiuyman5
长知识了
10楼
keven
长知识了1谢谢!

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap