Registriert seit: 16.02.2021
Version(en): 2010
Hallo zusammen, ich habe gerade ein Problem, bei dem ich nicht weiterkomme. Ich würde gerne die Zeilen und Spaltenüberschriften auslesen, wo jeweils ein x gegeben ist und auflisten lassen. Jedoch finde ich keinen Ansatz dafür. Folgendes Problem: Code: 1 2 3 4 5 a b x c d e f x
was muss ich tun, damit mir irgendwie angezeigt wird, dass bspw. ein Verbindung zu b2 und f5 gegeben ist? ich würde in diesem Fall gerne die 5 und das f ermitteln. Aber wie geht das? Über jeden Tipp wäre ich froh. Besten Dank. Viele Grüße
Registriert seit: 12.08.2019
Version(en): Office 365
Hallo,
was ist wenn mehrere x da stehen? Woher soll Excel wissen, welches x du auslesen willst?
Gruß Sigi
Registriert seit: 16.04.2014
Version(en): xl2016/365
Hola, Code: =INDEX($B$1:$F$1;AGGREGAT(15;6;SPALTE(B1:F1)-1/(B2:F7="x");ZEILE(A1)))&INDEX($A$2:$A$7;AGGREGAT(15;6;ZEILE($A$2:$A$7)-1/($B$2:$F$7="x");ZEILE(A1)))
Gruß, steve1da
Registriert seit: 11.03.2015
Version(en): mittlerweile meistens 2019
22.09.2022, 15:16
(Dieser Beitrag wurde zuletzt bearbeitet: 22.09.2022, 15:17 von Der Steuerfuzzi.)
Hallo Steve,
Deine Formel funktioniert nur korrekt, wenn die Zeilen und Spalten der Kreuze gleichermaßen aufsteigend sortiert sind, da Du die Zeilen und Spalten unabhängig ermittelst. Das Ergebnis stimmt z. B. nicht mehr wenn die Kreuze in 5a und 3f sind.
=INDEX($1:$1;REST(AGGREGAT(15;6;(ZEILE($A$2:$A$7)+SPALTE($B$1:$F$1)%%)/($B$2:$F$7="x");ZEILE(A1));1)*10000)&INDEX($A:$A;GANZZAHL(AGGREGAT(15;6;(ZEILE($A$2:$A$7)+SPALTE($B$1:$F$1)%%)/($B$2:$F$7="x");ZEILE(A1))))
Gruß Michael
Registriert seit: 16.04.2014
Version(en): xl2016/365
@Michael: du hast völlig Recht, danke!
Registriert seit: 16.02.2021
Version(en): 2010
22.09.2022, 15:20
(Dieser Beitrag wurde zuletzt bearbeitet: 22.09.2022, 15:27 von Ronn.)
Hallo steve1da,
besten Dank für deine Rückmeldung. das macht (fast) genau das was es soll. gibt es auch eine Möglichkeit eine Auflistung vorzunehmen, die mehrere Kreuzangaben zulässt? Sprich in Zeile b stehen bei 2 und bei der 5 ein x.also dann b -> 2,5.
Geht das auch irgendwie?
Viele Grüße und Megadank für deinen Input.
@Steuerfuzzi
Besten Dank für den Hinweis. Habe deine Formel ebenfalls ausprobiert. das alles was ich bisher erhalten habe läuft schon recht gut. Jedoch muss jedes Kreuz in der jeweiligen Zeile aufgezeigt werden. Dachte das passiert auch automatisch, aber irgendwie nicht. Ist es überhaupt möglich alles Spalten sich auflisten zu zeigen. Bspw. wenn in b bei jeder Zahl 1-5 ein Kreuz wäre. Würde das irgendwie umsetzbar sein das alles aufzulisten?
Nochmals herzlichen Dank für euren Support
Registriert seit: 11.03.2015
Version(en): mittlerweile meistens 2019
Um alles auflisten zu können muss die Formel so weit nach unten gezogen werden, dass alle Vorkommnisse abgedeckt sind. Ein paar Zeilen mehr schaden nicht und den Fehler kann man mit WENNFEHLER "ausblenden". =WENNFEHLER(INDEX($1:$1;REST(AGGREGAT(15;6;(ZEILE($A$2:$A$7)+SPALTE($B$1:$F$1)%%)/($B$2:$F$7="x");ZEILE(A1));1)*10000)&INDEX($A:$A;GANZZAHL(AGGREGAT(15;6;(ZEILE($A$2:$A$7)+SPALTE($B$1:$F$1)%%)/($B$2:$F$7="x");ZEILE(A1))));"")
Gruß Michael
Registriert seit: 28.08.2022
Version(en): 365
22.09.2022, 16:42
(Dieser Beitrag wurde zuletzt bearbeitet: 22.09.2022, 16:49 von HKindler.)
Hi, dein Excel ist leider zu alt. Bei aktuellem Excel wäre es =TEXTVERKETTEN(", ";WAHR;WENN(B2:F7="x";A2:A7&B1:F1;""))In A2:A7 sind deine Buchstaben, in B1:F1 deine Zahlen und in B2:F7 deine "x". Ausgabe als z.B. "b2, c4, c5, e5" Mit meiner selbst definierten Funktion TextVerketten2 statt TEXTVERKETTEN und der Eingabe als Matrix-Formel (Abschluss mit Strg-Shift-Enter) geht's auch mit deiner Version. {=TextVerketten2(", ";WAHR;WENN(B2:F7="x";A2:A7&B1:F1;""))}Code: Function TextVerketten2(TrennZeichen As String, LeereIgnorieren As Variant, _ ParamArray Texte() As Variant) As Variant 'entspricht TextVerketten von Excel2016, kommt mit Fehlern besser klar Dim Bereich As Variant Dim EinzelText As Variant Dim erg As String Dim i As Long, k As Long Dim iMax As Long, kMax As Long If IsMissing(LeereIgnorieren) Then LeereIgnorieren = True For Each Bereich In Texte EinzelText = FeldFüllen(Bereich) iMax = UBound(EinzelText, 1) kMax = UBound(EinzelText, 2) For i = 1 To iMax For k = 1 To kMax If IsError(EinzelText(i, k)) Then erg = erg & "!!" & TrennZeichen Else If Not (LeereIgnorieren And EinzelText(i, k) = "") Then erg = erg & EinzelText(i, k) & TrennZeichen End If End If Next k Next i Next Bereich If Len(erg) Then erg = Left(erg, Len(erg) - Len(TrennZeichen)) End If TextVerketten2 = erg End Function
Function FeldFüllen(Eingabe As Variant) As Variant 'erzeugt aus Eingabe ein zweidimensionales Feld Dim Ausgabe As Variant Dim Bereich As Range Dim i As Long If TypeName(Eingabe) = "Range" Then Set Bereich = Intersect(Eingabe.Worksheet.UsedRange, Eingabe) If Bereich Is Nothing Then ReDim Ausgabe(1, 1) Ausgabe(1, 1) = CVErr(xlErrNA) FeldFüllen = Ausgabe Exit Function End If If Bereich.CountLarge > 1 Then FeldFüllen = Bereich Exit Function End If End If If IsArray(Eingabe) Then On Error Resume Next Ausgabe = Eingabe(1, 1) 'Test, ob Eingabe zwei Dimensionen hat On Error GoTo 0 If Not IsEmpty(Ausgabe) Then 'vorige Zuweisung hat geklappt: zwei Dimensionen sind bereits da FeldFüllen = Eingabe Exit Function End If ReDim Ausgabe(1 To UBound(Eingabe), 1 To 1) For i = 1 To UBound(Eingabe) 'eindimensionales Feld in zwei Dimensionen kopieren Ausgabe(i, 1) = Eingabe(i) Next i FeldFüllen = Ausgabe Exit Function End If ReDim Ausgabe(1 To 1, 1 To 1) Ausgabe(1, 1) = Eingabe FeldFüllen = Ausgabe End Function
Gruß, Helmut
Win10 - Office365 / MacOS - Office365
Registriert seit: 29.09.2015
Version(en): 2030,5
22.09.2022, 17:21
(Dieser Beitrag wurde zuletzt bearbeitet: 22.09.2022, 17:21 von snb.)
In K1: =F_snb(A1:F8;"x") Im algemeinem Makromodul: Code: Function F_snb(sn, c00) For Each it In sn If it = c00 Then c01 = c01 & " " & sn(it.Row, 1) & sn(1, it.Column) Next
F_snb = Trim(c01) End Function
Fertig
Registriert seit: 16.02.2021
Version(en): 2010
@HKindler: Super! dein Makro hat es gebracht. So hat es funktioniert. BESTEN DANK!
Eine abschließende Frage habe ich aber (leider) noch. Wie müsste das Makro angepasst werden, dass nur die Zahl aufgezählt wird? Also ohne zusätzlichen Buchstaben davor. Das lässt sich doch etwas besser lesen dann.
@snb: auch an dich ein Dank für den Support. Teste ich auch gleich mal aus.
Viele Grüße
|