peacer
Goto Top

Tabelle 2 Spalten nach rechts erweitern und in Tabelle 1 Zeilen nach unten lesen

kleines Problemchen

Hallo,


folgendes

Aufgabe:

Tabelle 2, Zelle B4 soll aus Tabelle 1, Zelle I5 den enthaltenen Wert auslesen und ausgeben.

Problem:

Wenn ich die Formel in Tabelle 2 nach rechts übernehmen will, ändert Excel die Spalte innerhalb der Formel

Bsp:

B4: =Tabelle1!I5
C4: =Tabelle1!J5
D4: =Tabelle1!K5
usw.


Ich möchte aber das Excel statt die Spalten, mit den Zeilen switcht.
Also so:

B4: =Tabelle1!I5
C4: =Tabelle1!I6
D4: =Tabelle1!I7
usw.


Wie stelle ich das am besten an?
Vielen Dank für Vorschläge - Gevatter Googlehupf brachte mir leider nicht das gewünschte Ergebnis.


greetingz Peacer

Content-ID: 128816

Url: https://administrator.de/forum/tabelle-2-spalten-nach-rechts-erweitern-und-in-tabelle-1-zeilen-nach-unten-lesen-128816.html

Ausgedruckt am: 15.04.2025 um 15:04 Uhr

bastla
bastla 06.11.2009, aktualisiert am 18.10.2012 um 18:39:52 Uhr
Goto Top
Hallo Peacer!

Erinnert mich ein wenig an diese Frage ...

Grüße
bastla
Peacer
Peacer 06.11.2009 um 14:56:38 Uhr
Goto Top
hey bastla


in der Tat, es ist genau dieses Problem.
Ich hatte eigentlich eher an eine Excel formel gedacht. kann man da nichts ohne dieses Script machen?

Zumal ich dann eigentlich vorhatte das ganze mit einer WENN funktion auswerten zu lassen.

Also im prinzip:

=WENN(Tabelle1!I5="X";"SKI";WENN(Tabelle1!J5="X";"SKII";WENN(Tabelle1!K5="X";"SKIII";"Fehler")))

Aber er erweitern natürlich trotzdem die Spalte und nicht die Zeilennummer.

Entschuldigung das ich es nicht gleich komplett angegeben hatte

greetingz Peacer
bastla
bastla 06.11.2009 um 15:34:11 Uhr
Goto Top
Hallo Peacer!

Vorweg: Eine Lösung ohne VBA sollte mit MTRANS() zu realisieren sein ...
In der von Dir beschriebenen Anwendung könnte Dir vielleicht INDIREKT() oder eine Kombination von INDEX(), ZEILE() und SPALTE() helfen.

Als Demo:
ABCD
3 567
4I=INDIREKT("Tabelle1!"& $A4 & B$3)=INDIREKT("Tabelle1!"& $A4 & C$3)=INDIREKT("Tabelle1!"& $A4 & D$3)
5J=INDIREKT("Tabelle1!"& $A5 & B$3)=INDIREKT("Tabelle1!"& $A5 & C$3)=INDIREKT("Tabelle1!"& $A5 & D$3)
6K=INDIREKT("Tabelle1!"& $A6 & B$3)=INDIREKT("Tabelle1!"& $A6 & C$3)=INDIREKT("Tabelle1!"& $A6 & D$3)
Nachteil: Du benötigst die (im Beispiel in Zeile 3 bzw Spalte A angegebenen) Bestandteile des Zellbezuges in eigenen Zellen (die Werte der Zeile 3 ließen sich allerdings auch berechnen - siehe unten)

bzw:
BCD
4=INDEX(Tabelle1!$I$5:$K$26;SPALTE(B4)-1;ZEILE(B4)-3)=INDEX(Tabelle1!$I$5:$K$26;SPALTE(C4)-1;ZEILE(C4)-3) =INDEX(Tabelle1!$I$5:$K$26;SPALTE(D4)-1;ZEILE(D4)-3)
5=INDEX(Tabelle1!$I$5:$K$26;SPALTE(B5)-1;ZEILE(B5)-3)=INDEX(Tabelle1!$I$5:$K$26;SPALTE(C5)-1;ZEILE(C5)-3)=INDEX(Tabelle1!$I$5:$K$26;SPALTE(D5)-1;ZEILE(D5)-3)
6=INDEX(Tabelle1!$I$5:$K$26;SPALTE(B6)-1;ZEILE(B6)-3)=INDEX(Tabelle1!$I$5:$K$26;SPALTE(C6)-1;ZEILE(C6)-3) =INDEX(Tabelle1!$I$5:$K$26;SPALTE(D6)-1;ZEILE(D6)-3)
Nachteil: Die Zeilen-/Spaltennummer der Zelle, in welcher die Formel steht, fließt in die Berechnung mit ein, was beim Verschieben der Formel in eine andere Zelle eine Anpassung verlangt.

Zur Berechnung: Da der Index immer relativ zur angegebenen Matrix (im Beispiel Tabelle1!$K$5:$K$26) mit Zeile1/Spalte1 beginnt, muss aus B4 ( = Spalte2/Zeile4) auf besagte Zeile1/Spalte1 umgerechnet werden (wobei Zeile und Spalte zu vertauschen sind)

Grüße
bastla
76109
76109 06.11.2009 um 22:50:35 Uhr
Goto Top
Hallo Peacer, Hallo bastla!

Es scheint noch eine Möglichkeit zu geben, die wohl auch funktioniert:

Beispiel Tabelle 1:
A B C D E F G H I
5 11
6 22
7 33
Formeln und Ergebnis in Tabelle 2:
B C D ...
4 =BEREICH.VERSCHIEBEN(Tabelle1!$I$5;SPALTE()-2;0) =BEREICH.VERSCHIEBEN(Tabelle1!$I$5;SPALTE()-2;0) =BEREICH.VERSCHIEBEN(Tabelle1!$I$5;SPALTE()-2;0) =BEREICH.VERSCHIEBEN(Tabelle1!$I$5;SPALTE()-2;0)
= 11 22 33 ...
Die Formel in die erste Spalte kopieren und nach rechts ziehen, wobei Zeilen-Offset = Spalte() - Erste Spalte in der die Formel steht (A=1, B=2, ...)

Gruß Dieter