Earnings Per Share - Computation of Basic and Diluted Earnings Per Share (Details) - USD ($) $ / shares in Units, shares in Millions, $ in Millions |
3 Months Ended | 12 Months Ended | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Dec. 31, 2019 |
Sep. 30, 2019 |
Jun. 30, 2019 |
Mar. 31, 2019 |
Dec. 31, 2018 |
Sep. 30, 2018 |
Jun. 30, 2018 |
Mar. 31, 2018 |
Dec. 31, 2019 |
Dec. 31, 2018 |
Dec. 31, 2017 |
|
| Earnings Per Share [Abstract] | |||||||||||
| Net income | $ 1,099 | $ 1,495 | $ 1,443 | $ 730 | $ 1,019 | $ 1,322 | $ 1,036 | $ 557 | $ 4,767 | $ 3,935 | $ 3,205 |
| Basic weighted average shares outstanding (shares) | 651 | 691 | 720 | ||||||||
| Dilutive effect of share-based awards (shares) | 2 | 3 | 3 | ||||||||
| Diluted weighted average shares outstanding (shares) | 653 | 694 | 723 | ||||||||
| Basic earnings per share (usd per share) | $ 1.71 | $ 2.32 | $ 2.22 | $ 1.10 | $ 1.50 | $ 1.93 | $ 1.49 | $ 0.79 | $ 7.32 | $ 5.69 | $ 4.45 |
| Diluted earnings per share (usd per share) | $ 1.71 | $ 2.31 | $ 2.21 | $ 1.09 | $ 1.49 | $ 1.92 | $ 1.49 | $ 0.79 | $ 7.30 | $ 5.67 | $ 4.43 |