Range.setNumberFormat() lets you apply any Google Sheets number format pattern to a range — currency, percentages, dates, custom patterns, and more. This keeps your sheet data readable and consistent without manual formatting.
Formatting the Amount Column as Currency
functionformatAmountAsCurrency(){var sheet =SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sales Tracker");var amountRange = sheet.getRange(2,4, sheet.getLastRow()-1,1);// Column D amountRange.setNumberFormat("$#,##0.00");Logger.log("Amount column formatted as currency.");}
The $299 in the sample data displays as $299.00, and $999 as $999.00.
Formatting the Date Column
functionformatDateColumn(){var sheet =SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sales Tracker");var dateRange = sheet.getRange(2,8, sheet.getLastRow()-1,1);// Column H dateRange.setNumberFormat("MMM dd, yyyy");// e.g. Mar 15, 2024Logger.log("Date column formatted.");}
Applying Multiple Formats in One Pass
functionapplyAllColumnFormats(){var sheet =SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sales Tracker");var lastRow = sheet.getLastRow();// Amount (Column D) → Currency sheet.getRange(2,4, lastRow -1,1).setNumberFormat("$#,##0");// Date (Column H) → Readable date sheet.getRange(2,8, lastRow -1,1).setNumberFormat("MMM dd, yyyy");// Customer Name (Column A) → Plain text, left aligned sheet.getRange(2,1, lastRow -1,1).setHorizontalAlignment("left");// Region column (E) → centered sheet.getRange(2,5, lastRow -1,1).setHorizontalAlignment("center");Logger.log("All column formats applied.");}
Percentage Format for a Conversion Rate Column
If you add a Conversion Rate column to the tracker: