Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1412to1416
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

spalten zweier Blätter verbinden

spalten zweier Blätter verbinden
19.03.2015 09:26:23
Floh
Hallo,
Ich habe 2 Excel Arbeitsmappen mit je einem Blatt. Beide Blätter haben die gleichen Spalten (ca. 100) und die gleichen Zeilen. (aber unterschiedliche Werte, im einen Blatt maxima und im anderen blatt minima). Die das ganze ist eine Kreuztabelle aus MSaccess.
Nun möchte ich das so haben:
nur noch 1 blatt mit jeweils dem Maxima Wert neben dem Minima Wert der selben Spalten/Zeilen.
Ich kriegs leider nicht hin eine Bsp. Datei hochzuladen, kann die aber bei bedarf per mail zukommen lassen.
Danke für eure Hilfe.
F

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eine Beispielmappe..
19.03.2015 10:17:34
UweD
Hallo
.. ist sicherlich sinnvoll.
Gib auch den gewünschten Aufbau exemplarisch an.
Gruß UweD

AW: Eine Beispielmappe..
19.03.2015 13:40:26
Floh
Ich hab zwei beispiele angefügt, falls mir jemand helfen kann wär super.
Grüsse Floh

zwei wären aber besser gewesen ....
20.03.2015 08:50:22
neopa
Hallo Floh,
... ich hab mal Dein Anliegen interpretiert. Ich weiß zwar momentan noch nicht was Du mit der Spalte "Max_neu" bezweckst (die nämlich nicht immer dem Max_Wert entspricht) und hab dies deswegen momentan leer gelassen.
Formel A1 nach rechts und A2 nach rechts und unten kopieren:
Min_Max

 ABCDEFGHIJK
1Afghanistan  Albertine Highlands  Alborz Mountains  Alpen 
2Max_neuMinMaxMax_neuMinMaxMax_neuMinMaxMax_neuMin
3 10011729 7671977 392383 211
4 3321931 6911069 10692377 392
5 15742396 6341134 11341791 253
6 24922924 6912946 3292541 18

Formeln der Tabelle
ZelleFormel
A1=WENN(REST(SPALTE(A1); 3)=1;INDEX(Min!1:1;1+SPALTE(A1)/3); "")
A2=WENN(REST(SPALTE(A2); 3)=1;WENN(ZEILE(A1)>1;"";"Max_neu"); WENN(REST(SPALTE(A2); 3)=2;INDEX(Min!2:2;;1+SPALTE(A1)/3); INDEX(Max!2:2;1+SPALTE(A2)/3)))


Min

 ABCD
1AfghanistanAlbertine HighlandsAlborz MountainsAlpen
2MinMinMinMin
3100176739211
43326911069392
515746341134253
6249269132918


Max

 ABCD
1AfghanistanAlbertine HighlandsAlborz MountainsAlpen
2MaxMaxMaxMax
32492172919772383
43547193110692377
52547239611341791
62492292429462541


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...

Anzeige
AW: Eine Beispielmappe..
20.03.2015 11:09:56
UweD
Hallo
Ich hab das so interpretiert:
Je Land, von oben beginnen alle Werte, die innerhalb der Länderspalte untereinanderschreiben.
Ich habe mal kurze Max und Min Dateien erstellt.
Crosstab_Art_gebirge_Max
 ABCDEFGH
1GEN_SPECIEAfghanistanAlbertine HighlandsAlborz MountainsAlpenAltay MountainsApenninAtlas
2Aca_guessfeldti  17291977  1591   
3Ach_atropos3547    2377  861 
4Ach_lachesis  239611341791     
5Ach_styx  2924      11941900




Crosstab_Art_gebirge_Min
 ABCDEFGH
1GEN_SPECIEAfghanistanAlbertine HighlandsAlborz MountainsAlpenAltay MountainsApenninAtlas
2Aca_guessfeldti  76739  881   
3Ach_atropos332    392  861 
4Ach_lachesis  6341134253     
5Ach_styx  2924      6891858




Option Explicit Sub MaxMax() On Error GoTo Fehler Dim Pfad$, TB1, TB2, TB3, i%, j&, s%, r& Dim WB2$, WB3$, LR2&, LC2% Pfad = "C:\Temp\" WB2 = "Max.xlsx" WB3 = "Min.xlsx" Application.ScreenUpdating = False Set TB1 = ActiveWorkbook.ActiveSheet Workbooks.Open Filename:=Pfad & WB2 Workbooks.Open Filename:=Pfad & WB3 Set TB2 = Workbooks(WB2).Sheets(1) Set TB3 = Workbooks(WB3).Sheets(1) LC2 = TB2.Cells(1, Columns.Count).End(xlToLeft).Column s = 1: r = 1 With TB1 .Cells.ClearContents .Rows(1).Font.Bold = True For i = 2 To LC2 Step 1 ' Spaltenweise LR2 = TB2.Cells(Rows.Count, i).End(xlUp).Row For j = 1 To LR2 If TB2.Cells(j, i) "" Then .Cells(r, s + 1) = TB2.Cells(j, i) 'aus Max If j > 1 Then 'nicht bei der Überschrift .Cells(r, s + 2) = TB3.Cells(j, i) 'aus Min .Cells(r, s) = IIf(TB2.Cells(j, i) - TB3.Cells(j, i) > 0, _ TB2.Cells(j, i), TB2.Cells(j, i) + 1) End If r = r + 1 End If Next j r = 1 s = s + 3 Next i .Cells(1, 1).Delete Shift:=xlToLeft End With Workbooks(WB2).Close Workbooks(WB3).Close '*** Fehlerbehandlung Err.Clear Fehler: If Err.Number 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err. _ Clear End Sub Gruß UweD

