Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Einzelzellen zu Matrix zusammenfassen

Einzelzellen zu Matrix zusammenfassen
19.06.2007 23:24:00
Dirk
Kurze Frage, vielleicht ist es einfach so wie es ist - aber vielleicht geht es ja in der Tat einfacher:
Es geht um Matrix-Formeln. In aller Regel ist es ja so, dass sich eine Matrix aus einem irgendwie zusammenhängenden Bereich auf dem Blatt ergibt - sprich beispielsweise die Zellen A1 bis D1
Nun habe ich ein paar Zellen, wo ich gerne eine Matrix-Funktion anwenden will .. leider sind die nicht hintereinander, sondern irgendwo. Sagen wir mal a1, f3, g7 und h9
Lösen kann man das, indem man eine "Hilfsmatrix" aufbaut, sagen wir beispielsweise so:
zelle b1 ... =a1, b2 ... =f3, b3... =g7, b4 ...=h9
Geht das auch einfacher ? Gibt es eine Funktion wie MACHMATRIX(zellea;zelleb;zellec;zelled) mit dem Ergebnis dann Funktionen wie VERGLEICH arbeiten können ?
Danke i.V. für die Infos!

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
...Die müsstest du dann schon selber...
20.06.2007 00:56:00
Luc:-?
...schreiben, Dirk!
Ersatzweise könntest du dir aber auch mit Matrixkonstanten behelfen. Du musst in einer Zelle einen String aus den Werten der betroffenen Zellen in der Art einer Matrixkonstante erzeugen, also im Ergebnis etwa {1.2.3} oder {1;2;3} ("." trennt Spalten, ";" Zeilen). Diesen String verbindest du mit der zu verwendenden Funktion in einer Zelle als Text, im Ergebnis z.B. Max({1.2.3}). Dann definierst du für diese Zelle, bspw A1, einen Namen, dessen Werteil (=A1) du in die xl4Makrofkt AUSWERTEN einbindest, also hier =AUSWERTEN(A1). Möglich wäre hier auch ein Verweis auf eine nur die Matrixkonstante als Text enthaltende Zelle - im Bsp dann =AUSWERTEN("=Max("&A1&")").
Die xl4Makrofkt AUSWERTEN kann nur im Wertteil von definierten Namen, nicht im Tabellenblatt eingesetzt wdn!
Gruß Luc :-?

Anzeige
Außerdem geht natürlich auch...
20.06.2007 13:35:50
Luc:-?
=AUSWERTEN("=Max({"&B1&";"&"C2"&";"&D3&"})") , wenn B1, C2, D3 die zur Matrix zusammenzufassenden Zellen sind!
Luc :-?

