Spalten suchen und Wert wiedergeben
#1
Hallo zusammen,

ich habe aktuell ein Problem mit Excel und hoffe, dass mir jemand behilflich sein kann.

Es geht um folgendes:
Ich möchte eine Excel-Tabelle bauen mit einer Auflistung von verschiedenen Komponenten mit unterschiedlichen Teilenummern. Nun ist es so, dass über die Zeit technische Änderungen durchgeführt werden und sich dadurch manchmal die Teilenummer ändert. Jedoch verliert man dadurch schnell die Übersicht. Daher habe ich eine separate Spalte (A) definiert, die immer die aktuelle Teilenummer anzeigen soll. Dadurch müsste man die Spalten nach rechts durchsuchen bis die erste Spalte "Neue Teilenummer" erscheint und falls die Zelle nicht leer ist, die entsprechende Teilenummer übernehmen. Falls die Zelle leer ist, müsste Excel weitersuchen bis zur nächsten Spalte "Neue Teilenummer" etc. Ist dies überhaupt möglich?

Etwas problematisch ist, dass die Anzahl der Spalten für jede technische Änderung nicht identisch ist (siehe Beispiel).

Vielen Dank für jede Hilfe oder Alternativvorschläge!


Angehängte Dateien
.xlsx   Beispiel.xlsx (Größe: 9,2 KB / Downloads: 9)
Top
#2
Hallo ExcelNeuling,

Ich habe B3 mal geleert, um zu testen - Formel A3 als Matrixformel eingeben! Funktioniert bis 999 Spalten (vgl. 999 in Formel) - Spaltenbereiche entsprechend erweitern.

Tabelle1

ABCDEFGHIJK
1Änderung 4Änderung 3Änderung 2Änderung 1
2Aktuelle TeilenummerNeue TeilenummerKostenBeschreibungNeue TeilenummerBeschreibungNeue TeilenummerKostenBeschreibungNeue TeilenummerBeschreibung
3123456781111111112345678
Formeln der Tabelle
ZelleFormel
A3{=WENNFEHLER(INDEX($B3:$K3;1;MIN(WENN($B$2:$K$2="Neue Teilenummer";WENN($B3:$K3<>"";SPALTE($B$1:$K$1);999)))-1);"")}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Top
#3
Hallo nach einer Anregung (ich glaube ich habe das zuerst bei lupo1 gesehen) schlage ich das hier vor kein CSE-Abschluss nötig (die Bereiche bitte anpassen)..:
Ich hoffe, das richtig verstanden zu haben..:

Arbeitsblatt mit dem Namen 'Tabelle1 (2)'
ABCDEFGHIJK
1Änderung 4Änderung 3Änderung 2Änderung 1
2Aktuelle TeilenummerNeue TeilenummerKostenBeschreibungNeue TeilenummerBeschreibungNeue TeilenummerKostenBeschreibungNeue TeilenummerBeschreibung
3123456781111111112345678

ZelleFormel
A3=INDEX(B3:K3;;VERGLEICH(1;INDEX(--($B$2:$X$2="Neue Teilenummer")*(B3:X3<>""););))
Verwendete Systemkomponenten: [Windows (32-bit) NT :.00] MS Excel 2013
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
[-] Folgende(r) 2 Nutzer sagen Danke an Jockel für diesen Beitrag:
  • Schachspieler, ExcelNeuling99
Top
#4
Hallo Jörg,

diese Lösung ist um Einiges eleganter und übersichtlicher als die Matrixformel. Ich hatte in der Matrixformel mit Wenn(Und()) experimentiert, lkam dabei an nicht ans Ziel. Werde ich in meine Formelsammlung aufnehmen.

Was ich aber generell unglücklich finde ist, dass bei Formeln die default-Werte gesetzt und nicht explizit hingeschrieben werden. Ist gerade für nicht so routinierte Anwenderschwer zu verstehen. So ist eigentlich bei Vergleichstyp der default-Wert 1, aber wenn man ihn in deiner Formel explizit angibt, muss man 0 wählen. Dies verwirrt mich jetzt selbst irgendwie.
Top
#5
Hallo Jörg,

möglicherweise hast Du die Matrixbildung mittels INDEX() zuerst bei Lupo gesehen. Aber vor ihm hab zumindest ich diese "Technologie" zur Vermeidung des Einsatzes einer klassischen Matrixformel eingesetzt (dies hat Lupo mir gegenüber in einem anderen thread in einem anderen Forum auch schon bestätigt).  Evtl. bzw. möglicherweise/sicherlich war ich aber auch nicht der Erste, der dies so anwendet. Aber ich hab es ohne Kenntnis dessen eigenständig (auch) so "entwickelt"

