Excel functions that start with =+

Google autocomplete suggests others are asking this too, but the results bring up a bunch of irrelevant stuff.

I have a premade spreadsheet where they do this, e.g. =+COUNT(range) as well as with other functions. That’s “equals,” “plus,” “function” instead of “equal,” “function”.
Removing the + doesn’t seem to change the results at least with the data I have (some is random though). In many programming languages this is a cumulative addition, but it doesn’t seem to work that way here. What does this do and are there any similar syntax features like this (maybe =- ?)?

I am using Excel 2013 and the sheet is pre-2007 as it is .xls not .xlsx (and also dated 2005). So I can’t rule out some sort of artifact of updating. But the functions like COUNT weren’t changed since.

In many programming languages this is a cumulative addition… BUT the syntax is not =+.
It must be something else, like +=…

Consider a language where “A=5” is correct syntax. Well going off the precedent set by just about all the languages … what is A=-5 ? “Set A to be negative 5” … right ? Thats not cumulative mathematics… We can also write A=+5… which means “set A to be positive 5”… thats not cumulative…

The syntax for cumulative mathematics in C/C++ is “A+=5” … cumulative add 5 to A, or for example “A-=-5” … which also means add 5 to A.
And You can’t have cumulative addition in excel. It has no where to store the history.
Well they could add the feature where a cell had both a value and a function…,But it would annoy people who wanted to be able AUDIT the excel …And how would they handle recalculation ? Why would a cell have its historic value added a ARBITRARY Number of times ? Its arbitrary because edit triggers a re-calculate, and re-calculate can be triggered for other reasons too …so it wouldn’t be clear what the meaning of cumulative mathematics would be… it would be like a random number generator…
The appropriate way to build such a machine is in the macro language… You can do loops there, but the thing is it can initialize itself and then run… The number of cumulative operations can then be a specific number…and so have a meaning.

I’m not a spreadsheet expert, but in Lotus 123 “A formula begins with a number, a plus sign (+), a minus sign (-), a parenthesis, or an @.”

I suspect that it’s either just an old habit, or the end result of a spread sheet that started out in some other environment.

Could be, but that habit wouldn’t let you write =+ at the start of a formula.

Excel inserts the = sign for you.

Just ran a test in Excel 2010, typed in +sum(blah:blah) and the program made it =+sum(blah:blah)

There is no equal sign near the number pad section of most keyboards, off to the right. It is easier to simply start formulas with a + if your right hand is already over there. As mentioned above, Excel will insert an equal sign for you. It’s simply a matter of convenience, and has no impact on most formulas.

D’oh! Yeah that’s what I meant. So Excel is opposite of programming

Interesting. Although in this sheet, they use:

Cell1 here is an Array Formula, {=FREQUENCY(…)}. I don’t know if that matters. Count is not pointing to an array.

It could be the difference in having different users be involved in creating the spreadsheet. Also whether or not someone uses the “function” button to create the function rather than typing by hand.

Me, I often hit the + to start an equation or function because it’s a bigger key, and I might be re-using it, it feels easier to hit the same key over and over (+cell1+cell2+cell3 etc.) rather than one (smaller) key to start and a different key part way through.

One other aspect of this is that the = tells Excel that it’s a formula, and the + tells Excel to maintain the sign of the result. You can have=-sum(a:b) and it will give you the negative of =+sum(a:b)


Literally, it’s the unary plus operator, which is the arithmetic inverse of the unary minus operator (negative sign). For example:

=+1 ==> result is 1, which is the same as +1
=-1 ==> result is -1

You can leave it or delete it.

I’m not an Excel expert, but I’ll be surprised if it has another meaning. It’d be terribly confusing, nonintuitive to programmers and mathematicians, and downright silly. But then, MS does downright silly stuff all the time (like having “keep with next” rather than “keep with previous” in MS Word, for paragraphs. No good reason, lots of bad ones, but that’s how it’s worked, since the 80’s!)

It’s an artifact from ancient times. It’s not necessary to use in in Excel, and it does not change the calculation or the result.

Not at all. Excel is programming. It’s just not procedural programming.

You can indicate a function in Excel with =? I still use @. :wink:

Just thought I’d add that you can similarly start a formula with just a minus sign (-), without the equal sign.

Additionally, if you are trying to enter text into a cell that begins with a + or -, Excel will interpret that as a formula, and give you an error as a result. You need to begin a formula with a leading apostrophe (’) to get around this. For example, entering “-1 blah blah blah” will give you an error, but “’-1 blah blah blah” will not.

There’s actually an excellent reason for this.

“Keep with next” is how you glue a heading paragraph onto a body paragraph. e.g.

By attaching the “keep with next” attribute to the heading style you ensure pages don’t end with the header paragraph. The page will break before the header and the next page will start with the header & its associated body text immediately below.

If instead the attribute was “keep with previous” you’d need to create separate styles for the first and subsequent paragraphs.
Your assumptions about Excel are equally unwarranted. As explained up-thread, for reasons of compatibility with Lotus, Excel accepts formulas beginning with “+”. It’s a syntax marker, not a unary addition or sign marker. And as also noted up-thread, even though its not native Excel syntax, it does make typing easier for some folks in some situations. In programmer-speak “+” in that spot is syntactic sugar for “=”.