So geben Sie eine Arrayformel in eine andere Formel ein

494
Dominique

Ich habe eine Excel-Tabelle, die Zeitangaben für Berichte enthält (wann sie gestartet, zuerst bearbeitet, noch geöffnet oder bereits geschlossen wurden, ...).

Zur besseren Übersicht der Excel-Formeln habe ich allen Spalten einen Namen gegeben, z. B .:

  • name All_Still_Open: Die Spalte Still_Openenthält TRUEoder FALSEein Formelergebnis.
  • Name All_Start_Dates: Die Spalte Start Dateenthält das Startdatum der Berichte.

Ich würde gerne wissen, wie lange durchschnittlich ein Bericht noch geöffnet ist. Daher habe ich folgende Matrixformel:

{=AVERAGE(IF(All_Still_Open;TODAY()-All_Start_Dates))} 

(Die geschweiften Klammern werden mit Strg + Umschalt + Enter eingegeben.)

Das funktioniert gut, aber meine Abteilung hat sehr hart gearbeitet, und jetzt ist kein Bericht mehr offen. Als Ergebnis davon gibt die Formel einen Fehlercode für Division durch Null an, den ich nicht möchte: Ich möchte 0stattdessen den Wert sehen .

Ich habe versucht, eine IF-clause um sie herum zu setzen, aber das funktioniert nicht: Die if-Klausel macht es unmöglich, daraus eine Array-Formel zu machen.

Ich hätte gerne etwas wie das Folgende:

=IF(<condition>;0;{=AVERAGE(IF(All_Still_Open;TODAY()-All_Start_Dates))} 

=> Beachten Sie die geschweiften Klammern.

Ist dies mit Standard-Excel möglich oder muss ich dafür eine eigene Funktion schreiben (die ich aus Gründen der Lesbarkeit lieber meide)? (Es scheint, dass das Hinzufügen der geschweiften Klammern ohne Strg + Umschalt + Eingabe nicht funktioniert.)

0
Probieren Sie IFERROR aus, wenn es Ihnen zur Verfügung steht. WENN (Ihre Formel, was tun, wenn ein Fehler auftritt) `". Denken Sie daran, nur ein = Zeichen pro Zeile. Also {= IFERROR (AVERAGE ...)}. Abhängig von Ihrer Version von Excel gibt es jetzt anscheinend AVERAGEIF Ich erinnere mich richtig Forward Ed vor 5 Jahren 0

0 Antworten auf die Frage