Frage

Ich habe eine Excel-Tabelle, die importiert Daten aus einer anderen Quelle, dass ich auf eine Berechnung auszuführen. Die Daten müssen ich die Arbeit mit in einem benannten Bereich - es ist im Bereich C12 passiert sein: C36 - aber es ist „SumData“ genannt

.

Die Werte in diesem Bereich eine Reihe von Fehlern enthalten derzeit einschließlich #NUM! und # N / A, könnte aber möglicherweise andere Fehler enthalten. Ich brauche diese Werte zu summieren.

Ich verstehe, wie die Summenformel zu tun:

=SUM(SumData)

oder

=SUM(C12:C36)

Ich kann verwenden IFERROR auch auf Fehler überprüfen:

=IFERROR(C12:C36, 0)

Aber IFERROR erscheint nur die aktuelle entsprechende Zeile in die Formel zu überprüfen ich eingeben. das heißt, wenn meine Formel in D12 eingegeben wird, ist es nur prüft, ob Fehler in Zeile C12, und den Wert zurückgibt (oder 0, wenn C12 einen Fehler enthält).

Wenn ich die beiden zu kombinieren tun:

=SUM(IFERROR(SumData,0))

Ich habe keinen gültigen Rückgabewert erhalten. Es gibt mir im Grunde die nächste entsprechende Zeile - zum Beispiel:

    C      D
    -----------
12  #NUM!  
13  2      =SUM(IFERROR(SumData,0)) = 2 (I would expect this to produce 48)
14  5
15  7
16  #N/A
17  23
18  6
19  5

Was mache ich falsch?

War es hilfreich?

Lösung

=SUM(IF(ISNUMBER(SumData),SumData))

als eine Matrixformel eingegeben ... also STRG + Shift + Enter und nicht nur eingeben. Wenn Sie es richtig, dann wird Excel geschweifte Klammern um die Formel {}.

Andere Tipps

Versuchen Verwenden Sie diese Formel, wenn Sie neigen dazu, eine Reihe von Zellen hinzuzufügen, die Fehler enthält:

=SUMIFS(sumrange,criteria range1,"<>"&"#NAME?",criteria range2,"<>"&"#N/A",criteria range3,"<>"&"NUM!")

Da Sie nicht wissen, welche Zelle den Fehler hat, dann ist es ratsam, die Kriterien verwenden, um Bereiche gleiche wie die sumrange.

Leider ist die dokumentierte Funktionalität der IFERROR Funktion, wie Sie hier: http://office.microsoft.com/en-us/excel-help/iferror-function-HA001231765.aspx .

Im Wesentlichen ein Bereichseingang führt nicht in einem Bereich ausgegeben. Vielmehr erhalten Sie die Ausgabe für die Position im Bereich von der Zelle angezeigt, wo der IFERROR Anruf geschieht. Es ist eher nicht intuitiv.

Eine Lösung ist eine Spalte einzufügen, die einzelne IFERROR Ergebnisse zu halten, und dass summiert, wie unten gezeigt. Nachdem Sie Spalte D einrichten, es ist nur versteckt machen.

    C      D                      E
    --------------------------------------
12  #NUM!  =IFERROR(E12, 0) -> 0
13  2      =IFERROR(E13, 0) -> 2  =SUM(E12:E19) -> 48
14  5      =IFERROR(E14, 0) -> 5
15  7      =IFERROR(E15, 0) -> 7
16  #N/A   =IFERROR(E16, 0) -> 0
17  23     =IFERROR(E17, 0) -> 23
18  6      =IFERROR(E18, 0) -> 6
19  5      =IFERROR(E19, 0) -> 5

Dies funktioniert für mich:

=IF(SUMIFS(RANGE,CRIT-RANGE,CRITCELL)=0,NA(),SUMIFS(RANGE,CRIT-RANGE,CRITCELL))

Aber ich Tabellen verwenden, die angezeigt werden; deshalb hatte ich ein bedingtes Format auf sie zu schieben.

Wenn Zelle enthält einen Fehler: Sie gewünschte Schriftart {gleiche Farbe als Hintergrund}

Arbeiten sehr gut für mich und meine Plots Graphen schön, ohne wirklich mit den Daten angezeigt werden (bis jemand wählt die Zelle und sieht den Wert).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top