Xess on Athena (AC-76)


Table of Contents || Revision history || Copyright information

Xess on Athena

Xess is an easy to learn, easy to use spreadsheet designed specifically for science and engineering computing. Because it relies on the X Window System, Xess is not available on non-workstation terminals (e.g., dialup).

Xess offers standard spreadsheet features:

It also provides a full range of scientific and engineering features, including:

Xess handles complex calculations in a user-friendly environment. It can also approximate real-time action with its capability to send and receive data from other X applications.

Xess produces output in a variety of formats:

Including several kinds of graphics:

Topics in this document

This introduction to Xess covers the following topics:

Xess has many other capabilities and features. This documentation covers the basics of building and maintaining simple spreadsheets.

You should already be familiar with window concepts, including scroll bars, pull-down menus, and pop-up dialog boxes. These concepts are covered in the Working On Athena documentation.

Xess 3.x features

The Xess spreadsheet program has been upgraded to version 3.1 on all Athena platforms. The 3.1 release fixes a couple of bugs from the 3.0 release. New features of Xess 3.x compared to 2.0 include:

New look-and-feel
Xess 3.x has the look-and-feel of popular PC and Macintosh based spreadsheets, making it easier to learn.
Customization
Menus, dialog boxes, and short-cut keys can be customized to reflect individual preferences.
WYSIWYG model
Fonts, justification, customized charts, and layouts appear the same on printed output as on the screen.
Navigation
In addition to the GOTO feature found in earlier versions, users now have direct access to TOP/BOTTOM with the ability to display new windows containing the current sheet.
Text wrapping and row/column sizing
Long text strings can be automatically wrapped within the bounds of a column width, and the row height and column width can be automatically adjusted to fit the maximum cell content.
Page layout
Simple headers and footers support filename, date/time, and page numbers.
Highlighting
Users may select background and foreground colors to highlight errors or negative values.
Graphics
Graphs can be in separate windows, as in earlier versions of Xess, or can be placed directly into a spreadsheet cell. Users can customize all elements: background color, line color, tick-mark placement, label/title fonts, etc.
Cell linking between sheets
Formulas may now include references to cells in another spreadsheet.

Spreadsheets created with Xess 3.x will be saved in the new format with the filename extension .xs3. You can load spreadsheets that have been created using Xess 2.0 (and that have the extension .xs) by selecting File Format XS in the Open dialog box. Xess 2.0 is no longer available on Athena.

Getting help

To get help when you are running Xess:

  1. Click your left mouse button on the Help menu (at the far right of the Xess menu bar).
  2. Choose Index to display a dialog box with a list of topics, that you can scroll through using the scroll bar.
  3. Select a topic by double-clicking on the list item, or select the item and click on OK.
  4. Click on Cancel to close the dialog box when you are finished.

Getting Started with Xess and the Xess User's Guide are available reference in the Athena Reference Collections in Barker and Hayden libraries, and in the Athena Consultant's office, N42 1st Floor. Manuals can be ordered from:

Applied Information Systems Sales
100 Europa Drive, Suite 555
Chapel Hill, NC 27514
Phone: (919) 942-7801
Fax: (919) 493-7563

User's Guide: $30
Getting Started: $18
API Guide: $25
Shipping fee: $12.50 (UPS ground)

They prefer a P.O. for payment; MIT purchasers should mention that they are affiliated with the MIT site license.


Getting started and moving around the spreadsheet

To start Xess, type:

athena% add xess
athena% xess &

This opens a new window, your Xess display. You can also start Xess by selecting it from the Numerical/Math Dash menu.


A new Xess spreadsheet window

You can make the Xess window whatever size you choose. (The size of your spreadsheet does not depend on the window size; the spreadsheet is as large as the range of cells you fill with data.)

Parts of the Xess window

An Xess window consists of the following parts:

Moving around the spreadsheet

While you are working in an Xess spreadsheet, your current cell is indicated with a colored border. This is your effective cursor, indicating the selected cell, which you can edit, format, paste into, or otherwise manipulate. Moving to a cell selects that cell. Here are several ways to move the cursor or change the view of the spreadsheet:

Move the cursor with the arrow keys or mouse

Scroll to another view of the spreadsheet with the scroll bars

If your spreadsheet is larger than the Xess window displays, you can scroll through the spreadsheet to view other sections.

Move to a specific cell with the Go To function

The Go To function enables you to jump to any specific cell in the spreadsheet.

  1. Select Go To from the View pull-down menu or type C-g.

    A dialog box pops up asking for the address of the destination.

  2. Move the mouse into the dialog box and type the desired address. Cells are addressed with the letter of the column followed by the number of the row, as in H9.

    Click on OK or press Return to move. Click on Cancel to cancel the action.

    The view adjusts so the requested cell appears in the display area.

Move to a cell with specific contents with the Find function

The Find tools on the Search menu let you locate a specific value or character string. This is covered in detail in the Xess User's Guide and in the Xess Help on Find Dialog.

Here is a summary of these movement commands:

---------------------------------------------------------------
Method       Action                Result                        
---------------------------------------------------------------
Keyboard     Press arrow keys      move one row or column        
                                   in arrow direction            
Mouse        Click LEFT button     move to the chosen cell       
Scroll bars  LEFT drag on slider   move view to chosen location
             LEFT click on end     move view one row or column  
             arrow                 in that direction         
             LEFT click in empty   move view one page in         
             area                  that direction                
Go To        Select Go To from     dialog box appears for cell   
             View menu (C-g)       address          
---------------------------------------------------------------

Creating, Loading, and Saving a Spreadsheet

When you start Xess, a blank spreadsheet appears. You can create a spreadsheet by entering data (see Entering Data), or you can load an existing spreadsheet to edit.

Creating and saving a spreadsheet

When you enter data into your blank spreadsheet, you have created a working spreadsheet. This sheet is called "Untitled" until you give it a name. If you don't give it a name by saving the sheet, Xess asks you for a name when you exit.

To save the current spreadsheet:

  1. Select the Save command from the File menu (or type C-s).
  2. Enter the filename in the dialog Selection box. Filenames for Xess 3.0 spreadsheets should end in .xs3.
To save the spreadsheet in a different spreadsheet format:

  1. Select the Save As... command from the File menu.
  2. Choose the File Format--WK1 or WKS.
  3. Enter the filename in the Selection box, using the appropriate suffix (.wk1, .wks).
You can save data in non-spreadsheet formats with the Export command:

  1. Select Export... from the File menu.
  2. Choose a format from the File Format menu. These formats are available:
    ----------------------------------------------------------------
    Format            Description                             Suffix  
    ----------------------------------------------------------------
    Xess cells        A range of cells to be later imported   .xc3    
                      into another Xess spreadsheet.                  
    
    ASCII text        Data (string and numeric values) in     .txt    
                      ASCII text. This format uses the                
                      column width in Xess to determine               
                      the column width in the text file,              
                      creating a tabular representation.              
    
    ASCII tab         ASCII text data using tabs to           .tsv    
    separated values  separate cell values.                               
    
    ASCII comma       ASCII text data using commas to         .csv    
    separated values  separate cell values. Text strings              
                      appear in double quotes.                        
    
    LaTeX tabular     Data is written in LaTeX "tabular"      .tex    
                      environment and can be directly                 
                      included in LaTeX documents                     
    ----------------------------------------------------------------
    

Loading and saving an existing spreadsheet

To load an existing spreadsheet:

  1. Select the Open command from the File menu (or press C-o).

  2. Select the desired spreadsheet from the "Files" list in the pop-up window. These are files in the current directory. If the spreadsheet you want is in another directory, enter the full path name in the Selection box, or double-click on the directory names to browse through the directory tree.

    For example, you can open the example files in the xess locker: Type /mit/xess/examples/xs_examples/ in the Filter box, then double-click on one of the example in the Files list.

You can open files from other spreadsheet programs by changing the "File Format." These formats are available:

--------------------------
Suffix  Format              
--------------------------
.xs3    Xess 3.0 (default)  
.xs     Xess pre-3.0        
.wk1    Lotus, et al        
.wks    Lotus, et al        
--------------------------
You can also load data from other programs using the Import commands on the File menu. You can import files in these formats:

--------------------------------------------------------
Suffix  Format                                            
--------------------------------------------------------
.txt    Text                                              
.xc3    Cells (to "cut and paste") to another Xess sheet  
.tsv    Tab Separated Values                              
.csv    Comma Separated Values                            
--------------------------------------------------------

There is more information about loading spreadsheets and using the file filter (which determines what files appear in the list) in the Xess User's Guide.

When you edit an existing spreadsheet, save it before you exit Xess by using the Save command described above. The default file name for a previously existing spreadsheet is the name you loaded. Saving the file overwrites the existing file; no backup (~) file is created.


Entering Data into a Spreadsheet

You can enter different kinds of data into cells and manipulate that data in many ways. You can enter text, numbers, and formulas, align and format data, and reference other cells. The following sections describe the basics; you can get more information in the Xess User's Guide and in the Xess internal help.

As you enter data at your keyboard, it appears in the edit line. When you press Return or click on the accept (check) button, the data is entered into the current cell. In this documentation, examples show the edit area as if you were entering the data, followed by the result:

