2013-03-29 5 views
5

Ich schreibe ein .NET-Programm, das ein XML-Dokument generiert, das in Excel geöffnet wird. Die Zelle sieht typischerweise wie:Wie kann ich NaN-Werte in Excel ausdrücken?

<ss:Cell> 
     <ss:Data ss:Type="Number">123</ss:Data> 
    </ss:Cell> 

Aber occasionly der Wert I hat gerade schreibe entweder NaN, DIV/0 oder INF. In diesen Fällen würde 123 durch diesen Textwert ersetzt und Excel öffnet die Datei aufgrund des Textes nicht.

Ich glaube nicht, dass Excel Konstanten hat, also bin ich nicht sicher, wie man mit dieser Einstellung umgehen soll, außer dass man stattdessen einen "-1" -Wert eingibt. Irgendwelche Vorschläge?

+0

Niemals damit gearbeitet, aber nur ein Schuss im Dunkeln ... Was wäre, wenn Sie das Obige in einem IF-Zustand einschließen? –

+1

Versuchen Sie, die Werte in Excel zu setzen, speichern Sie das Ergebnis im XML-Format und bestätigen Sie den Wert. – code4life

Antwort

5

Hier sind die verschiedenen Fehlercodes, die Excel kennt, im XML-Format gespeichert:

<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> 

Nur die ersten beiden für Ihre Frage relevant sind, aber ich hinzugefügt, um die anderen aus Gründen der Vollständigkeit.

Aber occasionly der Wert I hat gerade schreibe entweder NaN, DIV/0 oder INF

DIV/0 Karten #DIV/0!. Ich glaube nicht, dass es einen Unterschied zwischen NaN oder INF in Excel gibt, beide scheinen als #NUM! ausgedrückt werden. Zum Beispiel ergaben beide der folgenden Formeln #NUM!, obwohl die erste eine ungültige Zahl ist, während die zweite nur sehr groß ist.

=ASIN(2) 
=EXP(EXP(10)) 

Interessant, zäh kaum nützlich: Excel ermöglicht es Ihnen, diese wörtlichen Fehlerwerte (einschließlich alle Interpunktion) in Zellen in Ihrem Arbeitsblatt, ohne ein Problem zu geben. In gewisser Weise sind diese eingebaute Konstanten.

Verwandte Themen