View Single Post
  #4   Report Post  
Harlan Grove
 
Posts: n/a
Default

123user wrote...
Wow, what a memory about the history of spreadsheets! But then, I recognize
your name from other spreadsheet boards, so I'm not too surprised.. If there
is a SQL.REQUEST add-on that is easier to use than database functions, how do
I do get it? I would like to see what it does.


See Excel's online help for SQL.REQUEST.

As I said, I can do most of what I do in 1-2-3 in Excel with arrays, but it
requires-at least as much as I have figured out-creating numerous ranges.
With 1-2-3 database functions, all I have to do is name the database with its
field headings. As for my use of database functions, I am not looking so
much for conditional counting and summing, although I do use them for that.
I use @DGET a lot to create crosstabs that automatically update when the
years in the crosstab change. Of course, I'm not really writing in criteria;
I am referring to cells that have the criteria in them. With the use of
relative and fixed addresses, I can then copy the database function very
quickly and create a crosstab. The following is an example of a cash
receipts crosstab on a model I run.

A B C D E F
1 SQLVAR: CRWT--VA
2 2000 2001 2002 2003 2004
3
4 QTR1 @DGET($CRDB,$A4,SQLVAR=$B$1#AND#$DBYEAR=B$2)
5 QTR2
6 QTR3
7 QTR4
8 ANNL

....

I won't say this is as elegant as it is in 123, but an equivalent Excel
formula would be the array formula

=INDEX(CRDB,MATCH(1,(INDEX(CRDB,0,MATCH("SQLVAR",I NDEX(CRDB,1,0),0))=$B$1)
*(INDEX(CRDB,0,MATCH("DBYEAR",INDEX(CRDB,1,0),0))= B$2),0),
MATCH($A4,INDEX(CRDB,1,0),0))

This involves no hardcoding. With some hardcoding, namely, using
additional defined names for the ranges containing the SQLVAR and
DBYEAR fields, the array formula reduces to

=INDEX(CRDB,MATCH(1,(CRDB.SQLVAR=$B$1)*(CRDB.DBYEA R=B$2),0),2+ROWS(B$4:B4))

Finally, Excel will not do anythig with these functions when I try to
convert a 1-2-3 file to Excel. What I get is: "REF!". This is a big reason
that I have resisted switching.

....

Excel does nothing with them because it doesn't support the syntax. The
criteria expressions that 123 provides are interpretted as range
references in Excel, and since they're not valid range references, the
formulas return #REF!.