Temperature conversion in spreadsheets is one of those things that seems simple until your numbers come out wrong and you spend an hour debugging.
The basic formulas are straightforward, but the real headaches come from places you wouldn't expect. I'm going to walk through the actual conversion math, the Excel functions that handle it, and then talk about what actually goes wrong when people try to apply this to real work. There are three conversions people actually need. Fahrenheit to Celsius multiplies by five-ninths and subtracts thirty-two. Celsius to Fahrenheit does the opposite — multiply by nine-fifths, add thirty-two. Kelvin is just Celsius plus 273.15, which is almost trivial compared to the others. In Excel, you can write this as a simple formula. If cell A1 has your temperature in Fahrenheit, the Celsius conversion is:
=(A1-32)*5/9 That's it. No special function required. The formula does exactly what the math says it should.
Building reusable conversion columns
When I was working HVAC load calculations last winter, I had a dataset with about two thousand temperature readings scattered across different columns — some in Fahrenheit, some in Celsius, some that were already marked as Kelvin because whoever built the original spreadsheet didn't think about consistency. I needed everything in a single unit to run the calculations. The quick approach is to create a lookup column next to each data column that flags the source unit, then use a nested IF statement or SWITCH to apply the right formula. Here's what a typical layout looks like: =IF(B2="F", (A2-32)*5/9, IF(B2="C", A2, A2+273.15))
Get the Full Details

This returns Celsius if the unit flag is F, returns the value as-is if it's already Celsius, and converts Kelvin to Celsius if needed. One row. Drag it down two thousand rows. Works fine. But here's where people run into trouble. If any of your source cells contain text instead of numbers — and they almost always do in datasets you inherit — Excel returns a #VALUE! error and the entire downstream calculation chain breaks. I had to add an ISNUMBER check before any conversion to catch that early: =IF(ISNUMBER(A2), IF(B2="F", (A2-32)*5/9, IF(B2="C", A2, A2+273.15)), "Check unit")
The trap with signed temperatures
A common mistake is forgetting that subtracting 32 from a negative Fahrenheit temperature doesn't just make it more negative — it changes the arithmetic in ways that trip people up. Let me give you a concrete example. If you have -40 degrees, that's the point where Fahrenheit and Celsius are identical. If you mess up the formula order and divide before subtracting, you get -46.67 instead of -40. The parentheses matter. Always put (A1-32) together before multiplying by 5/9. I've seen people write =A1-32*5/9 and not realize Excel applies the multiplication before the subtraction because of operator precedence. The result is completely wrong and there's no visible error — just garbage numbers that look plausible enough to slip through a spot check.
Using Excel's built-in converter for bulk data
Excel has a built-in CONVERT function that handles this without any formula gymnastics: =CONVERT(A1,"F","C") =CONVERT(A1,"C","K")

The unit codes are "F" for Fahrenheit, "C" for Celsius, and "K" for Kelvin. This is cleaner for simple conversions because it eliminates the arithmetic entirely. The downside is that CONVERT throws a #VALUE! error if the input isn't a valid number, and it doesn't accept text representations of numbers. So if your source data has temperatures stored as text — and it often does when pulled from CSV exports or copied from PDFs — you're back to writing manual formulas or cleaning the data first. The CONVERT function also doesn't do partial conversions. There's no way to pass a unit flag column and have Excel decide which conversion to apply. You'd need a separate formula for each direction, or wrap it in an IF statement just like the manual approach.
When Excel isn't the right tool
For most daily work, the manual formula or CONVERT function covers it. But if you're processing thousands of readings from multiple sensor networks with inconsistent units, mixed precision, and occasional missing values, you'll eventually hit the limits of what Excel can handle cleanly. I've moved similar projects to Python with pandas in cases where the conversion logic needed to branch on sensor type, calibration date, or geographic zone. Excel formulas work fine until they don't, and by then the data is already locked into a workbook format that's hard to audit. If you stick with Excel, at minimum put your conversion formulas on a separate sheet from your raw data and keep a documented log of which cells correspond to which unit. When the data eventually breaks — because it will — you want to be able to trace it back in five minutes, not five hours.