Home / Number to words in Google Sheets
Google Sheets

Number to words in Google Sheets — a SPELLNUMBER function.

Google Sheets has no built-in spell-number formula and no LAMBDA Name Manager. The clean way is a one-time Apps Script that adds =SPELLNUMBER(A1) to your sheet. Copy it below.

Step 1 — Open Apps Script

In your sheet, go to Extensions → Apps Script. Delete any starter code in the editor.

Step 2 — Paste this function (Indian lakh/crore)

function SPELLNUMBER(input) {
  if (input === "" || input === null) return "";
  var n = Math.floor(Math.abs(Number(input)));
  if (isNaN(n)) return "Invalid number";

  var ones = ["","One","Two","Three","Four","Five","Six","Seven","Eight","Nine",
    "Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen",
    "Seventeen","Eighteen","Nineteen"];
  var tens = ["","","Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety"];

  function two(x){ return x < 20 ? ones[x]
    : (tens[Math.floor(x/10)] + (x%10 ? " " + ones[x%10] : "")); }
  function three(x){
    var s = "";
    if (x >= 100){ s += ones[Math.floor(x/100)] + " Hundred "; x %= 100; }
    if (x) s += two(x);
    return s.trim();
  }

  if (n === 0) return "Zero";
  var out = [];
  var crore = Math.floor(n/10000000); n %= 10000000;
  var lakh  = Math.floor(n/100000);   n %= 100000;
  var thou  = Math.floor(n/1000);     n %= 1000;
  if (crore) out.push(two(crore) + " Crore");
  if (lakh)  out.push(two(lakh)  + " Lakh");
  if (thou)  out.push(two(thou)  + " Thousand");
  if (n)     out.push(three(n));
  return out.join(" ").trim();
}

Step 3 — Save and use it

Click the save icon, then return to your sheet. In any cell type =SPELLNUMBER(A1) and press Enter. Drag the formula down a column to convert every row.

International version? Swap the crore/lakh block for thousand/million/billion steps — the structure is identical, only the divisors change. The same logic in Excel form is on the Excel page.

Why it isn't a built-in formula

Neither Google Sheets nor Excel ships a native "number to words" function, because the rules differ by language and currency. A custom function lets you pick the convention you need — here, the Indian lakh/crore grouping that built-in tools never include.

Don't want to add a script at all? The bulk converter takes a pasted column or CSV and returns the words with no setup.

Questions

Will the function survive sharing the sheet?
Yes — the Apps Script travels with the spreadsheet, so collaborators can use =SPELLNUMBER() too.
Can it handle rupees and paise?
This version spells the whole number. To add "Rupees" and "Paise", wrap the result and append the decimal handling — or use the converters on this site for cheque-ready currency text.