在Excel XML中减去时间值

时间:2014-10-28 15:36:15

标签: xml excel

我正在尝试减去两次,并以小时为单位获取值。

栏:

  • 似乎我需要指定一个完整的日期,我不能简单地使用时间?
  • 在另一个例子中,如果我使用完整日期(即2014-08-22T08:30:00),在Excel中我在单元格中看到“41875.35”而不是日期

这是我目前的标记:

<?xml version="1.0"?>
<ss:Workbook xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
    <ss:Worksheet ss:Name="Sheet1">
        <ss:Table>
            <ss:Row>
                <ss:Cell>
                    <ss:Data ss:Type="DateTime">08:30:00</ss:Data>
                </ss:Cell>
            </ss:Row>
            <ss:Row>
                <ss:Cell>
                    <ss:Data ss:Type="DateTime">17:30:00</ss:Data>
                </ss:Cell>
            </ss:Row>
            <ss:Row>
                <ss:Cell ss:Formula="=INT((R[-1]C-R[-2]C)*24)"></ss:Cell>
            </ss:Row>
        </ss:Table>
    </ss:Worksheet>
</ss:Workbook>

我得到的错误:

XML ERROR in Table
REASON: Bad Value
FILE:   C:\timediff.xml.xls
GROUP:  Cell
TAG:    Data
VALUE:  08:30:00

XML ERROR in Table
REASON: Bad Value
FILE:   C:\timediff.xml.xls
GROUP:  Cell
TAG:    Data
VALUE:  17:30:00

更新#1

最新剪辑:

<?xml version="1.0"?>
<ss:Workbook xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
    <ss:Worksheet ss:Name="Sheet1">
        <ss:Table>
            <ss:Row>
                <ss:Cell>
                    <ss:Data ss:Type="String">08:30</ss:Data>
                </ss:Cell>
            </ss:Row>
            <ss:Row>
                <ss:Cell>
                    <ss:Data ss:Type="String">17:30</ss:Data>
                </ss:Cell>
            </ss:Row>
            <ss:Row>
                <ss:Cell ss:Formula="=round((timevalue(R[-1]C) - timevalue(R[-2]C)) *24, 1)"></ss:Cell>
            </ss:Row>
        </ss:Table>
    </ss:Worksheet>
</ss:Workbook>

问题仍然存在,一旦在Excel中,将08:30更改为08:15,公式将指示错误:#VALUE!。

1 个答案:

答案 0 :(得分:0)

最终解决方案:

ss:Formula="=ROUND( ((R[-1]C-R[-2]C) * 24) - 0.5, 3)