Students will be able to reference, import and manipulate external data in spreadsheet functions, using correct cell‑referencing (absolute, relative and mixed), named ranges, the order of operations, and basic data‑manipulation tools (sort, filter, advanced filter, search). All skills are mapped to the Cambridge IGCSE ICT 0417 syllabus (sections 20.1, 20.2, 20.3).
An external data source is any set of data stored outside the current worksheet. Typical sources are:
Linking to external sources ensures the spreadsheet always works with the latest data and avoids duplication.
| Reference type | Form | Effect when copied |
|---|---|---|
| Relative | B2 | Both column and row change relative to the new position. |
| Absolute | $B$2 | Neither column nor row changes. |
| Mixed (column locked) | $B2 | Column stays B, row changes. |
| Mixed (row locked) | B$2 | Row stays 2, column changes. |
When linking to an external range you almost always want an absolute reference so the link remains correct if the formula is moved or copied:
=SUM([Budget.xlsx]Annual!$B$2:$B$12)
Sales2023) and click OK.Use the name in a formula:
=SUM(Sales2023)
Spreadsheets follow the standard mathematical hierarchy:
Use parentheses to force the required sequence, especially when several functions are combined.
=AVERAGEIF(Sales2023,">=2024-01-01",Sales2023) * 0.1
Here the AVERAGEIF is evaluated first, then the result is multiplied by 0.1.
| Function | Purpose | Example (external source) |
|---|---|---|
| SUM | Add numbers | =SUM([Budget.xlsx]Annual!$B$2:$B$12) |
| SUMIFS | Conditional total (multiple criteria) | =SUMIFS([Sales.xlsx]Data!$D:$D, [Sales.xlsx]Data!$B:$B, "East", [Sales.xlsx]Data!$C:$C, ">=2024-01-01") |
| COUNTIFS | Conditional count (multiple criteria) | =COUNTIFS([Orders.xlsx]Log!$E:$E, "Completed", [Orders.xlsx]Log!$F:$F, "<10") |
| VLOOKUP | Search a table for a matching value | =VLOOKUP(A2, [Products.xlsx]Sheet1!$A$1:$D$100, 3, FALSE) |
| INDEX / MATCH | Flexible two‑way lookup | =INDEX([Employees.xlsx]Data!$B$2:$B$500, MATCH(D2, [Employees.xlsx]Data!$A$2:$A$500, 0)) |
| AVERAGEIF / AVERAGEIFS | Average with one or more conditions | =AVERAGEIFS([Sales.xlsx]Data!$D:$D, [Sales.xlsx]Data!$B:$B, "North", [Sales.xlsx]Data!$C:$C, ">=2024-01-01") |
| GETPIVOTDATA | Extract a value from a pivot table | =GETPIVOTDATA("Total Sales", '[Report.xlsx]Pivot'!$A$3) |
| WEBSERVICE | Retrieve data from a URL (web API) | =WEBSERVICE("https://api.exchangerate.host/latest?base=USD") |
| FILTER (Google Sheets) | Return rows that meet criteria | =FILTER(ImportRange("https://docs.google.com/spreadsheets/d/…","Sheet1!A2:D"), C:C="East") |
WEBSERVICE function directly in a cell; then parse with FILTERXML (XML) or a JSON add‑in.Sorting helps you analyse data in a logical order.
Two types of filter are required by the syllabus.
VLOOKUP – simple vertical search.HLOOKUP – horizontal search (less common in IGCSE).INDEX / MATCH – two‑way lookup; more flexible when the lookup column is not the first column.FILTER (Google Sheets) – returns an array of rows that meet a condition.Example – find the department for an employee ID entered in D2:
=INDEX([Employees.xlsx]Data!$B$2:$B$500, MATCH(D2, [Employees.xlsx]Data!$A$2:$A$500, 0))
After analysis, the spreadsheet must be formatted for clear presentation and printing.
Below is a simple checklist that students can copy onto a “Print Setup” sheet:
□ Set column widths □ Apply number formats (currency, date, %) □ Add bold headings & colour‑coded totals □ Define Print Area □ Insert Header (File name) and Footer (Page 1 of n, date) □ Choose Portrait/Landscape □ Set scaling (Fit to 1 page wide) □ Review Print Preview
#REF!. Fix the path by editing the formula or using Edit Links → Change Source.$ locks).#REF! errors.IFERROR(...,"") or IFNA(...,"Not found") to produce clean output for the exam.| Error | Cause | Solution |
|---|---|---|
| #REF! | Source file closed, moved, renamed, or path broken. | Open the source file, correct the path via Edit Links → Change Source, or re‑create the reference. |
| #VALUE! | Incompatible data type (e.g., text in a numeric range) or improper parsing of web‑service result. | Clean the source data; use VALUE() or NUMBERVALUE() to coerce text to numbers. |
| #NAME? | Misspelled function name or missing add‑in (e.g., IMPORTJSON). | Check spelling; enable or install the required add‑in. |
| #N/A | Lookup value not found. | Verify the key exists; use IFERROR(...,"Not found") to handle gracefully. |
| #SPILL! | Dynamic array result cannot fit because of blocked cells. | Clear the cells below the formula or move the formula to an empty area. |
Sales2023.xlsx and Targets.xlsx. In Targets.xlsx enter =SUM([Sales2023.xlsx]Sheet1!$B$2:$B$31). Convert the range to a named range Sales2023 in the source workbook and repeat the calculation using =SUM(Sales2023). Apply currency formatting and set the print area to show only the total.Employees.csv via Data → Get Data → From Text/CSV. Define the named range EmpData. In a new sheet, enter an employee ID in A2 and use =VLOOKUP(A2, EmpData, 3, FALSE) to return the department. Before the lookup, sort the imported list by “Surname” (Data → Sort → add level “First name”).Inventory.accdb (Data → Get Data → From Access). Load the Products table. Calculate the average stock for “Electronics” with =AVERAGEIFS(Products!$D:$D, Products!$C:$C, "Electronics"). Then apply an Advanced Filter to display only rows where stock < 10 and print the filtered view.=WEBSERVICE("https://api.exchangerate.host/latest?base=USD"). Extract the EUR rate with =FILTERXML(B2,"//EUR"). Convert the amount with =A2*B2 and format column C as Euro currency. Wrap the conversion in =IFERROR(A2*B2, "Rate unavailable").=SUMIFS(Sales!$D:$D, Sales!$B:$B, "North", Sales!$C:$C, ">=2024-01-01", Sales!$C:$C, "<=2024-12-31"). Apply a filter to show only the “North” rows, then print the summary table.External data sources dramatically increase the power and relevance of spreadsheets. Mastery of:
SUMIFS and COUNTIFS)IFERRORThese skills satisfy the Cambridge IGCSE ICT 0417 requirements and equip students for real‑world spreadsheet tasks.
Create an account or Login to take a Quiz
Log in to suggest improvements to this note.
Your generous donation helps us continue providing free Cambridge IGCSE & A-Level resources, past papers, syllabus notes, revision questions, and high-quality online tutoring to students across Kenya.