Stay organized with collections Save and categorize content based on your preferences.
You can use Google Apps Script to write a custom function, then use it in Google Sheets just like a built-in function.
The following quickstart sample creates a custom function that calculates the sale price of discounted items. The sale price is formatted as US dollars.
Objectives
Set up the script.
Run the script.
Prerequisites
To use this sample, you need the following prerequisites:
A Google Account (Google Workspace accounts might require administrator approval).
In a cell, enter =salePrice(100,.2). The first parameter represents the original price and the second parameter represents the discount percentage. If you're in a location that uses decimal commas, you might need to enter =salePrice(100;0,2) instead.
The formula that you enter in the cell runs the function in the script you created in the previous section. The function results in a sale price of $80.00.
Next steps
To continue learning about how to extend Sheets with Apps Script, take a look at the following resources:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-18 UTC."],[[["\u003cp\u003eGoogle Apps Script allows you to create custom functions that can be used directly within Google Sheets, similar to built-in functions.\u003c/p\u003e\n"],["\u003cp\u003eThis tutorial demonstrates how to build a custom function that calculates and formats sale prices based on provided input and discount values.\u003c/p\u003e\n"],["\u003cp\u003eTo use the custom function, simply paste the provided code into the Apps Script editor linked within your Google Sheet and call it using \u003ccode\u003e=salePrice(input, discount)\u003c/code\u003e in any cell.\u003c/p\u003e\n"]]],[],null,["You can use Google Apps Script to write a custom function, then use it in\nGoogle Sheets just like a built-in function.\n\nThe following quickstart sample creates a custom function that calculates the\nsale price of discounted items. The sale price is formatted as US dollars.\n\nObjectives\n\n- Set up the script.\n- Run the script.\n\nPrerequisites\n\nTo use this sample, you need the following prerequisites:\n\n- A Google Account (Google Workspace accounts might require administrator approval).\n- A web browser with access to the internet.\n\nSet up the script\n\n1. Create a [new\n spreadsheet](https://sheets.google.com/create).\n2. From within your new spreadsheet, select the menu item **Extensions** \\\u003e **Apps Script**.\n3. Delete any code in the script editor and paste in the code below. Then\n click Save .\n\n ```scilab\n /**\n * Calculates the sale price of a value at a given discount.\n * The sale price is formatted as US dollars.\n *\n * @param {number} input The value to discount.\n * @param {number} discount The discount to apply, such as .5 or 50%.\n * @return The sale price formatted as USD.\n * @customfunction\n */\n function salePrice(input, discount) {\n let price = input - (input * discount);\n let dollarUS = Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n });\n return dollarUS.format(price);\n }\n ```\n\nRun the script\n\n1. Switch back to your spreadsheet.\n2. In a cell, enter `=salePrice(100,.2)`. The first parameter represents the original price and the second parameter represents the discount percentage. If you're in a location that uses decimal commas, you might need to enter `=salePrice(100;0,2)` instead.\n\nThe formula that you enter in the cell runs the function in the\nscript you created in the previous section. The function results in a sale\nprice of `$80.00`.\n\nNext steps\n\nTo continue learning about how to extend Sheets with\nApps Script, take a\nlook at the following resources:\n\n- [Spreadsheet custom functions](/apps-script/execution_custom_functions)\n- [Custom menus in Google Workspace](/apps-script/guides/menus)\n- [Extend Google Sheets](/apps-script/guides/sheets)"]]