<?xml version="1.0" encoding="utf-8"?>
<InstanceReport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Version>1.0.0.3</Version>
  <hasSegments>false</hasSegments>
  <ReportName>Consolidated Statement of Earnings (USD $)</ReportName>
  <RoundingOption>In Millions, except Per Share data</RoundingOption>
  <Columns>
    <Column>
      <LabelColumn>false</LabelColumn>
      <Id>1</Id>
      <Labels>
        <Label Id="1" Label="3 Months Ended" />
        <Label Id="2" Label="Jun. 30, 2009" />
      </Labels>
      <CurrencySymbol>$</CurrencySymbol>
      <hasSegments>false</hasSegments>
      <hasScenarios>false</hasScenarios>
      <Segments />
      <Scenarios />
      <Units>
        <Unit>
          <UnitID>shares</UnitID>
          <UnitType>Standard</UnitType>
          <StandardMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/instance</MeasureSchema>
            <MeasureValue>shares</MeasureValue>
            <MeasureNamespace>xbrli</MeasureNamespace>
          </StandardMeasure>
          <Scale>0</Scale>
        </Unit>
        <Unit>
          <UnitID>usd</UnitID>
          <UnitType>Standard</UnitType>
          <StandardMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/iso4217</MeasureSchema>
            <MeasureValue>USD</MeasureValue>
            <MeasureNamespace>iso4217</MeasureNamespace>
          </StandardMeasure>
          <Scale>0</Scale>
        </Unit>
        <Unit>
          <UnitID>usdPerShare</UnitID>
          <UnitType>Divide</UnitType>
          <NumeratorMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/iso4217</MeasureSchema>
            <MeasureValue>USD</MeasureValue>
            <MeasureNamespace>iso4217</MeasureNamespace>
          </NumeratorMeasure>
          <DenominatorMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/instance</MeasureSchema>
            <MeasureValue>shares</MeasureValue>
            <MeasureNamespace>xbrli</MeasureNamespace>
          </DenominatorMeasure>
          <Scale>0</Scale>
        </Unit>
      </Units>
    </Column>
    <Column>
      <LabelColumn>false</LabelColumn>
      <Id>2</Id>
      <Labels>
        <Label Id="1" Label="3 Months Ended" />
        <Label Id="2" Label="Jun. 30, 2008" />
      </Labels>
      <CurrencySymbol>$</CurrencySymbol>
      <hasSegments>false</hasSegments>
      <hasScenarios>false</hasScenarios>
      <Segments />
      <Scenarios />
      <Units>
        <Unit>
          <UnitID>shares</UnitID>
          <UnitType>Standard</UnitType>
          <StandardMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/instance</MeasureSchema>
            <MeasureValue>shares</MeasureValue>
            <MeasureNamespace>xbrli</MeasureNamespace>
          </StandardMeasure>
          <Scale>0</Scale>
        </Unit>
        <Unit>
          <UnitID>usd</UnitID>
          <UnitType>Standard</UnitType>
          <StandardMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/iso4217</MeasureSchema>
            <MeasureValue>USD</MeasureValue>
            <MeasureNamespace>iso4217</MeasureNamespace>
          </StandardMeasure>
          <Scale>0</Scale>
        </Unit>
        <Unit>
          <UnitID>usdPerShare</UnitID>
          <UnitType>Divide</UnitType>
          <NumeratorMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/iso4217</MeasureSchema>
            <MeasureValue>USD</MeasureValue>
            <MeasureNamespace>iso4217</MeasureNamespace>
          </NumeratorMeasure>
          <DenominatorMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/instance</MeasureSchema>
            <MeasureValue>shares</MeasureValue>
            <MeasureNamespace>xbrli</MeasureNamespace>
          </DenominatorMeasure>
          <Scale>0</Scale>
        </Unit>
      </Units>
    </Column>
    <Column>
      <LabelColumn>false</LabelColumn>
      <Id>3</Id>
      <Labels>
        <Label Id="1" Label="6 Months Ended" />
        <Label Id="2" Label="Jun. 30, 2009" />
      </Labels>
      <CurrencySymbol>$</CurrencySymbol>
      <hasSegments>false</hasSegments>
      <hasScenarios>false</hasScenarios>
      <Segments />
      <Scenarios />
      <Units>
        <Unit>
          <UnitID>shares</UnitID>
          <UnitType>Standard</UnitType>
          <StandardMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/instance</MeasureSchema>
            <MeasureValue>shares</MeasureValue>
            <MeasureNamespace>xbrli</MeasureNamespace>
          </StandardMeasure>
          <Scale>0</Scale>
        </Unit>
        <Unit>
          <UnitID>usd</UnitID>
          <UnitType>Standard</UnitType>
          <StandardMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/iso4217</MeasureSchema>
            <MeasureValue>USD</MeasureValue>
            <MeasureNamespace>iso4217</MeasureNamespace>
          </StandardMeasure>
          <Scale>0</Scale>
        </Unit>
        <Unit>
          <UnitID>usdPerShare</UnitID>
          <UnitType>Divide</UnitType>
          <NumeratorMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/iso4217</MeasureSchema>
            <MeasureValue>USD</MeasureValue>
            <MeasureNamespace>iso4217</MeasureNamespace>
          </NumeratorMeasure>
          <DenominatorMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/instance</MeasureSchema>
            <MeasureValue>shares</MeasureValue>
            <MeasureNamespace>xbrli</MeasureNamespace>
          </DenominatorMeasure>
          <Scale>0</Scale>
        </Unit>
      </Units>
    </Column>
    <Column>
      <LabelColumn>false</LabelColumn>
      <Id>4</Id>
      <Labels>
        <Label Id="1" Label="6 Months Ended" />
        <Label Id="2" Label="Jun. 30, 2008" />
      </Labels>
      <CurrencySymbol>$</CurrencySymbol>
      <hasSegments>false</hasSegments>
      <hasScenarios>false</hasScenarios>
      <Segments />
      <Scenarios />
      <Units>
        <Unit>
          <UnitID>shares</UnitID>
          <UnitType>Standard</UnitType>
          <StandardMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/instance</MeasureSchema>
            <MeasureValue>shares</MeasureValue>
            <MeasureNamespace>xbrli</MeasureNamespace>
          </StandardMeasure>
          <Scale>0</Scale>
        </Unit>
        <Unit>
          <UnitID>usd</UnitID>
          <UnitType>Standard</UnitType>
          <StandardMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/iso4217</MeasureSchema>
            <MeasureValue>USD</MeasureValue>
            <MeasureNamespace>iso4217</MeasureNamespace>
          </StandardMeasure>
          <Scale>0</Scale>
        </Unit>
        <Unit>
          <UnitID>usdPerShare</UnitID>
          <UnitType>Divide</UnitType>
          <NumeratorMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/iso4217</MeasureSchema>
            <MeasureValue>USD</MeasureValue>
            <MeasureNamespace>iso4217</MeasureNamespace>
          </NumeratorMeasure>
          <DenominatorMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/instance</MeasureSchema>
            <MeasureValue>shares</MeasureValue>
            <MeasureNamespace>xbrli</MeasureNamespace>
          </DenominatorMeasure>
          <Scale>0</Scale>
        </Unit>
      </Units>
    </Column>
  </Columns>
  <Rows>
    <Row>
      <Id>6</Id>
      <Label>Revenue:</Label>
      <Level>4</Level>
      <ElementName>us-gaap_RevenuesAbstract</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>na</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>string</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>true</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>7</Id>
      <Label>Services</Label>
      <Level>5</Level>
      <ElementName>us-gaap_SalesRevenueServicesNet</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>credit</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>monetary</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>true</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>13479000000</NumericAmount>
          <RoundedNumericAmount>13479</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>true</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>15203000000</NumericAmount>
          <RoundedNumericAmount>15203</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>true</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>26656000000</NumericAmount>
          <RoundedNumericAmount>26656</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>true</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>29777000000</NumericAmount>
          <RoundedNumericAmount>29777</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>8</Id>
      <Label>Sales</Label>
      <Level>5</Level>
      <ElementName>us-gaap_SalesRevenueGoodsNet</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>credit</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>monetary</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>9198000000</NumericAmount>
          <RoundedNumericAmount>9198</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>10976000000</NumericAmount>
          <RoundedNumericAmount>10976</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>17147000000</NumericAmount>
          <RoundedNumericAmount>17147</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>20263000000</NumericAmount>
          <RoundedNumericAmount>20263</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>9</Id>
      <Label>Financing</Label>
      <Level>5</Level>
      <ElementName>us-gaap_FinancialServicesRevenue</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>credit</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>monetary</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>574000000</NumericAmount>
          <RoundedNumericAmount>574</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>642000000</NumericAmount>
          <RoundedNumericAmount>642</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>1158000000</NumericAmount>
          <RoundedNumericAmount>1158</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>1282000000</NumericAmount>
          <RoundedNumericAmount>1282</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>10</Id>
      <Label>Total Revenue</Label>
      <Level>5</Level>
      <ElementName>us-gaap_Revenues</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>credit</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>monetary</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>23250000000</NumericAmount>
          <RoundedNumericAmount>23250</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer>[1]</FootnoteIndexer>
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>26820000000</NumericAmount>
          <RoundedNumericAmount>26820</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer>[1]</FootnoteIndexer>
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>44962000000</NumericAmount>
          <RoundedNumericAmount>44962</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer>[1]</FootnoteIndexer>
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>51322000000</NumericAmount>
          <RoundedNumericAmount>51322</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>true</IsTotalLabel>
    </Row>
    <Row>
      <Id>11</Id>
      <Label>Cost:</Label>
      <Level>4</Level>
      <ElementName>us-gaap_CostOfRevenueAbstract</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>na</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>string</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>true</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>12</Id>
      <Label>Services</Label>
      <Level>5</Level>
      <ElementName>us-gaap_CostOfServices</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>debit</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>monetary</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>9145000000</NumericAmount>
          <RoundedNumericAmount>9145</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>10709000000</NumericAmount>
          <RoundedNumericAmount>10709</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>18208000000</NumericAmount>
          <RoundedNumericAmount>18208</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>21057000000</NumericAmount>
          <RoundedNumericAmount>21057</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>13</Id>
      <Label>Sales</Label>
      <Level>5</Level>
      <ElementName>us-gaap_CostOfGoodsSold</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>debit</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>monetary</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>3221000000</NumericAmount>
          <RoundedNumericAmount>3221</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>4225000000</NumericAmount>
          <RoundedNumericAmount>4225</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>6123000000</NumericAmount>
          <RoundedNumericAmount>6123</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>7899000000</NumericAmount>
          <RoundedNumericAmount>7899</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>14</Id>
      <Label>Financing</Label>
      <Level>5</Level>
      <ElementName>us-gaap_FinancialServicesCosts</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>debit</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>monetary</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>303000000</NumericAmount>
          <RoundedNumericAmount>303</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>286000000</NumericAmount>
          <RoundedNumericAmount>286</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>618000000</NumericAmount>
          <RoundedNumericAmount>618</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>600000000</NumericAmount>
          <RoundedNumericAmount>600</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>15</Id>
      <Label>Total Cost</Label>
      <Level>5</Level>
      <ElementName>us-gaap_CostOfRevenue</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>debit</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>monetary</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>12669000000</NumericAmount>
          <RoundedNumericAmount>12669</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>15221000000</NumericAmount>
          <RoundedNumericAmount>15221</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer>[1]</FootnoteIndexer>
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>24949000000</NumericAmount>
          <RoundedNumericAmount>24949</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>29556000000</NumericAmount>
          <RoundedNumericAmount>29556</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>true</IsTotalLabel>
    </Row>
    <Row>
      <Id>16</Id>
      <Label>Gross profit</Label>
      <Level>4</Level>
      <ElementName>us-gaap_GrossProfit</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>credit</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>monetary</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>10581000000</NumericAmount>
          <RoundedNumericAmount>10581</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>11599000000</NumericAmount>
          <RoundedNumericAmount>11599</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>20012000000</NumericAmount>
          <RoundedNumericAmount>20012</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer>[1]</FootnoteIndexer>
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>21766000000</NumericAmount>
          <RoundedNumericAmount>21766</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>true</IsTotalLabel>
    </Row>
    <Row>
      <Id>17</Id>
      <Label>Expense and other income:</Label>
      <Level>3</Level>
      <ElementName>ibm_ExpenseAndOtherIncomeAbstract</ElementName>
      <ElementPrefix>ibm</ElementPrefix>
      <IsBaseElement>false</IsBaseElement>
      <BalanceType>na</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>string</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>true</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>18</Id>
      <Label>Selling, general and administrative</Label>
      <Level>4</Level>
      <ElementName>us-gaap_SellingGeneralAndAdministrativeExpense</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>debit</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>monetary</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>5115000000</NumericAmount>
          <RoundedNumericAmount>5115</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>6289000000</NumericAmount>
          <RoundedNumericAmount>6289</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>10379000000</NumericAmount>
          <RoundedNumericAmount>10379</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>11909000000</NumericAmount>
          <RoundedNumericAmount>11909</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>19</Id>
      <Label>Research, development and engineering</Label>
      <Level>4</Level>
      <ElementName>us-gaap_ResearchAndDevelopmentExpense</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>debit</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>monetary</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>1434000000</NumericAmount>
          <RoundedNumericAmount>1434</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>1660000000</NumericAmount>
          <RoundedNumericAmount>1660</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>2914000000</NumericAmount>
          <RoundedNumericAmount>2914</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>3229000000</NumericAmount>
          <RoundedNumericAmount>3229</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>20</Id>
      <Label>Intellectual property and custom development income</Label>
      <Level>4</Level>
      <ElementName>ibm_IntellectualPropertyAndCustomDevelopmentIncome</ElementName>
      <ElementPrefix>ibm</ElementPrefix>
      <IsBaseElement>false</IsBaseElement>
      <BalanceType>debit</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>monetary</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>-302000000</NumericAmount>
          <RoundedNumericAmount>-302</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>-285000000</NumericAmount>
          <RoundedNumericAmount>-285</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>-570000000</NumericAmount>
          <RoundedNumericAmount>-570</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>-559000000</NumericAmount>
          <RoundedNumericAmount>-559</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>21</Id>
      <Label>Other (income) and expense</Label>
      <Level>4</Level>
      <ElementName>ibm_OtherIncomeAndExpense</ElementName>
      <ElementPrefix>ibm</ElementPrefix>
      <IsBaseElement>false</IsBaseElement>
      <BalanceType>debit</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>monetary</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>-28000000</NumericAmount>
          <RoundedNumericAmount>-28</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>-24000000</NumericAmount>
          <RoundedNumericAmount>-24</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>-331000000</NumericAmount>
          <RoundedNumericAmount>-331</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>-149000000</NumericAmount>
          <RoundedNumericAmount>-149</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>22</Id>
      <Label>Interest expense</Label>
      <Level>4</Level>
      <ElementName>us-gaap_InterestExpense</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>debit</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>monetary</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>101000000</NumericAmount>
          <RoundedNumericAmount>101</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>145000000</NumericAmount>
          <RoundedNumericAmount>145</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>237000000</NumericAmount>
          <RoundedNumericAmount>237</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>323000000</NumericAmount>
          <RoundedNumericAmount>323</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>23</Id>
      <Label>Total expense and other income</Label>
      <Level>4</Level>
      <ElementName>ibm_ExpenseAndOtherIncome</ElementName>
      <ElementPrefix>ibm</ElementPrefix>
      <IsBaseElement>false</IsBaseElement>
      <BalanceType>debit</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>monetary</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>6319000000</NumericAmount>
          <RoundedNumericAmount>6319</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer>[1]</FootnoteIndexer>
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>7786000000</NumericAmount>
          <RoundedNumericAmount>7786</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer>[1]</FootnoteIndexer>
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>12628000000</NumericAmount>
          <RoundedNumericAmount>12628</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer>[1]</FootnoteIndexer>
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>14754000000</NumericAmount>
          <RoundedNumericAmount>14754</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer>[1]</FootnoteIndexer>
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>true</IsTotalLabel>
    </Row>
    <Row>
      <Id>24</Id>
      <Label>Income before income taxes</Label>
      <Level>3</Level>
      <ElementName>us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>credit</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>monetary</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>4262000000</NumericAmount>
          <RoundedNumericAmount>4262</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>3814000000</NumericAmount>
          <RoundedNumericAmount>3814</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer>[1]</FootnoteIndexer>
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>7385000000</NumericAmount>
          <RoundedNumericAmount>7385</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer>[1]</FootnoteIndexer>
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>7012000000</NumericAmount>
          <RoundedNumericAmount>7012</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>true</IsTotalLabel>
    </Row>
    <Row>
      <Id>25</Id>
      <Label>Provision for income taxes</Label>
      <Level>3</Level>
      <ElementName>us-gaap_IncomeTaxExpenseBenefit</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>debit</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>monetary</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>1159000000</NumericAmount>
          <RoundedNumericAmount>1159</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>1049000000</NumericAmount>
          <RoundedNumericAmount>1049</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>1986000000</NumericAmount>
          <RoundedNumericAmount>1986</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>1928000000</NumericAmount>
          <RoundedNumericAmount>1928</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>26</Id>
      <Label>Net income</Label>
      <Level>3</Level>
      <ElementName>us-gaap_ProfitLoss</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>credit</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>monetary</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>true</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>3103000000</NumericAmount>
          <RoundedNumericAmount>3103</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>true</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>2765000000</NumericAmount>
          <RoundedNumericAmount>2765</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>true</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>5398000000</NumericAmount>
          <RoundedNumericAmount>5398</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>true</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>5084000000</NumericAmount>
          <RoundedNumericAmount>5084</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>true</IsTotalLabel>
    </Row>
    <Row>
      <Id>27</Id>
      <Label>Earnings per share of common stock:</Label>
      <Level>3</Level>
      <ElementName>us-gaap_EarningsPerShareAbstract</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>na</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>string</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>true</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>28</Id>
      <Label>Assuming dilution</Label>
      <Level>4</Level>
      <ElementName>us-gaap_EarningsPerShareDiluted</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>na</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>decimal</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>true</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>true</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>2.32</NumericAmount>
          <RoundedNumericAmount>2.32</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>true</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>1.97</NumericAmount>
          <RoundedNumericAmount>1.97</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer>[2]</FootnoteIndexer>
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>true</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>4.02</NumericAmount>
          <RoundedNumericAmount>4.02</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>true</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>3.61</NumericAmount>
          <RoundedNumericAmount>3.61</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer>[2]</FootnoteIndexer>
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>29</Id>
      <Label>Basic</Label>
      <Level>4</Level>
      <ElementName>us-gaap_EarningsPerShareBasic</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>na</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>decimal</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>true</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>true</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>2.34</NumericAmount>
          <RoundedNumericAmount>2.34</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>true</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>2.01</NumericAmount>
          <RoundedNumericAmount>2.01</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer>[2]</FootnoteIndexer>
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>true</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>4.04</NumericAmount>
          <RoundedNumericAmount>4.04</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>true</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>3.67</NumericAmount>
          <RoundedNumericAmount>3.67</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer>[2]</FootnoteIndexer>
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>30</Id>
      <Label>Weighted-average number of common shares outstanding: (millions)</Label>
      <Level>3</Level>
      <ElementName>ibm_Weighted-AverageNumberCommonSharesOutstandingAbstract</ElementName>
      <ElementPrefix>ibm</ElementPrefix>
      <IsBaseElement>false</IsBaseElement>
      <BalanceType>na</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>string</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>true</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>31</Id>
      <Label>Assuming dilution</Label>
      <Level>4</Level>
      <ElementName>us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>na</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>shares</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>1336900000</NumericAmount>
          <RoundedNumericAmount>1336.9</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>1402100000</NumericAmount>
          <RoundedNumericAmount>1402.1</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer>[2]</FootnoteIndexer>
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>1343200000</NumericAmount>
          <RoundedNumericAmount>1343.2</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>1406700000</NumericAmount>
          <RoundedNumericAmount>1406.7</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer>[2]</FootnoteIndexer>
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>32</Id>
      <Label>Basic</Label>
      <Level>4</Level>
      <ElementName>us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>na</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>shares</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>1326100000</NumericAmount>
          <RoundedNumericAmount>1326.1</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>1376200000</NumericAmount>
          <RoundedNumericAmount>1376.2</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer>[2]</FootnoteIndexer>
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>1335200000</NumericAmount>
          <RoundedNumericAmount>1335.2</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>1385200000</NumericAmount>
          <RoundedNumericAmount>1385.2</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer>[2]</FootnoteIndexer>
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>33</Id>
      <Label>Cash dividend per common share</Label>
      <Level>3</Level>
      <ElementName>us-gaap_CommonStockDividendsPerShareCashPaid</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>na</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>decimal</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>true</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>true</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>0.55</NumericAmount>
          <RoundedNumericAmount>0.55</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>2</Id>
          <ShowCurrencySymbol>true</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>0.50</NumericAmount>
          <RoundedNumericAmount>0.50</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>3</Id>
          <ShowCurrencySymbol>true</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>1.05</NumericAmount>
          <RoundedNumericAmount>1.05</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
        <Cell>
          <Id>4</Id>
          <ShowCurrencySymbol>true</ShowCurrencySymbol>
          <IsNumeric>true</IsNumeric>
          <NumericAmount>0.90</NumericAmount>
          <RoundedNumericAmount>0.90</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
  </Rows>
  <Footnotes>
    <Footnote>
      <NoteId>1</NoteId>
      <Note>Amounts may not add due to rounding</Note>
    </Footnote>
    <Footnote>
      <NoteId>2</NoteId>
      <Note>Reflects the adoption of FSP EITF 03-6-1, "Determining Whether Instruments Granted in Share-Based Payment Transactions Are Participating Securities." See Note 2, "Accounting Changes," on pages 7 to 9 for additional information.</Note>
    </Footnote>
  </Footnotes>
  <ComparabilityReport>false</ComparabilityReport>
  <NumberOfCols>4</NumberOfCols>
  <NumberOfRows>28</NumberOfRows>
  <HasScenarios>false</HasScenarios>
  <MonetaryRoundingLevel>Millions</MonetaryRoundingLevel>
  <SharesRoundingLevel>HundredThousands</SharesRoundingLevel>
  <PerShareRoundingLevel>Hundreds</PerShareRoundingLevel>
  <HasPureData>false</HasPureData>
  <SharesShouldBeRounded>true</SharesShouldBeRounded>
</InstanceReport>
