Re: Range operators
- From: Rita & Klaus Kuhnlein <rikla wynndel ca>
- To: Andreas J. Guelzow <aguelzow pyrshep ca>
- Cc: Mailing list <gnumeric-list gnome org>
- Subject: Re: Range operators
- Date: Sun, 22 Mar 2009 10:54:50 -0600
Hi Andreas,
sorry, I do not want to extend the discussion endlessly. But when the
specification says that a union is just the sum of the two ranges then
the specification is not good. Why is there an intersection operator
(Blank) which follows exactly the rules of set theory. It works in
Gnumeric and Excel. Consequently there should be the counterpart union
which has in A1:B3 and B2:C3 seven and not eight cells.
Have a nice day.
Klaus
On 21-Mar-09, at 11:16 PM, Andreas J. Guelzow wrote:
On Sat, 2009-03-21 at 21:58 -0600, Rita & Klaus Kuhnlein wrote:
Hi Andreas,
that means: there is no range set union operator (comma) at all.
Neither in Excel nor in Gnumeric. I understand!?
Technically there is an operator that is called the union operator, in
Excel and Gnumeric it is a comma, in OpenOffice3 it is denoted by ~.
According to the OpenFormula draft it is also the concatenation
operator:
------------------------------------------------------------------------
Infix Operator Reference Concatenation ("~") (aka Union)
Summary: Concatenate two references
Syntax: Reference Left ~ Reference Right
Returns: ReferenceList
Constraints: None
Semantics: Takes two references and computes the "cell union", which
is
simply a concatenation of the reference Left followed by the reference
Right. This is not the same as a union in set theory; duplicate
references to cells are not removed. The resulting reference will have
the number of areas, as reported by AREAS, as AREAS(Left)
+AREAS(Right).
Note that this is notated as "~" in OpenFormula format, but as a comma
or “+” in some user interfaces.
------------------------------------------------------------------------
The draft also contains the annotation:
R
------------------------------------------------------------------------
ationale: OpenOffice.org 1.1.3 and 2.0.2 do not include this operator.
However, other applications, such as Microsoft Excel and Gnumeric,
include this operation. In Excel this is represented using the comma
(",") character, the same symbol used as the parameter separator for
function calls. This is a very poor choice with a number of
unfortunate
ramifications. One problem is that concatetating cells in a function
parameter requires surrounding the cells with additional parentheses
in
Excel display syntax. For example, AREAS(A1:A3,B2:B4) is a function
call
with two parameters, while AREAS((A1:A3,B2:B4)) is a function call
with
one parameter. Another problem is that the comma interferes with the
use
of "," as a decimal separator (as it is used in many locales) when
using
traditional entry formats (which do not mark cell addresses with
"..").
Gnumeric uses "+" as the cell concatenation operator in its display,
but
this has its own problems: it interferes with the use of "+" as a
matrix
addition operator. There are many alternatives, e.g., other characters
(such as "~", "|", and "\"), or requiring a function syntax for this
purpose. The character "_" would be a poor choice because formula
variables can also include this character in their name (complicating
parsing when "[..]" are not used; is B3_B2 a formula variable, or
are B2
and B3 concatenated?). Because of these issues, this specification
uses
"~" as the cell concatenation symbol.
------------------------------------------------------------------------
(I am not sure where the claim that Gnumeric uses + in its display
comes
from, perhaps an old version?)
Andreas
--
Andreas J. Guelzow <aguelzow pyrshep ca>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]