Anzeige
das ist aber nun wirklich etwas anderes ...
20.03.2015 15:00:19
neopa
Hallo Floh,
... und Deine Textangabe in Plan!B1stimmt auch nicht völlig mit der in Plan1!A:A überein, deswegen musste ich RECHTS() noch integrieren.
In Plan2!B5 folgende Formel: =WENN(RECHTS(INDEX(Plan1!A:A;WENNFEHLER(VERGLEICH(B5;Plan1!$C:$C;);1));4)=RECHTS(B$1;4);"K 101";"") und diese nach unten kopieren. Die bedingte Formatierung kannst Du Dir auf dieser Basis nun sicherlich selbst generieren.
Gruß Werner
.. , - ...

sorry, falschem Thread zugeordnet ...
20.03.2015 15:23:24
neopa
Hallo Floh,
... mein vorhergehender Beitrag gehört in einen anderen Thread.
Gruß Werner
.. , - ...

nochmal etwas genauer...
23.03.2015 10:37:41
Floh
Hallo zusammen,
Ich versuch nochmal möglichst genau mein Problem zu schildern, bis jetzt hab ichs nicht geschafft es zu lösen…
Also, ich arbeite mit diesem WB:
https://www.herber.de/bbs/user/96568.xlsx
Das Ziel ist es, aus dem Ersten und dem Zweiten WS ein Drittes zusammen zu stellen, das folgendermassen aussieht:
https://www.herber.de/bbs/user/96569.xlsx
Die Farben sind unwichtig. In der Spalte Max_neu steht eigentlich der Max Wert, wenn jedoch der Max und der Min wert gleich hoch sind, dann ist der Max_neu Wert um eins Höher.
Ich hoffe jetzt ist das Problem klar dargestellt, und jemand von euch hat eine Lösung dafür.
Grüsse
Floh

Anzeige
AW: nochmal etwas genauer...
23.03.2015 13:55:18
UweD
Hallo
da sieht man wieder wie wichtig es ist, "echte Daten" zu liefern.
  • In deinen ersten Fragen hast du von 2 Mappen mit je einer Tabelle mit Min bzw. Max gesprochen
    Jetzt ist es nur eine Mappe aber mit 2 Tabellen

  • im ursprünglichen Bild begannen die Werte in Spalte B, Spalte A konnte also weggelassen werden
    Jetzt hast du in den Ursprungsdaten Spalte A schon weggenommen..

  • Ich hab mein ursprüngliches Makro daraufhin nochmal angepasst.
    ABER in Zeile 383 stimmen die Werte in Min bzw. Max nicht mehr überein.
    Ab da sind die zugehörenden Minwerte eine Zeile tiefer.
    Dein Beispiel kann nicht aus diesen beiden Werten entstanden sein.
    Lösche ich Zeile 383 in der Mintabelle stimmen die errechneten Werte des Makros mit deinem Beispiel überein. (ausser bei den Alpen... Also ist hier irgend was in der Tabelle falsch )
    Option Explicit
    Sub MaxMax()
    On Error GoTo Fehler
    Dim Pfad$, TB1, TB2, TB3, i%, j&, s%, r&
    Dim WB2$, LR2&, LC2%
    Pfad = "C:\Temp\" 'anpassen
    WB2 = "Min_Max.xlsx" 'anpassen
    Application.ScreenUpdating = False
    Set TB1 = ActiveWorkbook.ActiveSheet
    Workbooks.Open Filename:=Pfad & WB2
    Set TB2 = Workbooks(WB2).Sheets("oGBIF_per_Polygon_Crosstab_min")
    Set TB3 = Workbooks(WB2).Sheets("oGBIF_per_Polygon_Crosstab_max")
    LC2 = TB2.Cells(1, Columns.Count).End(xlToLeft).Column
    s = 1: r = 1
    With TB1
    .Cells.Clear
    .Rows(1).Font.Bold = True
    For i = 1 To LC2 ' Spaltenweise
    LR2 = TB2.Cells(Rows.Count, i).End(xlUp).Row
    For j = 1 To LR2
    If TB2.Cells(j, i)  "" Then
    .Cells(r, s + 1) = TB2.Cells(j, i) 'aus Min
    If j > 1 Then .Cells(r, s + 2) = TB3.Cells(j, i) 'aus Max
    If j = 2 Then .Cells(r, s) = "Max_neu"
    If j > 2 Then .Cells(r, s) = IIf(TB3.Cells(j, i) - TB2.Cells(j, i) > 0, _
    TB3.Cells(j, i), TB3.Cells(j, i) + 1)
    r = r + 1
    End If
    Next j
    r = 1
    s = s + 3
    Next i
    .Cells(1, 1).Delete Shift:=xlToLeft
    End With
    Workbooks(WB2).Close
    '*** Fehlerbehandlung
    Err.Clear
    Fehler:
    If Err.Number  0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err. _
    Clear
    End Sub
    
    Gruß UweD
    Rückmeldung wäre nett

    Anzeige
    wollt mich gerade Deiner Zusatzfrage annehmen ...
    23.03.2015 14:13:44
    neopa
    Hallo Floh,
    ... sehe aber nun, dass Uwe Dir inzwischen eine Makrolösung dafür gebaut hat.
    Stelle deshalb meine Formellösung zurück.
    Gruß Werner
    .. , - ...

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige