Google Sheets Analyze Data
When to Use
- User asks to "analyze this spreadsheet" or "summarize the numbers"
- User wants a "pivot table" or "chart"
- User asks to "highlight" or "format" data
- User wants "totals by category" or any aggregation
- User asks to set up "dropdowns" or "validation"
Tools
Discovery
- GOOGLESHEETS_SEARCH_SPREADSHEETS — Find spreadsheets by name
- GOOGLESHEETS_GET_SPREADSHEET_INFO — Get spreadsheet metadata
- GOOGLESHEETS_GET_SHEET_NAMES — List sheets within a spreadsheet
- GOOGLESHEETS_VALUES_GET — Read cell values and structure
- GOOGLESHEETS_BATCH_GET — Read multiple ranges at once
Analysis
- GOOGLESHEETS_EXECUTE_SQL — Run SQL queries against sheet data
- SELECT, WHERE, GROUP BY, ORDER BY, SUM, AVG, COUNT, etc.
Visualization
- GOOGLESHEETS_CUSTOM_CREATE_PIVOT_TABLE — Summarize data by dimensions
- rows: Grouping columns (e.g., ["Region", "Product"])
- values: Aggregations [{column: "Sales", aggregation: "SUM"}]
- GOOGLESHEETS_CUSTOM_CREATE_CHART — Create visual charts
- Types: BAR, LINE, PIE, COLUMN, AREA, SCATTER, COMBO
Formatting
- GOOGLESHEETS_CUSTOM_ADD_CONDITIONAL_FORMAT — Visual rules
- value_based: >, <, =, contains, between
- color_scale: Gradient across range
- custom_formula: Advanced rules
- GOOGLESHEETS_CUSTOM_SET_DATA_VALIDATION — Input restrictions
- dropdown_list: List of allowed values
- dropdown_range: Values from another range
- number: Min/max constraints
- date: Date restrictions
- custom_formula: Advanced validation
Sharing
- GOOGLESHEETS_CUSTOM_SHARE_SPREADSHEET — Share with users
- recipients: Email list
- role: reader, writer, commenter
Workflow
Step 1: Understand the Data (CRITICAL)
Before any analysis, read the data:
GOOGLESHEETS_SEARCH_SPREADSHEETS(query="sales data")
GOOGLESHEETS_GET_SHEET_NAMES(spreadsheet_id="...")
GOOGLESHEETS_VALUES_GET(
spreadsheet_id="...",
range="Sheet1!A1:Z5"
)
Study the results to understand:
- Column headers and their meaning
- Data types (numbers, dates, text, categories)
- Number of rows (to gauge dataset size)
- Any patterns or anomalies
Step 2: Choose the Right Analysis Tool
| Need |
Tool |
| Simple aggregation (totals, averages) |
EXECUTE_SQL |
| Cross-dimensional summary |
CUSTOM_CREATE_PIVOT_TABLE |
| Visual patterns and trends |
CUSTOM_CREATE_CHART |
| Highlight specific values |
CUSTOM_ADD_CONDITIONAL_FORMAT |
| Restrict input options |
CUSTOM_SET_DATA_VALIDATION |
Step 3: Execute Analysis
SQL Query Example:
GOOGLESHEETS_EXECUTE_SQL(
spreadsheet_id="...",
query="SELECT Category, SUM(Amount), AVG(Amount) FROM Sheet1 GROUP BY Category ORDER BY SUM(Amount) DESC"
)
Pivot Table Example:
GOOGLESHEETS_CUSTOM_CREATE_PIVOT_TABLE(
spreadsheet_id="...",
source_sheet="Sales",
rows=["Region", "Product"],
values=[
{"column": "Revenue", "aggregation": "SUM"},
{"column": "Orders", "aggregation": "COUNT"}
]
)
Chart Example:
GOOGLESHEETS_CUSTOM_CREATE_CHART(
spreadsheet_id="...",
sheet_name="Sales",
chart_type="BAR",
title="Revenue by Region"
)
Step 4: Apply Visual Formatting
Conditional formatting:
GOOGLESHEETS_CUSTOM_ADD_CONDITIONAL_FORMAT(
spreadsheet_id="...",
sheet_name="Sales",
range="D2:D100",
condition="greater_than",
condition_values=["1000"],
background_color="#4CAF50"
)
Data validation (dropdowns):
GOOGLESHEETS_CUSTOM_SET_DATA_VALIDATION(
spreadsheet_id="...",
sheet_name="Tracker",
range="B2:B100",
validation_type="dropdown_list",
values=["High", "Medium", "Low"]
)
Step 5: Present Insights
Don't just return raw data — interpret it:
- "Total revenue is $X, with Region Y contributing 45%"
- "The top 3 categories account for 80% of sales"
- "There's a clear upward trend from Q1 to Q3"
Then offer: "Want me to create a chart to visualize this?"
Step 6: Range Notation Reference
- Basic:
Sheet1!A1:B10
- Entire column:
Sheet1!A:A
- Entire row:
Sheet1!1:1
- Names with spaces:
'My Sheet'!A1:B10
- Always include sheet name in multi-sheet spreadsheets
Important Rules
- Understand data first — Always read structure before analyzing
- Choose right tool — SQL for queries, pivot for summaries, charts for visuals
- Interpret results — Present insights, not just raw numbers
- Offer visualizations — After analysis, suggest charts when appropriate
- Respect data — Don't modify source data unless asked; create new sheets for analysis
- Destructive actions need consent — Deleting sheets, clearing ranges, overwriting data
1---2name: googlesheets-analyze-data3description: Analyze spreadsheet data intelligently - understand structure, choose right analysis tool (SQL/pivot/chart), apply formatting, present insights.4---56# Google Sheets Analyze Data78## When to Use9- User asks to "analyze this spreadsheet" or "summarize the numbers"10- User wants a "pivot table" or "chart"11- User asks to "highlight" or "format" data12- User wants "totals by category" or any aggregation13- User asks to set up "dropdowns" or "validation"1415## Tools1617### Discovery18- **GOOGLESHEETS_SEARCH_SPREADSHEETS** — Find spreadsheets by name19- **GOOGLESHEETS_GET_SPREADSHEET_INFO** — Get spreadsheet metadata20- **GOOGLESHEETS_GET_SHEET_NAMES** — List sheets within a spreadsheet21- **GOOGLESHEETS_VALUES_GET** — Read cell values and structure22- **GOOGLESHEETS_BATCH_GET** — Read multiple ranges at once2324### Analysis25- **GOOGLESHEETS_EXECUTE_SQL** — Run SQL queries against sheet data26 - SELECT, WHERE, GROUP BY, ORDER BY, SUM, AVG, COUNT, etc.2728### Visualization29- **GOOGLESHEETS_CUSTOM_CREATE_PIVOT_TABLE** — Summarize data by dimensions30 - rows: Grouping columns (e.g., ["Region", "Product"])31 - values: Aggregations [{column: "Sales", aggregation: "SUM"}]32- **GOOGLESHEETS_CUSTOM_CREATE_CHART** — Create visual charts33 - Types: BAR, LINE, PIE, COLUMN, AREA, SCATTER, COMBO3435### Formatting36- **GOOGLESHEETS_CUSTOM_ADD_CONDITIONAL_FORMAT** — Visual rules37 - value_based: >, <, =, contains, between38 - color_scale: Gradient across range39 - custom_formula: Advanced rules40- **GOOGLESHEETS_CUSTOM_SET_DATA_VALIDATION** — Input restrictions41 - dropdown_list: List of allowed values42 - dropdown_range: Values from another range43 - number: Min/max constraints44 - date: Date restrictions45 - custom_formula: Advanced validation4647### Sharing48- **GOOGLESHEETS_CUSTOM_SHARE_SPREADSHEET** — Share with users49 - recipients: Email list50 - role: reader, writer, commenter5152## Workflow5354### Step 1: Understand the Data (CRITICAL)5556Before any analysis, read the data:5758```59GOOGLESHEETS_SEARCH_SPREADSHEETS(query="sales data")60```61```62GOOGLESHEETS_GET_SHEET_NAMES(spreadsheet_id="...")63```64```65GOOGLESHEETS_VALUES_GET(66 spreadsheet_id="...",67 range="Sheet1!A1:Z5"68)69```7071Study the results to understand:72- Column headers and their meaning73- Data types (numbers, dates, text, categories)74- Number of rows (to gauge dataset size)75- Any patterns or anomalies7677### Step 2: Choose the Right Analysis Tool7879| Need | Tool |80|------|------|81| Simple aggregation (totals, averages) | EXECUTE_SQL |82| Cross-dimensional summary | CUSTOM_CREATE_PIVOT_TABLE |83| Visual patterns and trends | CUSTOM_CREATE_CHART |84| Highlight specific values | CUSTOM_ADD_CONDITIONAL_FORMAT |85| Restrict input options | CUSTOM_SET_DATA_VALIDATION |8687### Step 3: Execute Analysis8889**SQL Query Example:**90```91GOOGLESHEETS_EXECUTE_SQL(92 spreadsheet_id="...",93 query="SELECT Category, SUM(Amount), AVG(Amount) FROM Sheet1 GROUP BY Category ORDER BY SUM(Amount) DESC"94)95```9697**Pivot Table Example:**98```99GOOGLESHEETS_CUSTOM_CREATE_PIVOT_TABLE(100 spreadsheet_id="...",101 source_sheet="Sales",102 rows=["Region", "Product"],103 values=[104 {"column": "Revenue", "aggregation": "SUM"},105 {"column": "Orders", "aggregation": "COUNT"}106 ]107)108```109110**Chart Example:**111```112GOOGLESHEETS_CUSTOM_CREATE_CHART(113 spreadsheet_id="...",114 sheet_name="Sales",115 chart_type="BAR",116 title="Revenue by Region"117)118```119120### Step 4: Apply Visual Formatting121122**Conditional formatting:**123```124GOOGLESHEETS_CUSTOM_ADD_CONDITIONAL_FORMAT(125 spreadsheet_id="...",126 sheet_name="Sales",127 range="D2:D100",128 condition="greater_than",129 condition_values=["1000"],130 background_color="#4CAF50"131)132```133134**Data validation (dropdowns):**135```136GOOGLESHEETS_CUSTOM_SET_DATA_VALIDATION(137 spreadsheet_id="...",138 sheet_name="Tracker",139 range="B2:B100",140 validation_type="dropdown_list",141 values=["High", "Medium", "Low"]142)143```144145### Step 5: Present Insights146147Don't just return raw data — interpret it:148- "Total revenue is $X, with Region Y contributing 45%"149- "The top 3 categories account for 80% of sales"150- "There's a clear upward trend from Q1 to Q3"151152Then offer: "Want me to create a chart to visualize this?"153154### Step 6: Range Notation Reference155156- Basic: `Sheet1!A1:B10`157- Entire column: `Sheet1!A:A`158- Entire row: `Sheet1!1:1`159- Names with spaces: `'My Sheet'!A1:B10`160- Always include sheet name in multi-sheet spreadsheets161162## Important Rules1631. **Understand data first** — Always read structure before analyzing1642. **Choose right tool** — SQL for queries, pivot for summaries, charts for visuals1653. **Interpret results** — Present insights, not just raw numbers1664. **Offer visualizations** — After analysis, suggest charts when appropriate1675. **Respect data** — Don't modify source data unless asked; create new sheets for analysis1686. **Destructive actions need consent** — Deleting sheets, clearing ranges, overwriting data