Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1420to1424
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellbereich linear durchlaufen

Zellbereich linear durchlaufen
20.04.2015 16:37:03
Wolfgang
Hallo, heute mal ein Frage von mir:
Kann ich (z.B. in einer Matrixformel) alle Zellen eines Bereichs nacheinander durchlaufen?
In VBA würde ich schreiben
range("A1:C3").cells(5)
für die 5. Zelle im Bereich, also B2.
Wie kann ich ohne VBA die 9 Zellen im Bereich A1:C3 einzeln ansprechen?
Dank + Gruß, Wolfgang

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellbereich linear durchlaufen
20.04.2015 17:20:27
ChrisL
Hi Wolfgang
Hier meine "Krückenlösung" :)
=INDEX(A1:C3;ABS(((D1-1)/3)+1);WENN(REST(D1;3)=0;3;REST(D1;3)))
D1 = 5
cu
Chris

AW: Zellbereich linear durchlaufen
20.04.2015 17:25:32
Wolfgang
Oh, Danke für die Mühe! Ich habe auch mittlerweile ein wenig rumgekrückt und dieses gebaut:
=BEREICH.VERSCHIEBEN(INDEX(Dings;1;1);GANZZAHL((G10-1)/SPALTEN(Dings));REST(G10-1;SPALTEN(Dings))) - sieht ziemlich ähnlich aus.
Dennoch nochmal meine Frage in die Runde, ob es wirklich keine Excelfunktion gibt, die jeder Zelle in einem Bereich eine Nummer zuordnet.
Danke, Wolfgang

Doch, nur INDEX; ...
20.04.2015 19:19:53
Luc:-?
…Wolfgang,
das verlangt 3-4 Argumente…
Arg1: Bereich (auch unzusammenhängend) bzw zusammenhängendes Datenfeld
Arg2: primär skalar für die Zeile von Arg1
Arg3: primär skalar für die Spalte von Arg1
Arg4: nur für unzusammenhängende Bereiche die lfd Nr des jeweiligen TeilBereichs; die Argg2-3 müssen sich dann auf diesen beziehen!
Diese Fkt kann auch in VBA eingesetzt wdn, wenn Teile von max 2dim-Datenfeldern (Arrays) isoliert wdn sollen, was sonst zyklische Durchläufe des Arrays erfordern würde.
Allerdings folgen die skalaren Indizes den tatsächlich vorhandenen Zeilen und Spalten, was ihrer Aufgabe zur Auswahl eines einzelnen Matrix­Elements entspricht. Will man eine linear ziehbare Fml entwickeln, muss man das berücksichtigen, denn das ist keine der Fkt INDEX einpgmierte Eigenschaft, sondern eine von Xl, das solche skalaren Elemente variiert, wenn sie als Datenfeld angegeben sind (ZEILE und SPALTE erzeugen stets Datenfelder, ggf auch mit nur 1 Element).
In einer ZellFml kann man das wie folgt nutzen:
vertikal =INDEX($A$1:$C$3;REST(ZEILE(A1)-1;SPALTEN($A$1:$C$3))+1;(ZEILE(A1)-1)/SPALTEN($A$1:$C$3)+1)
horizontal =INDEX($A$1:$C$3;REST(SPALTE(A1)-1;ZEILEN($A$1:$C$3))+1;(SPALTE(A1)-1)/ZEILEN($A$1:$C$3)+1)
Es gibt noch eine Alternative mit (formal) unzusammenhängenden Bereichen (hier nur die vertikale Variante):
=INDEX(($A$1:$A$3;$B$1:$B$3;$C$1:$C$3);REST(ZEILE(A1)-1;SPALTEN($A$1:$C$3))+1;;(ZEILE(A1)-1) /ZEILEN(A$1:A$3)+1)
Man kann aber auch die Variation von Anfang an (als MatrixKonstanten) fest vorgeben (auch willkürliche Reihenfolgen) und eine mehrzellige MatrixFml benutzen:
{=INDEX(A1:C3;{1;2;3;1;2;3;1;2;3};{1;1;1;2;2;2;3;3;3})}
Diese Möglichkeiten bietet VBA ohne WorksheetFunction.Index-Benutzung normalerweise nicht (aber auch über vbFkt Evaluate).
Nähere/weitere Ausführungen hierzu findes du ab hier!
Gruß, Luc :-?
Besser informiert mit …

Anzeige
AW: Doch, nur INDEX; ...
20.04.2015 23:16:58
Wolfgang
Äh, also nicht. Danke, Luc, damit ist meine Recherche beendet!
Gruß, Wolfgang

So wie in VBA natürlich nicht, ...
20.04.2015 23:37:56
Luc:-?
…Wolfgang;
quasi einfach durchgezählt wdn kann nur in Vektoren. VBA zählt auch nur durch, wenn die 2.Angabe fehlt und zwar auch noch unterschiedlich, je nachdem, ob es sich um einen ZellBereich oder ein Datenfeld handelt. Im Grunde genommen ist INDEX sogar variabler als der ZellIndex von VBA…
Damit stehen dir auch in VBA mehrere Möglichkeiten zV, in Xl nur Variationen einer.
Luc :-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige