The formula is quite easily derived under the assumption of linearity and with some basic logarithm juggling.
If the transducer is assumed linear, these two ratios should be equal:
SPL_linear(1 V) / SPL_linear(94 dB) = V(1 V) / V(94 dB)
IOW, increasing voltage input by a factor X will increase sound output by the same factor. I hope we can agree on that. This simplification generally holds very well in the world in hi-fi, as any deviation equates to nonlinear distortion.
Now let's convert the whole shebang to dB by applying 20*log10() on both sides, while exploiting the property that log(a/b) = log(a) - log(b):
SPL(1 V) - SPL (94 dB) = 20log(V(1 V) / V(94 dB))
Some minor reshuffling gives:
SPL(1 V) = SPL (94 dB) + 20log(V(1 V) / V(94 dB)) = 94 dB SPL + 20log(1 V / V(94 dB))
That should look familiar from above.
If you want millivolts instead,
94 dB SPL + 20log(1 V / V(94 dB)) = 94 dB SPL + 20log((1 000 mV/mV) / (V(94 dB) [mV]/mV))
= 94 dB SPL + 20log(1 000) - 20log(V(94 dB) [mV]/mV)
= 94 dB SPL + 60 dB - 20log(V(94 dB) [mV]/mV)
= SPL(1 V)
Ta-dah!
The hardest part is formally keeping your units straight, as logarithms obviously work on dimensionless numbers only, so you have to expand fractions as required:
log(a[unit]/b[unit]) = log(a[unit]/unit / (b[unit]/unit)) = log(a[unit]/unit) - log(b[unit]/unit)
For those wondering why you can write "94 dB SPL + 60 dB" when it may have been drilled into them that you cannot add disparate units, let's inspect what that actually means in the linear world:
94 dB SPL = 1 Pa (Pascal)
+ 60 dB = * 1000
So 94 dB SPL + 60 dB = 1 Pa * 1000.
Plain dBs are just a ratio. Only those with a suffix have ties to actual physical units.