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-Key: 128816

Url: https://administrator.de/contentid/128816

Printed on: April 19, 2024 at 20:04 o'clock

Member: bastla
bastla Nov 06, 2009, updated at Oct 18, 2012 at 16:39:52 (UTC)
Goto Top
Hallo Peacer!

Erinnert mich ein wenig an diese Frage ...

Grüße
bastla
Member: Peacer
Peacer Nov 06, 2009 at 13:56:38 (UTC)
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
Member: bastla
bastla Nov 06, 2009 at 14:34:11 (UTC)
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
Mitglied: 76109
76109 Nov 06, 2009 at 21:50:35 (UTC)
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