agentsclimarketplace

Run2 excel index match

Skill cxcscmu/SkillLearnBench/skills/b2-self-feedback-claude-opus-4-6/weighted-gdp-calculation/run2_excel-index-match

[COLM'26] SkillLearnBench is the first benchmark for evaluating continual learning methods that automatically generate agent skills.

Install
npx -y skills add cxcscmu/SkillLearnBench --skill run2_excel-index-match

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

INDEX&MATCH for two-condition lookups in Excel, with correct absolute/mixed references for fill-down/fill-right

SKILL.md

1.7 KB, as published. Nobody here has run it

INDEX & MATCH Two-Condition Lookup

Formula Pattern

=INDEX(data_range, MATCH(row_criteria, row_lookup_range, 0), MATCH(col_criteria, col_lookup_range, 0))

Two-Condition Lookup (series code + year)

Given:

  • Data range: Data!$H$21:$M$40 (all values, absolute)
  • Row lookup: Data!$B$21:$B$40 (series codes, absolute)
  • Col lookup: Data!$H$4:$M$4 (years, absolute)
  • Row criteria: $D12 (series code in Task sheet - lock column, allow row to change)
  • Col criteria: H$9 (year in Task sheet - lock row, allow column to change)
=INDEX(Data!$H$21:$M$40, MATCH($D12, Data!$B$21:$B$40, 0), MATCH(H$9, Data!$H$4:$M$4, 0))

Reference Locking Strategy

ReferenceLockWhy
$D12Column lockedSeries code always in col D; row changes per country
H$9Row lockedYear always in row 9; column changes per year
Data rangesFully absoluteNever changes

openpyxl Implementation

from openpyxl import load_workbook
wb = load_workbook('file.xlsx')
ws = wb['Task']

# Fill H12:L17 (and similar ranges) with lookup formulas
for row in range(12, 18):
    for col in ['H', 'I', 'J', 'K', 'L']:
        ws[f'{col}{row}'] = f'=INDEX(Data!$H$21:$M$40,MATCH($D{row},Data!$B$21:$B$40,0),MATCH({col}$9,Data!$H$4:$M$4,0))'

Important Notes

  • Skip gap rows between sections (e.g., row 18, 25 if ranges are 12-17, 19-24, 26-31)
  • MATCH with 0 = exact match; returns #N/A if not found
  • Verify series codes in Task!D column exactly match Data!B column

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.