AW: Außerdem geht natürlich auch...
20.06.2007 13:53:00
Dirk
Vielen Dank erst einmal für Deine Ideen!
Es ist wirklich schade, dass diese "Auswerten"-Funktion nicht in einer Tabellenzelle zur Anwendung kommen kann!
Schöner hätte ich etwas gefunden, wass ich in der Art in eine Zelle schreiben kann:
=VERGLEICH("z";{"&b77&";"&f77&";"&j77&"};0)~f~
... um mal der oben stehenden Auswerten-Syntax zu entsprechen - ich nehme einmal an, "&b77&" würde den Inhalt der b77 als String nehmen!
- eigentlich brauche ich ja:
~f~=vergleich (wahr; {"&b77&";"&f77&";"&j77&"}="z" ; 0)
aber so gehts offenbar nicht :-(
Nun habe ich viel hin und her probiert, die Idee mit Auswerten ist schon cool - auch wenn ich das bisher noch nicht so ganz hinbekommen habe :-(, da fehlt mir offenbar die Option "Name vergeben"-AuswertenVerknüpfen .. vielleicht finde ich das ja noch oder hättest Du vielleicht noch einen Tip, ich hab's noch nie gemacht!

Anzeige
Einfügen - Name - Definieren oder so ähnl...
20.06.2007 14:03:00
Luc:-?
..., Dirk.
Ansonsten habe ich noch eine udFkt, die auch im TabBlatt fkt und das Gleiche (und noch mehr) macht. Allerdings muss da die auszuwertende Formel englisch angegeben wdn! Bei Interesse evtl heute abend...
Gruß Luc :-?

AW: Einzelzellen zu Matrix zusammenfassen
20.06.2007 23:05:00
Daniel
Hallo
wenn dir eine einfache Funktionaliät reicht, könntest du auch diese selbstgeschriebene Funktion verwenden.
bei der eingabe ist der erste Wert der Suchbegriff, alle weiteren Zellen bilden dann den Suchvektor.
Rückgabewert ist die gefundene Position innerhalb des Arrays (ein Integer-Wert)
Wird der Suchbegriff nicht gefunden, ist das Ergebnis 0 (kein Fehlerwert)
Wenn du Zellen eingibst, solleten diese immer einzeln sein und durch Semikolon getrennt werden (oder den Funktionsassistenten verwenden). Zusammenhängende Zellbereiche sind nicht möglich.

Function VergleichX(Suche As String, ParamArray Werte() As Variant) As Integer
Dim i As Integer
For i = 0 To UBound(Werte)
If Werte(i) Like Suche Then Exit For
Next
VergleichX = i + 1
If i > UBound(Werte, 1) Then VergleichX = 0
End Function


Gruß, Daniel

Anzeige
AW: Einzelzellen zu Matrix zusammenfassen
21.06.2007 23:08:51
Dirk
Danke für Eure Hilfen!
@ Daniel: ich wollte an sich schauen, ob es über ein einfaches Formelkonstrukt hinzubekommen ist. Ich konnte mir nicht vorstellen, dass die Aufgabe selten vorkommt und dachte daher, es gäbe irgendeinen geschickten Trick!

AW: Einzelzellen zu Matrix zusammenfassen
22.06.2007 20:54:13
Daniel
Hi
also ich bestreite jetzt seit 7 Jahren meinen Arbeitsalltag hauptsächlich mit Excel, aber bisher hatte ich noch nie das Bedürfnis nach einer derartigen Formel ;-)
Gruß, Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Einzelzellen zu Matrix zusammenfassen


Schritt-für-Schritt-Anleitung

Um Einzelzellen zu einer Matrix zusammenzufassen, kannst du die folgende Schritt-für-Schritt-Anleitung nutzen:

  1. Identifiziere die Zellen, die du in einer Matrix zusammenfassen möchtest. Zum Beispiel: A1, F3, G7 und H9.
  2. Verwende die Funktion AUSWERTEN in Kombination mit einer Matrixkonstante. Du kannst die Werte in einer Zelle so formatieren:
    =AUSWERTEN("=Max({"&A1&";"&F3&";"&G7&";"&H9&"})")
  3. Definiere einen Namen für die Zelle, die die Matrixkonstante enthält. Gehe zu „Formeln“ > „Namens-Manager“ und erstelle einen neuen Namen, der auf die Zelle verweist.
  4. Nutze den definierten Namen in deiner Formel, um deine Matrix auszuwerten.

Häufige Fehler und Lösungen

  • Fehler: #NAME?
    Lösung: Überprüfe, ob du die Funktion AUSWERTEN korrekt geschrieben hast und ob die Matrixkonstante richtig formatiert ist.

  • Fehler: Ungültige Ergebnisse
    Lösung: Stelle sicher, dass die Zellen, die du zusammenfassen möchtest, tatsächlich Werte enthalten und die Formeln korrekt sind.


Alternative Methoden

  1. Verwendung einer benutzerdefinierten Funktion (UDF):
    Du kannst eine UDF erstellen, um die Werte aus den Zellen zu vergleichen und zurückzugeben. Hier ist ein Beispiel:

    Function VergleichX(Suche As String, ParamArray Werte() As Variant) As Integer
       Dim i As Integer
       For i = 0 To UBound(Werte)
           If Werte(i) Like Suche Then Exit For
       Next
       VergleichX = i + 1
       If i > UBound(Werte, 1) Then VergleichX = 0
    End Function

    Diese Funktion ermöglicht es dir, Werte aus verschiedenen Zellen zu vergleichen und die Position innerhalb des Arrays zurückzugeben.

  2. Matrix aus einzelnen Zellen:
    Du kannst auch direkt eine Matrix definieren, indem du die einzelnen Zellen in einer Formel zusammenfügst:

    =VERGLEICH("z";{A1;F3;G7;H9};0)

Praktische Beispiele

  • Beispiel 1: Max-Wert aus Einzelzellen

    =AUSWERTEN("=Max({"&A1&";"&F3&";"&G7&";"&H9&"})")
  • Beispiel 2: Vergleich von Werten

    =VERGLEICH("z";{A1;F3;G7;H9};0)

Tipps für Profis

  • Namen definieren: Nutze die Möglichkeit, Namen für Zellen und Bereiche zu definieren, um deine Formeln sauberer und einfacher verständlich zu gestalten.
  • Verwende Matrixkonstanten: Du kannst auch Matrixkonstanten direkt in einer Formel verwenden, um die Lesbarkeit zu erhöhen und die Komplexität zu reduzieren.
  • Fehlerbehandlung: Implementiere Fehlerbehandlungen in deinen benutzerdefinierten Funktionen, um unerwartete Ergebnisse zu vermeiden.

FAQ: Häufige Fragen

1. Frage
Wie kann ich Einzelzellen in einer dynamischen Matrix zusammenfassen?
Antwort: Du kannst die Funktion AUSWERTEN in Kombination mit einer Matrixkonstante verwenden, um die Werte dynamisch auszuwerten.

2. Frage
Gibt es eine einfachere Möglichkeit, zwei Matrizen zusammenzufügen?
Antwort: Ja, du kannst die Funktion VERGLEICH oder eine benutzerdefinierte Funktion nutzen, um Werte aus verschiedenen Bereichen zusammenzufassen und zu vergleichen.

3. Frage
Kann ich auch Textwerte in einer Matrix verwenden?
Antwort: Ja, du kannst sowohl Zahlen als auch Textwerte in einer Matrix verwenden, solange sie korrekt formatiert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige