mehrere Zellen-Bezüge bei Excel gleichzeitig ändern?
Hallo,
ich habe Daten mit m-Spalten und n-Zeilen von denen ich immer jeweils ausgewählte Zellen benötige, genauer jede n-te Zeile einer Spalte (z.B. A13, A23, A33 usw.). Gibt es eine Formel, mit der man jede n-te Zeile einer Tabelle kopieren und in eine neue Tabelle schreiben kann?
6 Antworten
Bei z. B. jede 5. Zeile und jede 3. Spalte:
=BEREICH.VERSCHIEBEN('Andere Tabelle'!$A$3;5*(ZEILE()-[konstante]);3*(SPALTE()-[konstante]))
Aber genau habe ich deine Frage nicht verstanden. In welcher Zelle der Zieltabelle willst du den Inhalt welcher Zelle der Quelltabelle haben?
A1: =BEREICH.VERSCHIEBEN('Quelltabelle'!$A$1;10*(ZEILE()-1)+3;0)
und die Formel "runterziehen"
(hier natürlich "Quelltabelle" durch den tatsächlichen Namen der Tabelle ersetzen)
DH!
Allerdings müsste es für A13, A23, A33 so angepasst werden:
=BEREICH.VERSCHIEBEN('Quelltabelle'!$A$1;10*(ZEILE(A1))+2;0)
Zudem habe ich oben aus ZEILE() ein ZEILE(A1) gemacht, damit man die Formel auch in eine andere als die erste Zeile einsetzen kann. Ist sicherer.
Stimmt, da fehlt ein Summand von 10 bzw. von 1 in der Klammer.
Allerdings ist ZEILE() synonym zu ZEILE(<diese Zelle>), sodass dieses nicht erforderlich ist.
Ursprünglich hatte ich auch daran überlegt,
10*(ZEILE()-ZEILE($A$1))
zu schreiben, damit die Formeln automatisch angepasst werden, wenn z. B. am Anfang noch eine Zeile für eine Überschrift eingefügt wird.
Allerdings ist ZEILE() synonym zu ZEILE(<diese Zelle>), sodass dieses nicht erforderlich ist.
Das stimmt nicht!
Wenn Du in B5 = ZEILE() schreibst, dann ist das Ergebnis 5, wenn Du aber = ZEILE(A1) schreibst ist es 1.
Beim Runtekopieren steht dann in B6 entsprechend 6 oder 2.
Dann hast du offensichtlich nicht die Formel für Zelle A1 hingeschrieben - für welche Zelle dann?
vllt etwas eindeutiger formuliert:
=Zeile() ist Zeile(<wo die Formel steht>)
=Zeile()-5 ist 5 Zeilen darüber
dagegen ist
=ZEILE(INDIREKT(ZELLE("Adresse"))) die Zeile, wo der Cursor steht (erst nach F9)
=Zeile(ZELLE("Adresse")) wird überraschenderweise nicht akzeptiert!
und =Zeilen($A$1:B6) ist auch 6 und kann sich (ggf versetzt) auf die Formelposition beziehen bzw wandert mit ihr.
=ZEILEN($A$1:INDIREKT(ZELLE("Adresse"))) bezieht sich dagegen wieder auf den Cursor
(auf die Idee mit Bereich.verschieben() komme ich übrigens immer zuletzt, lerne ich nur so langsam...
Statt:
=ZEILE(INDIREKT(ZELLE("Adresse")))geht auch direkt:
=ZELLE("Zeile")Musste mich aber auch erstmal in die Funktion einarbeiten. Ich kannte den Trick noch nicht, den zweiten Parameter wegzulassen um automatisch auf die aktuelle Zelle zuzugreifen
Würde eine Hilfsspalte für einen Index anlegen. Dann kannst du ganz simpel per SVERWEIS die entsprechenden Werte zu jeweiligen Zeilennummer abfragen. Als Beispiel s. Screenshot.

Du kannst eine Formel wie diese verwenden:
=INDEX(Tabelle1!A:A;ZEILE(A1)*10+3)
Diese Formel in die erste Zielzelle einfügen und runterkopieren.
DH!
Alternative:
=INDIREKT("Tabelle1!A"&ZEILE(A1)*10+3)
Ist aber auch nicht besser.
Einziger Unterschied: Wenn links von Spalte A eine neue Spalte eingefügt würde, würde meine Formel weiterhin auf Spalte A verweisen, also auf die eingefügte Spalte, die INDEX-Formel würde "mitwandern" und auf die alten Werte verweisen, die ja dann in Spalte B stehen.
Ist marginal, aber in seltenen Fällen wichtig.
Ich denke mal das geht mit der automatischen Fortsetzung. ALso wenn du in die erste Zeile =A13 schreibst, in die zweite =A23 und in die dritte =A33, dann alle 3 markieren und mit dem Kästchen unten rechts nach unten ziehen
das war auch das erste, das ich versucht habe :)
Ohne Index geht's mit Index ;)
Falls es um die Zeilennummern geht.

Im Detail möchte ich Werte aus der Quelltabelle A13, A23, A33 usw. in eine Zieltabelle (A1, A2, A3 usw. kopieren)