Skip to main content

Spreadsheet

A spreadsheet tool that runs in your browser. Your data is not sent to any server. Calculate with formulas, and open and save Excel files (.xlsx) and CSV files.

ABCDEFGHIJKL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

Your data is stored only in this browser and is never sent to a server.

How to use

KeyMacAction
F2F2Edit the selected cell (tapping the cell again or typing also starts editing)
Enter / Shift + EnterReturn / Shift + ReturnConfirm and move down / up
Tab / Shift + TabTab / Shift + TabConfirm and move right / left
EscEscCancel editing
↑ ↓ ← →↑ ↓ ← →Move between cells (while typing a formula that starts with =, insert a reference to the cell you move to)
Shift + ↑ ↓ ← →Shift + ↑ ↓ ← →Select a range (Shift + click or dragging also works)
Ctrl + ↑ ↓ ← →⌘ + ↑ ↓ ← →Jump to the edge of the data
Home / EndFn + ← / →Go to the start of the row / the last column with data
Ctrl + Home / End⌘ + Fn + ← / →Go to A1 / the last cell with data
PageUp / PageDownFn + ↑ / ↓Move one screen up or down
Shift + SpaceShift + SpaceSelect the entire row (or click the row number)
Ctrl + Space⌃ + SpaceSelect the entire column (or click the column header)
Ctrl + A⌘ + ASelect the current data range (press again for the whole sheet)
Ctrl + D / R⌘ + D / RCopy the contents of the cell above downward / the cell on the left to the right (fills the selection)
Ctrl + F⌘ + FFind
Ctrl + H⌃ + HReplace
Ctrl + ;⌘ + ;Enter today's date
Ctrl + :⌘ + :Enter the current time
Ctrl + Shift + 1⌃ + Shift + 1Thousands separator with 2 decimals
Ctrl + Shift + 3⌃ + Shift + 3Date format
Ctrl + Shift + 5⌃ + Shift + 5Percent format
Ctrl + Shift + ~⌃ + Shift + ~Back to General
F4F4While editing a formula, cycle the reference through A1 → $A$1 → A$1 → $A1
Delete / BackspaceDeleteClear the selection (number formats are kept)
Ctrl + C / X / V⌘ + C / X / VCopy / cut / paste (also works with Excel)
Ctrl + Z / Y⌘ + Z / Shift + ⌘ + ZUndo / redo (up to 100 steps)
Shift + F10Shift + F10Open the menu (right-click or long-press also works)
F6 / Shift + F6F6 / Shift + F6Move through the toolbar → formula bar → cell area → sheet tabs (Shift reverses the order)

Supported functions

Math

FunctionSyntaxDescription
SUMSUM(number1, [number2], …)Adds numbers
SUMIFSUMIF(range, criteria, [sum_range])Adds cells that meet a condition
SUMIFSSUMIFS(sum_range, criteria_range1, criteria1, …)Adds cells that meet several conditions
SUMPRODUCTSUMPRODUCT(array1, [array2], …)Multiplies corresponding items and returns the sum of the products
PRODUCTPRODUCT(number1, [number2], …)Multiplies numbers
ABSABS(number)Absolute value
SQRTSQRT(number)Square root
POWERPOWER(number, power)Raises a number to a power
MODMOD(number, divisor)Remainder after division
INTINT(number)Returns the largest integer less than or equal to the number
TRUNCTRUNC(number, [num_digits])Truncates to the given number of digits (toward 0)
ROUNDROUND(number, num_digits)Rounds to a number of digits
ROUNDUPROUNDUP(number, num_digits)Rounds away from 0
ROUNDDOWNROUNDDOWN(number, num_digits)Rounds toward 0
CEILINGCEILING(number, significance)Rounds up to a multiple
FLOORFLOOR(number, significance)Rounds down to a multiple
EXPEXP(number)e raised to a power
LNLN(number)Natural logarithm
LOGLOG(number, [base])Logarithm (base 10 if omitted)
LOG10LOG10(number)Base-10 logarithm
PIPI()The value of pi
RANDRAND()Random number from 0 to less than 1 (changes on every recalculation)
RANDBETWEENRANDBETWEEN(bottom, top)Random integer in the given range
SIGNSIGN(number)1 if positive, 0 if zero, -1 if negative
QUOTIENTQUOTIENT(numerator, denominator)Integer part of a division
EVENEVEN(number)Rounds up to an even integer
ODDODD(number)Rounds up to an odd integer

Statistics

FunctionSyntaxDescription
AVERAGEAVERAGE(number1, [number2], …)Average
AVERAGEIFAVERAGEIF(range, criteria, [average_range])Average of cells that meet a condition
AVERAGEIFSAVERAGEIFS(average_range, criteria_range1, criteria1, …)Average of cells that meet several conditions
MINMIN(number1, [number2], …)Smallest value
MAXMAX(number1, [number2], …)Largest value
MINIFSMINIFS(min_range, criteria_range1, criteria1, …)Smallest value among cells that meet conditions
MAXIFSMAXIFS(max_range, criteria_range1, criteria1, …)Largest value among cells that meet conditions
COUNTCOUNT(value1, [value2], …)Counts cells that contain numbers
COUNTACOUNTA(value1, [value2], …)Counts cells that aren't empty
COUNTBLANKCOUNTBLANK(range)Counts empty cells
COUNTIFCOUNTIF(range, criteria)Counts cells that meet a condition
COUNTIFSCOUNTIFS(criteria_range1, criteria1, …)Counts cells that meet several conditions
MEDIANMEDIAN(number1, [number2], …)Median
MODEMODE(number1, [number2], …)Most frequent value
LARGELARGE(array, k)k-th largest value
SMALLSMALL(array, k)k-th smallest value
RANKRANK(number, ref, [order])Rank in a list (largest first if order is 0 or omitted)
STDEVSTDEV(number1, [number2], …)Standard deviation of a sample
STDEVPSTDEVP(number1, [number2], …)Standard deviation of a population
VARVAR(number1, [number2], …)Variance of a sample
VARPVARP(number1, [number2], …)Variance of a population

Logical

FunctionSyntaxDescription
IFIF(logical_test, value_if_true, [value_if_false])Returns one value or another depending on a condition
IFSIFS(test1, value1, [test2, value2], …)Returns the value for the first condition that is met
IFERRORIFERROR(value, value_if_error)Returns the value you specify if there's an error
IFNAIFNA(value, value_if_na)Returns the value you specify if the result is #N/A
ANDAND(logical1, [logical2], …)Whether all conditions are met
OROR(logical1, [logical2], …)Whether any condition is met
NOTNOT(logical)Swaps TRUE and FALSE
XORXOR(logical1, [logical2], …)Whether an odd number of conditions are met
TRUETRUE()Returns TRUE
FALSEFALSE()Returns FALSE
SWITCHSWITCH(expression, value1, result1, …, [default])Returns the result for the matching value (the default if none match)
CHOOSECHOOSE(index_num, value1, [value2], …)Returns the value for the given number

Text

FunctionSyntaxDescription
LENLEN(text)Number of characters
LEFTLEFT(text, [num_chars])Takes the given number of characters from the start of text
RIGHTRIGHT(text, [num_chars])Takes the given number of characters from the end of text
MIDMID(text, start_num, num_chars)Takes the given number of characters from a given position
UPPERUPPER(text)Converts letters to uppercase
LOWERLOWER(text)Converts letters to lowercase
PROPERPROPER(text)Capitalizes the first letter of each word
TRIMTRIM(text)Removes extra spaces
SUBSTITUTESUBSTITUTE(text, old_text, new_text, [instance_num])Replaces text with other text
REPLACEREPLACE(old_text, start_num, num_chars, new_text)Replaces characters at a position
REPTREPT(text, number_times)Repeats text
FINDFIND(find_text, within_text, [start_num])Finds text and returns its position (case-sensitive)
SEARCHSEARCH(find_text, within_text, [start_num])Finds text and returns its position (not case-sensitive, allows * and ?)
EXACTEXACT(text1, text2)Whether two texts are the same
TEXTTEXT(value, format_text)Converts a value to text in the given number format
VALUEVALUE(text)Converts text that represents a number to a number
CONCATCONCAT(text1, [text2], …)Joins text
CONCATENATECONCATENATE(text1, [text2], …)Joins text (older form)
TEXTJOINTEXTJOIN(delimiter, ignore_empty, text1, …)Joins text with a delimiter
CHARCHAR(number)Character for a code (Unicode)
CODECODE(text)Code of the first character (Unicode)
ASCASC(text)Converts full-width letters, digits and katakana to half-width
JISJIS(text)Converts half-width letters, digits and katakana to full-width

