两个减号的含义在一起("双一元")

时间:2015-11-03 13:47:11

标签: excel excel-formula operators

两个-符号在公式的开头是什么意思?

例: 此公式获取字符串日期并将其转换为Excel日期序列号:

=--(MID(S2,4,3)&LEFT(S2,3)&MID(S2,7,4))

公式工作正常,我只想了解公式中的--

1 个答案:

答案 0 :(得分:3)

@ JNevill的评论对我来说似乎是一个很好的答案,但为了答案,请考虑A1中的Y和B1中的Y。这个公式:

=(A1=B1)  

返回TRUE。如上所述,将操作符放在前面(使用0+1*),布尔值变为1,如果B1(仅限)更改为0,比如,X

单减去否定。前面的0--1*返回-1,A1和B1等于Y。否定 -1结果变为1,例如=--1*(A1=B1)

但是然后乘以1(或加零)是没有意义的,也许只是为了:

=--(A1=B1)  

请注意,由于评估的顺序,上述内容与以下内容不同:

=--A1=B1  

没有任何意义,因此返回#VALUE!

文本函数(示例中为MIDLEFT)返回字符串,因此构建今天的日期索引(例如1900日期系统中的42311)具有此类函数(单独)将返回五个字符Excel无法识别可能代表日期。转换为数字格式并表示为日期,应该看起来像'今天'。

因此将单元格格式化为文本并输入42311,然后重新格式化为日期,结果仍为42311。将单元格格式化为常规并输入:

=--("42"&"311")

然后格式化为日期,你应该看到一些看起来像'今天'的东西。