Could I use the code here Arduino Tachometer - Software | PyroElectro - News, Projects & Tutorials for the IR reflective sensor?
Using delay (400) to slow down the display updates is bad practice and will disable your interrupts. You need to update the display following the example of blink without delay.
Using the moving average is good.
The ISR and the determination of rpm from the interval between pulses is good, and may be the best for you, but once you are up and running, I would explore the alternative methods for a tachometer where the ISR is count++ and you sample for either a fixed period of time, or for a fixed number of counts. The most accurate results may depend upon the rpm and your sensitivity to missing a pulse if you have a poor signal. If the goal of this project is some sort of alarm if the fan is not turning, then the accurracy may not be that important, but the response time to shut something else off may be a consideration in choice of the ISR and averaging period.
If you count the number of pulses in a fixed period of time (e.g. 500ms), you can update the display at same time you calculate the rpm.