Lookup and reference

FunctionSyntaxDescription
VLOOKUPVLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])Looks down the first column and returns a value from the same row
HLOOKUPHLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])Looks across the first row and returns a value from the same column
XLOOKUPXLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])Looks up a value and returns the matching item
INDEXINDEX(array, row_num, [column_num])Returns the value at the given row and column
MATCHMATCH(lookup_value, lookup_array, [match_type])Position of a value in a range
ROWROW([reference])Row number
COLUMNCOLUMN([reference])Column number
ROWSROWS(array)Number of rows in a range
COLUMNSCOLUMNS(array)Number of columns in a range

Date and time

FunctionSyntaxDescription
TODAYTODAY()Today's date
NOWNOW()Current date and time
DATEDATE(year, month, day)Makes a date from year, month and day
YEARYEAR(serial_number)Year of a date
MONTHMONTH(serial_number)Month of a date
DAYDAY(serial_number)Day of a date
HOURHOUR(serial_number)Hour of a time
MINUTEMINUTE(serial_number)Minute of a time
SECONDSECOND(serial_number)Second of a time
WEEKDAYWEEKDAY(serial_number, [return_type])Day of the week as a number (type 2 makes Monday 1)
DATEDIFDATEDIF(start_date, end_date, unit)Years, months or days between two dates
EDATEEDATE(start_date, months)Returns the date a given number of months before or after
EOMONTHEOMONTH(start_date, months)Returns the last day of the month a given number of months before or after
DAYSDAYS(end_date, start_date)Days between two dates
TIMETIME(hour, minute, second)Makes a time from hour, minute and second
DATEVALUEDATEVALUE(date_text)Converts text that represents a date to a date value

Information

FunctionSyntaxDescription
ISBLANKISBLANK(value)Whether a cell is empty
ISNUMBERISNUMBER(value)Whether a value is a number
ISTEXTISTEXT(value)Whether a value is text
ISERRORISERROR(value)Whether a value is an error
ISERRISERR(value)Whether a value is an error other than #N/A
ISNAISNA(value)Whether a value is #N/A
ISLOGICALISLOGICAL(value)Whether a value is TRUE or FALSE
NN(value)Converts a value to a number (text becomes 0)
NANA()Returns #N/A

Limitations

Unsupported formatting and features

Bold, colors, borders, conditional formatting, data validation, comments, links, freeze panes, hidden rows and columns, charts, images, macros, line breaks inside a cell and Japanese era dates aren't supported.

Information lost when you save a file

If a file you open contains these settings or items, they're lost when you save. Merged cells show only the value of the top-left cell (the merge is kept when you save). For array formulas (entered with Ctrl + Shift + Enter), only the formula in the top-left cell is saved, as a normal formula.

Formula and reference limits

Defined names can be used in formulas, but new names can't be defined. Table references, references to other files, references joined with a comma, formulas with @ and formulas that spill results into multiple cells aren't supported.

Sheet, row and column limits

A workbook can have up to 20 sheets, each up to 2,000 rows × 52 columns (A to AZ).

Entering numbers and long numbers

Values with symbols such as 50% or $1,000 are split into a number and a number format, just like in Excel. Numbers can have up to 15 digits (for long numbers such as card numbers, type ' first to enter them as text).

Was this tool helpful?