Microsoft Excel

Herbers Excel/VBA-Archiv

falscher Wert bei Arrayformel | Herbers Excel-Forum


Betrifft: falscher Wert bei Arrayformel von: Guffels
Geschrieben am: 28.12.2009 14:34:50

Hallo zusammen,

ich habe folgendes Problem:

In der Formel für die Zelle C4 soll das Datum aus Zelle A4 mit einer Liste von Daten (Feiertage) D1:D12 verglichen werden. Sollte das Datum aus A4 mit einem der Daten aus D1:D12 übereinstimmen, soll in die Zelle C4 der Wert der Zelle B4 geschrieben werden. Ansonsten eine leere Zeichenfolge.

{=WENN($A$4=$D$1:$D$12;B4;" ")}

- Gebe ich die Formel nicht als Array ein, erscheint der Fehler: #WERT!
- Bei der Formelüberwachung stellt sich heraus, dass im ersten Schritt der Überprüfung immer der Wert FALSCH herauskommt, obwohl das Datum definitiv in der Liste auftaucht.
- Nur beim direken Vergleich der beiden Zellen, ohne den Bereich =WENN($A$4=$D$5;B4;" ") kommt der Wert WAHR heraus und die Funktion wird korrekt weiter ausgeführt.

Warum nur????

Im Voraus schon mal vielen Dank für Eure Bemühungen

Gruß Michael

  

Betrifft: AW: falscher Wert bei Arrayformel von: Daniel
Geschrieben am: 28.12.2009 14:51:40

Hi

das Problem ist, daß die WENN-Formel kein Array verarbeiten kann und das Ergebnis von $A$4=$D$1:$D$12 im Array wäre ja z.B FAlSCH;FALSCH;WAHR;FALSCH;FALSCH...
die Wenn-Formel würde hier nur den ersten Wert verwenden.

du könntest deine Formel so erweitern (die ODER-Funktion kann mit Mehrfachwerten umgehen):
{=WENN(ODER($A$4=$D$1:$D$12);B4;" ")}

oder in diesem Fall einfacher und Array-Frei die Zählenwenn-Funktion verwenden:
=Wenn(ZählenWenn(D1:D12;A4);B4;"")

Gruß, Daniel


  

Betrifft: AW: falscher Wert bei Arrayformel von: BoskoBiati
Geschrieben am: 28.12.2009 18:25:10

Hallo,

und wie wäre es mit Sverweis:

=wenn(istfehler(sverweis(a4;D1:D12;1;0));" ";B4)

mal so, ohne es probiert zu haben.

Gruß

Bosko


  

Betrifft: Da hast du dich wohl falsch ausgedrückt,... von: Luc:-?
Geschrieben am: 29.12.2009 04:01:50

...Daniel... ;-)
Natürlich kann WENN ein Feld verarbeiten und es kommt dabei genau das heraus, was du geschrieben hast, nämlich wieder ein Feld (Array). Mehr ist von WENN auch nicht zu erwarten, denn für Zusammen­fassungen ist es nicht ausgelegt. Das Ergebnisfeld muss nun nur noch sinnvoll ausgewertet wdn. Dafür könnte man die Feldelemente summieren. Ist die Summe > 0 stimmt ein Wert aus D mit A überein und B kann gesetzt wdn; also optimiert so...
{=WENN(SUMME(--($A$4=$D$1:$D$12))>0;B4;"")}
Die Verwendung von ODER ist nur eine andere Methode, das Ergebnisfeld zusammenzufassen.
Gruß Luc :-?


Beiträge aus den Excel-Beispielen zum Thema "falscher Wert bei Arrayformel"