# How to average if another cell is not blank in Excel

Use AVERAGEIFS with "<>" as the condition: `=AVERAGEIFS(C2:C8,B2:B8,"<>")`.

**Excel:** `=AVERAGEIFS(C2:C8,B2:B8,"<>")` (Every current version)

**Google Sheets:** the same formula works.

## Example

Sample data (row 1 is the header):

| A | B | C | D | E |
| --- | --- | --- | --- | --- |
| Respondent | Completed on | Score |  | Average (completed) |
| R-01 | 2026-03-02 | 8 |  |  |
| R-02 |  | 0 |  |  |
| R-03 | 2026-03-03 | 9 |  |  |
| R-04 | 2026-03-05 | 6 |  |  |
| R-05 |  | 0 |  |  |
| R-06 | 2026-03-06 | 7 |  |  |
| R-07 | 2026-03-09 | 10 |  |  |

Formula in F1: `=AVERAGEIFS(C2:C8,B2:B8,"<>")`

Result: 8.00

## How it works

The condition `"<>"` means "not empty", so AVERAGEIFS averages only the scores on rows with a completion date. The two unfinished surveys hold a default 0 that would otherwise drag the average down.

## Other ways

- `=AVERAGEIF(B2:B8,"<>",C2:C8)`: AVERAGEIF gives the same result; the range to average comes last.
- `=AVERAGE(C2:C8)`: The plain average. (Counts the unfinished surveys' zeros: 5.71.)

## Common mistakes

- A formula in column B that returns "" still counts as not blank for "<>". Test with `=AVERAGE(FILTER(C2:C8,B2:B8<>""))` in that case.
- If no row has a date, AVERAGEIFS returns #DIV/0!.

## Questions

**How do I average only where the cell itself is not blank?**

AVERAGE already skips blank cells: `=AVERAGE(C2:C8)`. Zeros are counted, though.

**How do I add another condition?**

Add a pair: `=AVERAGEIFS(C2:C8,B2:B8,"<>",C2:C8,">=5")`.

Every formula and result on this page was checked by running it in the Spreadsheet Practice formula engine on 2026-10-30.

Source: https://spreadsheetpractice.com/formulas/average-if-another-cell-is-not-blank
