如何在Excel中表达NaN值?

Whi*_*uit 6 .net excel

我正在编写一个.NET程序,它生成一个在Excel中打开的XML文档.单元格通常如下所示:

    <ss:Cell>
      <ss:Data ss:Type="Number">123</ss:Data>
    </ss:Cell>
Run Code Online (Sandbox Code Playgroud)

但偶尔我写的值有NaN,DIV/0或INF.在这些情况下,123将被该文本值替换,Excel将不会因文本而打开文件.

我不认为Excel有常量,所以我不确定如何处理这种情况,而不是添加"-1"值.有什么建议?

Rei*_*eek 6

以下是Excel知道的不同错误代码,以XML格式存储:

<Cell><Data ss:Type="Error">#DIV/0!</Data></Cell>
<Cell><Data ss:Type="Error">#NUM!</Data></Cell>
<Cell><Data ss:Type="Error">#VALUE!</Data></Cell>
<Cell><Data ss:Type="Error">#N/A</Data></Cell>
<Cell><Data ss:Type="Error">#NAME?</Data></Cell>
<Cell><Data ss:Type="Error">#REF!</Data></Cell>
<Cell><Data ss:Type="Error">#NULL!</Data></Cell>
Run Code Online (Sandbox Code Playgroud)

只有前两个与您的问题相关,但为了完整起见,我添加了其他两个.

但偶尔我写的值有NaN,DIV/0或INF

DIV/0映射到#DIV/0!.我不觉得有什么区别NaNINFExcel中,他们似乎都可以表示为#NUM!.例如,以下两个公式都会产生#NUM!,即使第一个是无效数字而第二个只是非常大.

=ASIN(2)
=EXP(EXP(10))
Run Code Online (Sandbox Code Playgroud)

有趣,强硬几乎没用:Excel允许您在工作表的单元格中输入这些文字错误值(包括所有标点符号),没有任何问题.从某种意义上说,这些内置常量.

  • 这对我很有用,我更喜欢有一个 Excel 支持的常量来表示“不可用”……这就是您的“#N/A”为我所做的,谢谢! (2认同)