Analog input voltage variations created by different USB power sources?

Hello,
Using A0 to read the voltage of a lithium cell led to a strange symptom when I changed the power supply of the Arduino from my desktop PC to my Surface 3 tablet. The desktop powered measurements seemed normal in the right range for the cell. The tablet powered measurements were 2-3 volts off the A0 input even without the leads touching anything.
Is there a difference powering the Arduino with different USB ports?
Thanks,

Put a meter between 5V & Gnd on the power header, see what they measure.
I think USB is spec'ed at 5V +/- 10%, so 4.75 to 5.25 is legit.

If you resistor-divided down the voltage and used the Internal Aref of 1.1V vs the internal VCC setting, you might get more consistent results.

Last night I went back to the PC and put a pot between the 5v pin and A0 and could control readings between -0.05 and 4.95 which seems back to normal for the PC.
I'll try the Surface 3 port again and see.
While I understand dividing the voltage with resistors (did an experiment which could measure from 0-55v, for example), I am still a noob and really don't understand the use of Aref and VCC.
Thanks for your help!

See if this figure helps. There is a mux to select from several sources, along with a switch to let the mux output get passed along.

With the on-board 3.3V or internal 1.1V for the ADC reference, the readings should be independent of Vcc variations. See analogReference().