[address] sample data
resulting cell contents
As in:

[A1] =100-54
46

To edit data you have already entered without retyping the entire cell contents, you must enter edit mode. Edit mode highlights the edit area (with a heavy border) and places the cursor in the edit area. Select the cell you want to edit, then click on the edit line or choose Edit Cell from the Edit menu to enter edit mode. You can use the left and right arrow keys to move within the edit area.

Entering text

Text entries are useful for labeling columns and rows and including comments. You can also use Xess as a pseudo-database to manipulate textual information.

To enter most text into a cell, type the text. If your text entry begins with a number, Xess tries to treat it like a numeric entry; you must precede the text with an apostrophe ('). For instance, an entry such as 253-1000 could be a phone number or a subtraction formula. Xess assumes a numeric entry (unless you have specified justification for that cell), and automatically inserts the numeric entry = indicator:

[A1] =253-1000 
-747

Enter '253-1000 to specify text and cause Xess to display 253-1000.

[A2] '253-1000 
253-1000

If your text entry exceeds the width of the column, Xess displays the text across as many empty columns as possible.

You can format the text with the options under the Format menu, including fonts, colors, justification, and text wrap.

Entering numeric values

Here are some conventions for entering numeric values. Remember that you only enter the value; you use formatting commands (see Formatting numeric values) to change the way Xess displays the numbers.

If the width of the cell is too narrow to display the numeric value in the cell, Xess displays as much of the value as it can, and adds a heavy solid line on the left edge of the cell to indicate that the entry has been truncated.

Formatting numeric values

There are several different formats available for displaying numbers. No matter which format you select, you still enter the number as described above.

These commands produce a pop-up dialog box with all your choices. These choices are described fully in the Xess User's Guide and in the Xess Help under Cell Contents.

All these examples were entered as 1234.56; only the format was changed with the Cell Format command (described below):

-----------------------------------------------------------
Format      Description                      Result          
-----------------------------------------------------------
Scientific  Scientific notation              1.23456000e+03  
Fixed       A fixed number of decimal        1234.56000000   
            places, specified in the Cell                    
            Format dialog box                                
General     Fixed format or scientific,      1234.56 or      
            whichever fits. No trailing      1.2e+03         
            zeros.                                           
Dollars     Leading $ sign and commas.       $1,234.56       
            Negative values displayed                        
            in parentheses and in red (on                    
            color monitors). (You must                       
            set the decimal place to 2.)                     
Comma       Comma delimiters                 1,234.56000000  
Hex         Displays the integer portion     Ox4D2           
            of the number in base 16                         
            with leading Ox.                                 
Logic       Displays 0 as 0, 1 as 1, other   ?               
            values as ?                                      
-----------------------------------------------------------

Entering and formatting dates

Use a slash to prefix a date:

 /month/day/year
Then choose the format of the output (in this example, DD-MMM-YY):

[A3] /7/24/95/7/24/95
24-Jul-95

To get today's date, enter @today and choose the format. (By default, a date is represented as an integer equal to the number of days since December 31, 1899. This makes it possible to use date values in calculations.)

Entering formulas

Formulas, defining the relationships between cells, are the real purpose of a spreadsheet. Formulas can sum columns, compute averages, find a minimum or maximum value, and much more. Numeric entries stay the same until you change them, but formulas automatically update when referenced cells change.

Formulas are never displayed in the cell; they work in the background and display the results. When you select a cell with a formula in it, the formula is displayed in the control/status area, and you can edit the formula by clicking in the edit area. Here are some examples of formulas:

[C2] =1567.5-181.52 
1385.98 
[C3] =C2+10
1395.98
[C4] =@PI**3
31.006277

Xess formulas look just like algebraic formulas. Here is a list of operators in order of precedence, highest to lowest:

---------------------------------------------
Precedence  Operator    Definition             
---------------------------------------------
14          %           Unary percent          
13          **          Exponentiation         
12          +           Unary plus             
12          -           Unary minus            
12          ~           Bitwise complement     
12          !           Logical not            
11          *           Multiplication         
11          /           Division               
11          %           Modulus                
10          +           Addition               
10          -           Subtraction            
9           <<          Shift left             
9           >>          Shift right            
8           <           Less than              
8           >           Greater than           
8           <=          Less than or equal     
8           >=          Greater than or equal  
7           ==          Equal                  
7           !=          Not equal              
6           &           Bitwise and or 
                        String concatenation   
5           ^           Bitwise exclusive or   
4           |           Bitwise or             
3           &&          Logical and            
2           ||          Logical or             
1           ?:          Conditional            
---------------------------------------------

You can override this precedence by using parentheses in your formula.

Here are some conventions for entering formulas:

There are also built-in functions which provide a shortcut to developing long formulas. Xess provides mathematical, statistical, conditional statistical, string, logical, digital logical, financial, date and time, and some miscellaneous functions. There are also embedded tools, such as eigenvalue calculation and matrix multiplication, which produce results in the form of a matrix of cells instead of a single cell. Xess functions begin with an @ sign, and enclose their arguments in parentheses. Here are some examples (see Summary of Xess Functions for a more complete list):

---------------------------------------------------------
Example         Meaning                                    
---------------------------------------------------------
@sum(A1,B1,E1)  Sum of the values in cells A1, B1, and E1  
@cos(C6)        Cosine of the angle in cell C6 (assumes    
                radians)                                   
@avg(D1..D10)   Average of the values in range D1 to D10   
@now            Current date and time                      
@transpose      Transpose of the matrix A1..C3             
(A1..C3)                                                   
---------------------------------------------------------

Referencing other cells

Entering cell references

As you create formulas, you need to be able to reference other cells. Here are the most common ways to include such a reference in your current cell:

To reference a contiguous group of cells:

Absolute and relative cell references

Xess differentiates between absolute and relative references. For instance, you may have a relative address, as in, "the cells in this column in the preceding 3 rows.'' Here is an example, where cell B10 is the sum of the values of 8 elements of that column (B1..B8):

[B10] =@SUM(B1..B8)

By default, Xess uses relative references, so if you copy this formula, it still refers to "the cells in this column in the relative 8 rows.'' For example, if we copy B10 to C20, the formula changes to be relative to C20:

[C20] =@SUM(C11..C18)

You might instead wish to use those values in cells B1..B8 in several different cells. To specify an absolute cell address, insert a $ sign before the address coordinate to be fixed, as in $B$1. Now, we define B10 like this:

[B10] =@SUM($B$1..B$8)

Note that absolute reference to just one component of an address is allowed, as in B$8 above. Since we did not put a $ before the B in B8, it will be a reference relative to the cell (i.e., the same column, but absolute row 8). If we copy the contents of cell B10 to C20 now, we get:

[C20] =@SUM($B$1..C$8)

The B in B8 is free to change to C, while the 8 is fixed.

Copying and moving data within the spreadsheet

The commands to copy and move data are available on the Edit menu. You can copy the formula in a cell or the value of a cell to another part of the spreadsheet, or you can move everything to another part of the spreadsheet:

For example, to copy the value from cell A3 to cell C6:

Copying occurs when you release the mouse button. Copy formulas and Move work the same way.

Removing data

You can erase data from a cell or range of cells, or from the whole sheet. The following functions clear all data values, formulas, and formatting in the specified cell range, so be careful.


Creating Graphs

Xess allows you to create, format, and manipulate graphs and charts from the data in your Xess spreadsheet. You can create these graphs in separate windows or include them in an Xess cell, and you can save them with the spreadsheet or as separate Encapsulated PostScript files for inclusion in other documents.

Xess supports these formats. The pathname given for each is a sample you can open and imitate.

There are other examples in the /mit/xess/examples directory.

Specifying data sets for a graph

There are two possible methods for specifying the data sets in a graph:

Specifying the ranges before setting up the graph

  1. First select (highlight) a range of data to be graphed.
  2. Next, choose New Graph from the Graph menu.
  3. Inside the New Graph sub-menu select the desired graph type.

A new window named Untitled is created with your graph. You can then edit the data ranges (as described below) or change any of the general graph characteristics.

Specifying the ranges after setting up the graph

After you have initially created a graph using the New option from the Graph menu, you can set data sets:

  1. Select Data Sets from the Edit menu.

    The Data Sets Options dialog box appears, displaying the Data Set # specified at the top left hand corner, with a drag bar below it. This drag bar lets you move between data sets.

  2. To specify a range, click in the appropriate X, Y or Z range box and enter the range.

    You may define up to twenty (20) separate data sets for each axis. Enter the range by highlighting the range in the worksheet, or entering the first and last cell address separated like: A1..A15.

  3. Repeat this for each data set.
You can customize how the data is represented in the graph by changing the options within the Data Sets Options dialog box. The initial values displayed in this dialog box are based on the type of graph you selected from the New Graph option menu or in the Graph Options dialog box.

The Data Set Options dialog box lets you alter the following:

Click OK to accept the changes and dismiss the dialog box; click Apply to accept changes and retain the dialog box. (If Defer Redraw in the general Graph Options menu is OFF, the effects are immediately reflected in the corresponding graph edit window; if Defer Redraw is ON, you must explicitly invoke Redraw from the File menu to update the graph.) Click Cancel if you wish to dismiss the dialog box.

For more information on how to specify data sets select the Data Sets Dialog option from the Help Index menu.


Printing a Spreadsheet

Setting printing options

  1. Select Printer Options from the Options menu. Xess displays the Printer Options dialog box.
  2. Specify any of the following printer options accordingly:
    ----------------------------------------------------------------------
    Option                      Choices                                     
    ----------------------------------------------------------------------
    Printer type                PostScript
                                Text      
                                      
    Destination                 Printer
                                File
                                Both (printer and file)                     
    
    Horizontal pitch            10 CPI
    
    This option is used for     12 CPI
    Text only and controls      16.5 CPI                                    
    the number of characters                                                
    per inch (CPI) in the                                                   
    printed output.                   
                                          
    Vertical pitch              6 LPI
    This option is used for     8 LPI
    Text only and controls      12 LPI                                      
    the number of lines per                                                 
    inch (LPI) in the printed                                               
    output.                          
    
    Print area                  You may specify a print range to be         
                                stored with the sheet. If you highlight     
                                a range to be printed, this print area is   
                                ignored.                                    
    
    Print command               This field displays the actual print        
                                command to be used based on the             
                                selected printer. Default is lpr %s.        
    
    Printers                    A list of available printers. Choose a      
                                specific printer instead of "Default."
    ----------------------------------------------------------------------
    
  3. Click OK or press Return to confirm. Click Apply to apply the changes and retain the window.

Selecting a printer

If you try to print without setting a a printer, Xess chooses:

  1. the printer specified by the $PRINTER variable or
  2. the default cluster printer

Many people don't specify a printer with the $PRINTER variable, but all workstations in Athena clusters should have a cluster printer. You can choose a different printer through the Printer Options dialog box. (Xess will set the print command string appropriately.)

Not all printers are listed in the Printer Options dialog box. To get another printer to appeard, you can set $PRINTER before starting Xess:

athena% setenv PRINTER pietro

Printing a spreadsheet

Select one of the following from the File menu:

From the Print Sheet dialog box, you can access these dialog boxes:

For details on these dialog boxes, refer to help topics Printer Options Dialog and Page Options Dialog respectively. You can also select Help from the Printer Options and Page Options dialog boxes.

When you are satisfied with the printer and page options, you can print to your destination:

-----------------------------------------------------------
Destination  Action                                          
-----------------------------------------------------------
Printer      Click OK to print                               
File/Both    Specify the filename.                           
             For details on standard File Display dialogs,   
             refer to help topic File Display.               
-----------------------------------------------------------

Printing graphs

Note that the size of the graph that gets printed is the size of the graph on your screen. Resize the window to resize the printed graph.

  1. Create the graph.

    Inside the graph window, there are three menu buttons: File, Edit, and Options.

  2. Choose Print As... from the File menu.

    This function enables you to output the graph in Encapsulated PostScript format. The output can be directed to a printer, a file, or both from the Printer Options window. If you select Destination Printer, then your graph is sent directly to the printer you specify.

    If you select Destination File or Destination Both, you need to enter the filename in the Selection box in the Print As window. Enter the filename, then select OK.

Troubleshooting

Sometimes when you try to print, only the header page prints, or a page with "Spooled Binary File Rejected." When this happens, the usual causes are:


Summary of Xess Functions

The syntax of these functions is discussed in detail in Appendix A of the Xess User's Guide.

Mathematical functions

--------------------------------------------------------
@ABS(X)              Absolute value of X                     
@ACOS(X)             Arc cosine of X                         
@ACOSH(X)            Hyperbolic arc cosine of X              
@ASIN(X)             Arc sine of X                           
@ASINH(X)            Hyperbolic arc sine of X                
@ATAN(X)             2-quadrant arc tangent of X             
@ATANH(X)            Hyperbolic arc tangent of X             
@ATAN2(X,Y)          4-quadrant arc tangent of Y/X           
@CEIL(X)             Smallest integer greater than or        
                     equal to X                              
@COS(X)              Cosine of X                             
@COSH(X)             Hyperbolic cosine of X                  
@DEGREES(X)          Pi times X                              
@DET(M)              Determinant of the matrix range M,      
                     which must be a square matrix           
@DOT(R1,R2)          Dot product of vectors R1 and R2        
@EXP(X)              e raised to the X power                 
@FLOOR(X)            Largest integer less than or equal to X
@FRAC(X)             Fractional portion of X                 
@GAMMA(X)            Value of gamma function evaluated       
                     at X                                    
@GRAND               12th-degree binomial approximation
                     to a Gaussian random number        
                     with zero mean and unit variance        
@INT(X)              Integer portion of X                    
@LN(X)               Log base e of X                         
@LNGAMMA(X)          Log base e of the gamma function        
                     evaluated at X                          
@LOG(X)              Log of X                                
@LOG10(X)            Log base 10 of X                        
@LOG2(X)             Log base 2 of X                         
@MOD(X,Y)            Remainder of X/Y                        
@PI                  Value of pi                             
@POLY(X,...)         Value of an Nth-degree polynomial    
                     in X                                 
@POLYCOEF(X,Y,d)     Returns the least squares 
                     coefficients for the polynomial fit.       
                     X - a range representing a row or    
                         column vector of independent 
                         variable values                          
                     Y - a range representing a row or    
                         column vector of dependent 
                         variable values                          
                     d - polynomial degree (range 1--10)  
@POLYFIT(X,Y,d)      Returns least squares polynomial     
                     fit.                                 
@RADIANS(X)          Pi/180 times X                       
@RAND                A uniform random number on the       
                     interval 0,1                         
@ROUND(X,n)          X rounded to n (0 to 15) decimal     
                     places                               
@SIGMOID(X)          Value of the sigmoid function 
                     1/(1 + exp(-X))                
@SIN(X)              Sine of X                            
@SINH(X)             Hyperbolic sine of X                 
@SQRT(X)             Positive square root of X            
@SUMPRODUCT(R1,R2)   Dot product of vectors R1 and R2,    
                     where R1 and R2 are equal dimension      
@TAN(X)              Tangent of X                         
@TANH(X)             Hyperbolic tangent of X              
@VECLEN(...)         Square root of sum of squares of     
                     arguments                            
--------------------------------------------------------

Cell reference functions

-----------------------------------------------------------
@@(S)                    Reference to the cell or range S    
@CELLREF(N1,N2)          A reference to the cell in 
                         column N1 and row N2                   
@COL(C)                  Column address of the cell 
                         referenced by C                        
@HLOOKUP(X,S,R)          Value of the cell in range S that   
                         is R number of rows beneath X       
@RANGEREF(N1,N2, N3,N4)  A reference to the range            
                         defined by coordinates N1           
                         through N4                          
@ROW(C)                  Row address of the cell 
                         referenced by C                          
@VLOOKUP(X,S,C)          Value of the cell in range S that   
                         is C number of columns to the       
                         right of X                          
-----------------------------------------------------------

Statistical functions

------------------------------------------------------------
@AVG(...)         Average (mean) of arguments                 
@CHOOSE(N,...)    Nth argument from the list                  
@CORR(R1,R2)      Pearson's product-moment correlation        
                  coefficient for the paired data in ranges   
                  R1 and R2                                   
@COUNT(...)       A count of non-blank arguments              
@F(M,N,F)         Integral of Snedecor's F-distribution       
                  from minus infinity to F with M and N       
                  degrees of freedom                          
@FTEST(R1,R2)     Significance level (alpha) of the two-      
                  sided F-test on variances of the data       
                  specified by ranges R1 and R2               
@GMEAN(...)       Geometric mean of arguments                 
@HMEAN(...)       Harmonic mean of arguments                  
@MAX(...)         Maximum of arguments                        
@MIN(...)         Minimum of arguments                        
@MSQ(...)         Mean of the squares of arguments            
@PTTEST(R1,R2)    Significance level (alpha) of the two-      
                  sided t-test for the paired samples 
                  specified by ranges R1 and R2                    
@RMS(...)         Root of the mean of squares of arguments
@SSQ(...)         Sum of squares of arguments                 
@STD(...)         Population standard deviation (N            
                  weighting) of arguments                     
@STDS(...)        Population standard deviation (N-1          
                  weighting) of arguments                     
@SUM(...)         Sum of arguments                            
@T(N,T)           Integral of Student's T-distribution with   
                  N degrees of freedom from minus infinity
                  to T                                    
@TTEST(R,X)       Significance level (alpha) of the two-      
                  sided single population t-test for the      
                  population samples contained in range R
@TTEST2EV(R1,R2)  Significance level (alpha) of the two-      
                  sided dual population t-test for ranges     
                  R1 and R2, where their variances are        
                  equal                                       
@TTEST2UV(R1,R2)  Significance level (alpha) of the two-      
                  sided single population T-test for ranges   
                  R1 and R2, where their variances are not    
                  equal                                       
@VAR(...)         Population variance (N weighting) of        
                  arguments                                   
@VARS(...)        Population variance (N-1 weighting) of      
                  arguments                                   
@VSUM(...)        "Visual sum" of arguments, using 
                  precision and rounding of formatted cell 
                  values                                         
------------------------------------------------------------

Conditional statistical functions

----------------------------------------------------------
@CAVG(...,C)    Conditional average (mean)                  
@CCOUNT(...,C)  Conditional count                           
@CMAX(...,C)    Conditional maximum                         
@CMIN(...,C)    Conditional minimum                         
@CSTD(...,C)    Conditional population standard deviation   
                (N weighting)                               
@CSTDS(...,C)   Conditional population standard deviation   
                (N-1 weighting)                             
@CSUM(...,C)    Conditional sum                             
@CVAR(...,C)    Conditional population variance (N          
                weighting)                                  
@CVARS(...,C)   Conditional population variance (N-1        
                weighting)                                  
----------------------------------------------------------

Financial functions

---------------------------------------------------------
@CTERM(R,FV,PV)  Number of compounding periods for         
                 an investment                             
@DDB(C,S,L,N)    Double-declining depreciation allow       
                 ance                                      
@FV(P,R,N)       Future value of an annuity                
@IRR(G,F)        Internal rate of return on an investment  
@PMT(PV,R,N)     Periodic payment for a loan               
@PV(P,R,N)       Present value of an annuity               
@RATE(FV,PV,N)   Interest rate required to reach future    
                 value FV                                  
@SLN(C,S.L)      Straight-line depreciation allowance      
@SYD(C,S,L,N)    "Sum-of-years-digits" depreciation        
                 allowance                                 
@TERM(P,R,FV)    Number of payment periods for an          
                 investment                                
---------------------------------------------------------

String functions

------------------------------------------------------------
@CHAR(N)         Character represented by the ASCII           
                 code N                                       
@CLEAN(S)        String formed by removing all non-           
                 printing characters from the string S        
@CODE(S)         ASCII code for the first character in        
                 string S                                     
@EXACT(S1,S2)    If S1 matches S2, 1; otherwise, 0            
@FIND(S1,S2,N)   Index of the first occurrence of S1 in       
                 S2                                           
@FORMAT(F,N,X)   String formed by formatting the value        
                 X using format code F and precision N        
@HEXTONUM(S)     Numeric value for the hexadecimal            
                 interpretation of S                          
@LEFT(S,N)       String composed of the leftmost N            
                 characters of S                              
@LENGTH(S)       Number of characters in S                    
@LOWER(S)        S converted to lower case                    
@MID(S,N1,N2)    String of length N2 that starts at 
                 position N1 in S                                 
@N(R)            Numeric value of the top left cell in        
                 range R                                      
@NUMTOHEX(X)     Hexadecimal representation of the            
                 integer portion of X                         
@PROPER(S)       String S with the first letter of each       
                 word capitalized                             
@REPEAT(S,N)     String S repeated N times                    
@REPLACE(S1,N1,  String formed by replacing the N2            
N2,S2)           characters starting at position N1 in S1     
                 with string S2                               
@RIGHT(S,N)      String composed of the rightmost N           
                 characters of S                              
@S(R)            String value of the top left cell in range R
@STRCAT(...)     Concatenation of all arguments               
@STRING(X,N)     String representing the numeric value        
                 of X, to N decimal places                    
@STRLEN(...)     Total length of all strings in arguments     
@TRIM(S)         String formed by removing spaces             
                 from string S                                
@UPPER(S)        String S converted to upper case             
@VALUE(S)        Numeric value represented by the string S 
------------------------------------------------------------

Date and time functions

-------------------------------------------------------------
@DATE(Y,M,D)  Date value for year Y, month M, and date D       
@DAY(DT)      Day number in the date/time value DT             
@HOUR(DT)     Hour value (0-23) of date/time value DT          
@MINUTE(DT)   Minute value (0-59) of date/time value DT        
@MONTH(DT)    Number of the month in date/time value DT        
@NOW          Date/time value of the current system date and   
              time                                             
@SECOND(DT)   Seconds value (0-59) of the date/time value DT    
@TIME         Time value for hour H, minute M, and second S
@TODAY        Date value of the current system date            
@YEAR(DT)     Year value of date/time value DT                 
-------------------------------------------------------------

Logical functions

--------------------------------------------------------
@FALSE          Logical value 0                           
@FILEEXISTS(S)  1 if file S can be opened to read; 
                otherwise 0                                    
@IF(X,T,F)      Value of T if X evaluates to non-zero,    
                or F if X evaluates to zero               
@ISNUMBER(X)    1 if X is a numeric value; otherwise 0    
@ISSTRING(X)    1 if X is a string value; otherwise 0     
@TRUE           Logical value 1                           
--------------------------------------------------------

Digital logical functions

-------------------------------------------------------------
@AND(...)   1 if all arguments are 1; 0 if any arguments are   
            0; otherwise -1                                    
@NAND(...)  0 if all arguments are 1; 1 if any arguments are   
            0; otherwise -1                                    
@NOR(...)   0 if any arguments are 1; 1 if all arguments are   
            0; otherwise -1                                    
@NOT(X)     1 if X=0; 0 if X=1; otherwise -1                   
@OR(...)    1 if any arguments are 1; 0 if all arguments are   
            0; otherwise -1                                    
@XOR(...)   -1 if any arguments are UNKNOWN; 1 if the          
            total number of arguments with value 1 is odd;     
            0 if the total number of arguments with value 1    
            is even                                            
-------------------------------------------------------------

Keyboard Bindings for Menu Items (Reference)

In the keyboard bindings, note the difference between lower-case and capital letters. If no keyboard binding is given, there is none available. The underlined character in a command name is an alternative to the keyboard binding and the menus. For example, click on Edit to bring up the Edit menu, then type i to select the insert submenu and r to insert a new row instead of dragging the mouse through the menus.

(As in most Athena documentation, C-x means press x while holding down the Control (Ctrl) key; M-x means press x while holding down the Meta key (Compose Character or Alt on most keyboards).)

----------------------------------------
File        M-N       New                       
            C-o       Open                      
                      Import...                 
            C-s       Save                      
                      Save As...                
                      Export...                 
            M-p       Print                     
                      Print As...               
            M-C       Close                     
            M-q       Exit                      
Edit        C-u       Undo                      
            F2        Edit Cell                 
            C-a       Select All                
            C-space   Select                    
            C-M-      Reselect                  
            space                               
                      Named Range...            
            C-m       Move                      
                      Copy                      
            C-f       Copy Formulas             
            C-v       Copy Values               
            C-Delete  Clear                     
                      Insert                    
            C-r       Insert Row                
            C-c       Insert Column             
                      Insert Page Break Row     
                      Insert Page Break Column  
                      Delete                    
            C-R       Delete Row                
            C-C       Delete Column             
                      Delete Page Break Row     
                      Delete Page Break Column  
Search           F6   Find...                        
                 F7   Find Next                      
                 F8   Find Previous                  
View                  Top                            
                      Bottom                         
                 C-g  Go To...                       
                      Lock View Titles               
                      Unlock View Titles             
                 C-V  Create New View                
Format                Column Width                   
                      Default Column Width           
                      Snap Width to Contents         
                      Column Width...                
                      Row Height                     
                      Default Row Height             
                      Snap Height to Contents        
                      Row Height...                  
                 C-F  Cell Format...                 
                      Font Family                    
                      Default                        
                      Courier                        
                      Helvetica                      
                      Souvenir                       
                      Times-Roman                    
                      Lubalin Graph                  
                      Font Style                     
                      Default                        
                 C-n  Normal                         
                 C-b  Bold                           
                 C-i  Italic                         
                 C-I  Bold-Italic                    
                      Font Size                      
                      Default                        
                      8 Pt                           
                      10 Pt                          
                      12 Pt                          
                      14 Pt                          
                      18 Pt                          
                      24 Pt                          
                      Underline                      
                      Default                        
                      Off                            
                      On                             
                      Justification                  
                      Default                        
                 M-a  Automatic                      
                 M-r  Right                          
                 M-l  Left                           
                 M-c  Center                         
                      Wrap                           
                      Default                        
                      Off                            
                      On                             
                      Cell Color...                  
Tools            F9   Recalculate                    
                      Cell Protection                
                      Default                        
                      Unprotected                    
                      Protect                        
                      Goal Seek                      
                      Sort                           
                      Extract                        
Characteristics  M-C  Default Cell Charateristics    
                 M-S  Default Sheet Characteristics  
                 M-P  PostScript Output Characteris  
                      tics                           
                      Printer Characteristics        
Options               Cell Defaults...               
                      Sheet Defaults...              
                      Page Options...                
                      Printer Options...             
                      Import Options...              
                      Copy Options...                
                      Recalc Options...              
                      Highlight Options...           
                      New Graph Options...           
Graph                 New Graph                      
                      Scatter Graph                  
                      Line Graph                     
                      Bar Graph                      
                      Histogram                      
                      Pie Graph                      
                      Surface Graph                  
                      Contour Graph                  
                      Polar Graph                    
                      Hi-Lo Graph                    
                      Edit Graph...                  
                      View Graph...                  
                      Insert In Sheet...             
                      Delete Graph...                
Connections           Accept Connections             
                      Refuse Connections             
                      Lock Connections               
                      Connection List...             
---------------------------------------------------


MIT Information Systems Comments and feedback to olh-suggest@mit.edu