GPS signals 1000-1500MHz range doesn't seem to work indoors (sometimes it does) but cell phone signal 1800/900 MHz works? Can mobile phone signals penetrate solid matter like homes/offices etc?
Two factors mainly.
One is what @John Custer noted, and more specifically, the signal to noise ratio is usually close to the threshold for detection, and going indoors, unless you are by a window with LOS visibility to the satellites, you will loose likely 10-20 dB minimum, and more if you are behind concrete walls or multiple walls.
GPS receivers are designed for a detection threshold of about -127 dBm (dB with respect to a milliwatt), in a detection bandwidth that is less than a Kilohertz, closer to 100 Hz, after the spread spectrum correlation. Their margins of operation are no more than 10 to 20 dB, so as soon as you go inside you can loose it. And the signals outside are never that strong; they are above threshold if you have more of less line of sight (LOS), by the margins. The signal outside will vary some due to random effects, but not that much because with LOS, there won't be much absorption or multipath (anyway multipath gets eliminated with the correlation). That is also why they don't have much margins. The GPS satellites are about 12000 miles up, and you will get more or less LOS, or nearby strong scattering, or you just won't see the signal.
Cell or smart phones have a sensitivity of about -105 dBm, maybe -110 (one bar) at best, in a 10 KHz or so detection bandwidth. But if you are outside, within a couple miles of a tower, and not much blockage, you can receive signals 30 or 40 dB stronger (3,4 or 5 bars), so you have that much margin. So most of the time your phone is working far enough away from threshold that the scattering and multipath interference, and absorption, by trees and objects and little hills) doesn't bother you much.
The other factor is the frequency. Mobile phones are in the 1800/1900 and 800/900 MHz bands, and GPS at about 1500 MHz. Higher freqs are much worse for propagation, and the 800/900 bands, and the upcoming 600/700 bands are much better than the higher freqs. Higher freqs get absorbed much more by objects and vegetation, and do not diffract as well around objects and small hills and trees as the lower freqs which make it through easier. Most phones are multiband, and they will look for the strongest signals. The recent auctions for freqs for cellular have all been in the less than 1000 MHz bands, and the companies pay because they propagate much better. They can penetrate inside better.
There is no great solution for inside geolocation. You can set up base transmitters is die as reference points, and if enough (visibility to 3 or 4) it can work. You can buy these systems, but doing all this inside most buildings or houses is more trouble than anybody wants. I'd heard about trying to do it using TV VHF signals which you often can get inside houses (not so easy buildings), but I have not seen this in system. Anyhow, no cell provider wants to put a TV receiver in a cell phone. And since most people know where they are inside it is only really pushed by the 911 community, and nobody listens much for inside geolocation. So sometimes it works and sometimes not.