You need a so called "analog front-end".
This is basically something that can:
a) shift a signal (offset)
b) attenuate/amplify the amplitude
c) match impedances of source and sink
d) filter out unnecessary components.
As for examples:
a) sine that is 3V centred can be offset by -1V to be 2V centred.
b) 1 V square wave can be amplified twice to become a 2V square wave.
c) if the source of the signal is a tiny potentiometer and you need to control a 100W DC motor with that then even though voltages ranges may match, direct connection won't work without something that can accept a signal of kohm input resistance and can output a mohm signal for powering DC motor. BTW, ADCs usually need <1kohm signals and many sensors do not offer less than 10k output resistance so even though the span is smaller - same rules apply.
d) a 0V:5V 1kHz sine fed to the ~1sps ADC returns junk. You need to get rid of everything that sticks well below 0.5Hz to be able to get a reasonable 2.5V on the output.
Now a simplest analog front end can be made with passives but unfortunately it is very limiting w.r.t the gain (only attenuation possible) and matching impedances.
I suggest you should get a rail2rail output opamp (like MCP6004) and study
differential amplifier. You can make any offset, any gain and any reasonable input and output impedance with that configuration, it is only a matter of picking right resistor values.