mehrere Zellen-Bezüge bei Excel gleichzeitig ändern?

6 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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?

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

0
@aleks9000

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)

1
@PWolff

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.

2
@Oubyi

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.

0
@PWolff

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.

1
@Oubyi

Dann hast du offensichtlich nicht die Formel für Zelle A1 hingeschrieben - für welche Zelle dann?

1
@Oubyi

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...

2
@Iamiam

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

1

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.

1

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.

 - (Excel, Tabelle)

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

ah ne das geht nicht so ganz, habs gerade mal probiert

0
@triggered

das war auch das erste, das ich versucht habe :)

0

Ohne Index geht's mit Index ;) 
Falls es um die Zeilennummern geht.

 - (Excel, Tabelle)

Was möchtest Du wissen?