it-swarm.com.de

Zirkuläre Abhängigkeit auch bei Verwendung von IFERROR erkannt

Ich habe folgende Funktion in der Zelle B2:

ARRAYFORMULA(SUM(IFERROR(Purchases!B3:B, 0)))

Und die folgende Funktion in Zelle C2:

ARRAYFORMULA(SUM(IFERROR(Purchases!C3:C, 0)))

Grundsätzlich sind in der ersten Spalte (Spalte B) die Preise in USD und in der zweiten Spalte (Spalte C) die Preise in LBP (Libanesische Pfund) angegeben.

In den restlichen Zellen in Spalte B und C (d. H. Von B3/C3 bis zum Ende) habe ich Folgendes:

    +------+----------+----------+
    |COL: A|  COL: B  |  COL: C  |
+---+------+----------+----------+
| 1 | text |   text   |   text   |
+---+------+----------+----------+
| 2 | text |   SUM    |   SUM    |
+---+------+----------+----------+ 
| 3 | text | =C3/1500 | =B3*1500 |
+---+------+----------+----------+
| 4 | text | =C4/1500 | =B3*1500 |
+---+------+----------+----------+
| 5 | text | =C5/1500 | =B3*1500 |
+---+------+----------+----------+
| 6 | text | =C6/1500 | =B6*1500 |
+---+------+----------+----------+

Ich werde versuchen, die Tabelle zu erklären:

Spalte A ist die Beschreibung des gekauften Produkts, bei der es sich nur um einfachen Text handelt.

Spalte B und C geben den Preis des Produkts in USD bzw. LBP an. Wenn ich jetzt ein Produkt kaufe, kaufe ich es manchmal in USD, manchmal in LBP. Ich möchte also die entsprechende Spalte hinzufügen, und dabei wird die andere Spalte automatisch berechnet und gefüllt. Die zirkuläre Abhängigkeit in diesen Zellen ist für mich kein Problem und völlig verständlich.

Problem

Mein Problem sind die Zellen B2 und C2, als ich die Funktion zum ersten Mal schrieb, hat es wie ein Zauber funktioniert. Nach dem Schließen des Dokuments ist das Ergebnis der Funktion ein #REF-Fehler. Wenn ich jedoch die Zelle bearbeite und dieselbe Funktion neu schreibe, wird der richtige Wert zurückgegeben. Dies muss jedes Mal erfolgen, wenn ich das Dokument erneut öffne.

Mache ich etwas falsch? Oder ist das nur ein Bug?

Gibt es einen anderen/besseren Weg, um das zu erreichen, was ich will? (Das heißt, der Preis ist in beiden Währungen verfügbar. Wenn ich eine Währung eingebe, wird die zweite automatisch berechnet. Und eine Zelle mit dem Gesamtwert jeder Währung.)

P.S. Ich habe versucht, die Formeln auch so einzugeben:

SUM(ARRAYFORMULA(IFERROR(Purchases!B3:B, 0)))

anstatt von

ARRAYFORMULA(SUM(IFERROR(Purchases!B3:B, 0)))

Aber ich bekomme das gleiche Problem.

2
Dan

Die reine Tabellenkalkulationsantwort besteht darin, Spalten D und E zu erstellen, um Ihre Informationen anzuzeigen. Eine Beispielzeile:

A3: text
B3: (enter USD if known)
C3: (enter LBP if known)
D3: = if( isblank(B3) ; C3/1500 ; B3 )
E3: = if( isblank(C3) ; B3*1500 ; C3 )

Die andere Möglichkeit, dies zu lösen, besteht in der Verwendung von JavaScript mit dem onEdit-Trigger, sofern Sie es kennen. In diesem Fall würde das JavaScript die Bearbeitung von B3 erkennen und die Formel automatisch in C3 einfügen oder mgekehrt.

3
MetaEd