Improve first-run and channel setup for non-technical users: detect newer Gemini key formats, pin Node 22.22.3, add Control Panel Telegram approve flow, and keep channels/models when config is rewritten. Persist uclaw wizard state via uclaw-meta.json so restarts skip language/persona prompts. Co-authored-by: Cursor <cursoragent@cursor.com>
102 lines
2.5 KiB
Markdown
102 lines
2.5 KiB
Markdown
---
|
|
name: excel-helper
|
|
description: "Spreadsheet helper - formulas, pivot tables, charts, data cleaning, macros"
|
|
metadata: { "openclaw": { "emoji": "📊" } }
|
|
---
|
|
|
|
# Spreadsheet Helper
|
|
|
|
Data processing and analysis for Excel, Google Sheets and Numbers.
|
|
|
|
## What it does
|
|
|
|
- **Formulas**: lookups, conditional sums, aggregation, statistics
|
|
- **Pivot tables**: fast summaries, cross-tabs, grouping
|
|
- **Charts**: column, line, pie, combo — and which one to pick
|
|
- **Data cleaning**: dedupe, fill gaps, normalise formats
|
|
- **Macros**: recording and writing VBA
|
|
|
|
## Formula patterns
|
|
|
|
### Aggregation
|
|
```excel
|
|
=SUMIFS(B:B, A:A, ">="&DATE(2026,1,1)) -- conditional sum
|
|
=COUNTIF(B:B, ">100") -- conditional count
|
|
=AVERAGEIF(C:C, "Singapore", D:D) -- conditional average
|
|
```
|
|
|
|
### Lookups
|
|
```excel
|
|
=VLOOKUP(E2, Source!A:C, 3, FALSE) -- vertical lookup
|
|
=INDEX(B:B, MATCH(D2, A:A, 0)) -- reverse lookup
|
|
=XLOOKUP(key, lookup_range, return_range) -- modern lookup, prefer this
|
|
```
|
|
|
|
### Dates
|
|
```excel
|
|
=TEXT(A2, "DD/MM/YYYY") -- SG date format
|
|
=EDATE(B2, 3) -- add/subtract months
|
|
=WEEKDAY(C2, 2) -- day of week, Mon = 1
|
|
```
|
|
|
|
## Picking a chart
|
|
|
|
| What you're showing | Chart |
|
|
|---|---|
|
|
| Change over time | Line |
|
|
| Comparing sizes | Column |
|
|
| Parts of a whole | Pie (only if ≤ 5 slices) |
|
|
| Relationship between two variables | Scatter |
|
|
| Several metrics at once | Radar |
|
|
|
|
## Pivot table basics
|
|
|
|
1. Drag fields into Rows / Columns / Values / Filters
|
|
2. Value summary: sum, count, average
|
|
3. Value display: % of total, running total
|
|
4. Slicers for interactive filtering
|
|
|
|
## Example prompts
|
|
|
|
```
|
|
Write me a formula that totals monthly sales broken down by region
|
|
```
|
|
|
|
```
|
|
This customer list has lots of duplicates — give me cleaning steps
|
|
```
|
|
|
|
```
|
|
Turn this data into a chart showing the quarter-on-quarter trend
|
|
```
|
|
|
|
## A macro to start from
|
|
|
|
```vba
|
|
Sub HighlightLargeValues()
|
|
For Each cell In Selection
|
|
If cell.Value > 100 Then
|
|
cell.Interior.Color = RGB(255, 0, 0)
|
|
End If
|
|
Next
|
|
End Sub
|
|
```
|
|
|
|
## Good for
|
|
|
|
- Summary reports
|
|
- Reconciliation
|
|
- Sales analysis
|
|
- Inventory tracking
|
|
- Survey results
|
|
|
|
## Not for
|
|
|
|
- Long-form documents (use word-writer)
|
|
- Slide decks (use ppt-designer)
|
|
|
|
## Accuracy
|
|
|
|
When numbers matter: show the working, state where each figure came from, and say
|
|
so plainly when a result is uncertain rather than guessing.
|