Tabellab
Data, tech, science & health

LOD and LOQ from a calibration curve in Excel

The limit of detection (LOD) is the lowest concentration a method can reliably tell apart from a blank, and the limit of quantitation (LOQ) the lowest it can report as a number with acceptable precision. From a calibration curve, the usual formulas are LOD = 3.3σ ÷ S and LOQ = 10σ ÷ S, where S is the slope and σ the standard deviation of the response. In Excel that is =3.3*STEYX(y,x)/SLOPE(y,x). In the example below, a low-level calibration with a slope of 2.089 mAU per µg/L and a residual standard deviation of 0.202 mAU gives an LOD of 0.32 µg/L and an LOQ of 0.97 µg/L.

Updated 20 Oct 2026 5 min read By Tabellab team

The LOD and LOQ formulas

The ICH Q2(R2) guideline on validating analytical procedures describes an approach based on the calibration curve:

LOD = 3.3 × σ ÷ S and LOQ = 10 × σ ÷ S

S, the slope, converts a signal into a concentration, so the limits come out in concentration units. σ is the standard deviation of the response near zero. It can be estimated from the residuals of a calibration line or from replicate blanks. The factor 3.3 is roughly 2 × 1.645, which keeps both false positives and false negatives near 5% at the LOD. The factor 10 means a result at the LOQ has a relative standard deviation of about 10%.

Step 1: fit the calibration curve

Measure standards of known concentration, ideally at the low end of the range, near the expected limits. The example uses seven standards from 0 to 10 µg/L. In Excel, with signals in C2:C8 and concentrations in B2:B8 (y first):

  • =SLOPE(C2:C8,B2:B8) gives S = 2.089 mAU per µg/L
  • =INTERCEPT(C2:C8,B2:B8) gives 1.020 mAU, the signal of a blank
  • =RSQ(C2:C8,B2:B8) gives R² = 0.9994

Check the residuals, the measured minus the predicted signal, in column D. They should scatter around 0 without a curve or a funnel shape. Plot the standards as an XY scatter chart with a linear trendline, never as a line chart, which would space the concentrations evenly.

Step 2: σ from the residual standard deviation

Excel's STEYX(known_y, known_x) returns the residual standard deviation s_y/x of the line, the typical scatter of the points around it. Here it is 0.202 mAU. Then:

LOD = 3.3 × 0.202 ÷ 2.089 = 0.32 µg/L and LOQ = 10 × 0.202 ÷ 2.089 = 0.97 µg/L.

Use a calibration close to the limit for this. The scatter of a curve that runs up to much higher concentrations is usually larger in absolute terms, and it would overstate the LOD.

Worked example: a low-level nitrate calibration

Standard concentrations, signals, the blank standard deviation and the sample signals are yellow inputs. Slope, intercept, R², s_y/x, both pairs of limits and the sample reports are formulas.

Worked example: a low-level nitrate calibration
ABCD
1StandardConc (µg/L)Signal (mAU)Residual (mAU)
2S000.9-0.120
3S113.30.191
4S225.0-0.198
5S349.60.224
6S4613.4-0.154
7S5817.90.168
8S61021.8-0.111
9
10Slope S (mAU per µg/L)2.089
11Intercept (mAU)1.020
12R²0.9994
13σ = residual SD s_y/x (mAU)0.202
14LOD = 3.3σ ÷ S (µg/L)0.32
15LOQ = 10σ ÷ S (µg/L)0.97
16σ from 8 blanks, STDEV.S (mAU)0.293
17LOD from blanks (µg/L)0.46
18LOQ from blanks (µg/L)1.40
19
20SampleSignal (mAU)Conc (µg/L)Report
21Well A1.50.23ND
22Spring B2.60.76DNQ
23Tap C5.92.342.3
Key formulas
  • B10=SLOPE(C2:C8,B2:B8)Slope S of the calibration line
  • B13=STEYX(C2:C8,B2:B8)Residual standard deviation σ
  • B14=3.3*B13/B10Limit of detection
  • B15=10*B13/B10Limit of quantitation
  • C21=(B21-$B$11)/$B$10Concentration from the calibration line
  • D21=IF(C21<$B$14,"ND",IF(C21<$B$15,"DNQ",ROUND(C21,1)))ND, DNQ or the reported value

Fictional data for teaching. This covers the statistics only, not lab procedures or the full validation a method needs.

Alternative: σ from blank measurements

The second common estimate of σ is the standard deviation of repeated blank measurements, =STDEV.S(blanks). Eight blanks with a standard deviation of 0.2925 mAU give an LOD of 0.46 µg/L and an LOQ of 1.40 µg/L with the same slope.

The two methods rarely agree exactly. Neither is wrong: report which one you used, and confirm the chosen limit by measuring samples spiked at or near it. A calculated limit is an estimate until real samples show that it works.

Step 3: report results near the limits

Convert each sample's signal into a concentration with the calibration line, =(signal − intercept) ÷ slope, then compare it with the limits:

  • below the LOD: ND, not detected (often written as < LOD)
  • from the LOD to below the LOQ: DNQ, detected but not quantified
  • at or above the LOQ: report the number

In the example, Well A (0.23 µg/L) is ND, Spring B (0.76 µg/L) is DNQ, and Tap C is reported as 2.3 µg/L. In Excel: =IF(C21<$B$14,"ND",IF(C21<$B$15,"DNQ",ROUND(C21,1))).

Common mistakes

  • Using a calibration over a wide range. High standards inflate s_y/x. Estimate the limits from standards near the expected LOD.
  • Reading R² as a detection limit. A curve with R² = 0.999 can still have a high LOD. Only σ and the slope set the limits.
  • Mixing units. With the slope in mAU per µg/L the limits come out in µg/L. A slope per mg/L gives mg/L.
  • Using STDEV.P for a few blanks. Replicates are a sample, so use STDEV.S, and measure enough blanks to estimate σ reliably.
  • Reporting numbers below the LOQ. Results between LOD and LOQ are detected but too imprecise to quote as a value.
  • Never confirming the limit. Analyse samples spiked near the calculated LOD and LOQ to show that the method really reaches them.

Frequently asked questions

How do you calculate LOD and LOQ in Excel?

Fit the calibration with SLOPE and estimate σ with STEYX (or STDEV.S of blanks). Then LOD = 3.3 × σ ÷ slope and LOQ = 10 × σ ÷ slope, for example =3.3*STEYX(C2:C8,B2:B8)/SLOPE(C2:C8,B2:B8).

Why are the factors 3.3 and 10?

3.3 is about 2 × 1.645, which keeps false positives and false negatives near 5% each at the LOD. At 10σ the relative standard deviation is about 10%, precise enough to report a number.

What is the difference between LOD and LOQ?

The LOD is the lowest concentration that can be detected reliably. The LOQ is the lowest that can be quantified with acceptable precision. Results between them are reported as detected, not quantified.

Should σ come from the calibration residuals or from blanks?

Both are accepted approaches. The residual standard deviation of a low-level curve uses data you already have. Blank replicates measure the noise directly. State which you used and confirm the limit with real samples.

Practise it in a lab

Related guides

Reading is step one. Doing is step two.

Every guide links to a lab where you build the same calculation in an online spreadsheet and get instant feedback.

Open the lab