Diese Art Formel bezeichne ich deshalb auch schon seit mehreren Jahren als Matrixfunktion(alität)sformel, wie auch analog die AGGREGAT()-, VERWEIS(2/(...);...)-, MMULT()-, HÄUFIGKEIT() -... Formeln, deren Einsatz ohne den klassischen Matrixformelabschluss auskommen.

Im konkreten Beispiel hätte ich die Formel z.B. so geschrieben: =INDEX(3:3;1+VERGLEICH(1;INDEX(--(LINKS(B2:Z2;3)="Neu")*(B3:Z3>0);0);))


@Andreas,

ich hab "früher" die Angabe des Vergleichstyp der Funktion VERGLEICH() in einer Formel nach dem 2. Semikolon auch immer weggelassen, weil Excel das dann fehlende 3. Argument nach dem Semikolon, intern automatisch durch eine 0 (bzw. FALSCH) ersetzt. Das hab ich mir in de letzten Zeit auf entsprechenden begründeten Hinweis von Sepp Burch inzwischen wieder weitestgehend abgewöhnt, auch wenn meistens die 0 wie auch hier nicht notwendig ist.
Gruß Werner
.. , - ...
[-] Folgende(r) 1 Nutzer sagt Danke an neopa für diesen Beitrag:
  • Jockel
Top
#6
Hallo Werner,

jetzt bin ich aber noch mehr irritiert

Zitat:fehlende 3. Argument nach dem Semikolon, intern automatisch durch eine 0 (bzw. FALSCH) ersetzt.

Lt. Excel-Hilfe (Excel 2007)
Zitat:Fehlt das Argument Vergleichstyp, wird es als 1 angenommen.

Und dies scheint auch so zu sein - oder verhält sich Vergleich default-mäßig anders, wenn es in andere Formel eingebettet ist?

Tabelle1

BCD
14,5
232
342
45#NV
Formeln der Tabelle
ZelleFormel
D2=VERGLEICH(D1;B2:B4)
D3=VERGLEICH(D1;B2:B4;1)
D4=VERGLEICH(D1;B2:B4;0)

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Top
#7
Thumbs Up 
Hallo Schachspieler & Jockel,

vielen Dank für die Hilfe. Die Formel von Jockel funktioniert einfach tadellos! Faszinierend. Nur leider kann ich sie nicht ganz nachvollziehen :20: .

Vielen Dank und einen schönen Restsonntag!
Top
#8
(07.01.2018, 10:03)neopa schrieb: Hallo Jörg,

möglicherweise hast Du die Matrixbildung mittels INDEX() zuerst bei Lupo gesehen. Aber vor ihm hab zumindest ich diese "Technologie" zur Vermeidung des Einsatzes einer klassischen Matrixformel eingesetzt (dies hat Lupo mir gegenüber in einem anderen thread in einem anderen Forum auch schon bestätigt).  Evtl. bzw. möglicherweise/sicherlich war ich aber auch nicht der Erste, der dies so anwendet. Aber ich hab es ohne Kenntnis dessen eigenständig (auch) so "entwickelt"...

Hi Werner, das war meine Wahrnehmung. Ich selber bin eher, einer der anwendet nicht entwickelt... Sehr viel hole ich mir von excelformeln.de - man muss das Rad ja nicht neu erfinden und das ist  ja ein Füllhorn an Denkanstößen. Ich schreibe ja wenn, dann "zuerst gesehen". Das heißt ja nicht, dass es das nicht schon vorher gab... Von deinen Ideen habe ich auch schon partizipiert, wenn dir das wichtig ist (ich habe auch sehr viel von Bosko (Edgar) gelernt oder von (shift-del) Detlef oder ....) , wer zuerst welche Idee hatte teile mir das gerne mit...   Außerdem klaue ich ja nicht, sondern wandele ja ab... so wie ich das geposetet hatte, habe ich das vorher noch nicht gesehen...
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#9
(07.01.2018, 16:42)ExcelNeuling99 schrieb: Hallo Schachspieler & Jockel,

vielen Dank für die Hilfe. Die Formel von Jockel funktioniert einfach tadellos! Faszinierend. Nur leider kann ich sie nicht ganz nachvollziehen :20: .

Vielen Dank und einen schönen Restsonntag!

Der Schachspieler ist Andreas... Ob er so gut Schach spielt (wie er excelt) müßte er noch beweisen - am besten bei einem XL-Treffen... (na wie wär's Andreas...?)
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#10
Hallo Jörg,

bekanntlich ist alles relativ (Schach/Excel) - ich habe das Treffen in Dahn (Nähe meiner Geburtsheimat) mal im Auge, aber mich noch nicht endgültig entschieden.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste