Clever-Excel-Forum

Normale Version: Bezug/Durchschnittswert mehrerer Werte anderer Tabellenblätter
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo ihr Experten,

mit meinem Excelproblem komme ich gerade absolut nicht mehr weiter und hoffe, ihr könnt mir helfen.

Im ersten Tabellenblatt meiner Datei soll eine Auswertung über die Daten der anderen Tabellenblätter gemacht werden. Dabei soll der Wert/Text aus der ersten Spalte des ersten Tabellenblattes in den ersten Spalten der anderen Tabellenblättern gesucht werden und für alle entsprechenden Ausgabewerte in deren zweiten Spalte der Durchschnitt im ersten Tabellenblatt in der zweiten Spalte ausgegeben werden. Da die Anzahl und die Benennung der Tabellenblätter variabel ist, habe ich zwei Hilfstabellenblätter (=Start & Stop) eingefügt. Idee ist, alle Tabellenblätter zwischen diesen für die Auswertung heranzuziehen.

Haltet mich nicht für faul, aber ich habe schon einiges versucht, was nicht funktioniert hat. Mit meinem Latein bin ich am Ende Sad Daher habe ich euch eine Beispieldatei angehängt, die mein Problem veranschaulicht. Ich hoffe, ihr könnt mir weiterhelfen! Über jede Hilfe bin ich dankbar.
Hallo,

Wow, gleich auf Anhieb in 3 Foren gefunden. Cross-Posting ist nicht so gern gesehen. Du solltest zumindest die Beiträge untereinander verlinken.

http://www.office-loesung.de/p/viewtopic.php?f=166&t=735932
http://www.ms-office-forum.net/forum/sho...p?t=342245

Wo hast Du es denn noch gepostet?
(02.05.2017, 09:00)Der Steuerfuzzi schrieb: [ -> ]Hallo,

Wow, gleich auf Anhieb in 3 Foren gefunden. Cross-Posting ist nicht so gern gesehen. Du solltest zumindest die Beiträge untereinander verlinken.

http://www.office-loesung.de/p/viewtopic.php?f=166&t=735932
http://www.ms-office-forum.net/forum/sho...p?t=342245

Wo hast Du es denn noch gepostet?

Hallo Michael,

sehr aufmerksam. Du hast alle gefunden und korrekt verlinkt! Danke dafür Thumps_up
Hallo

Ich habe mal eine Lösung ausprobiert, bin aber mit dem Ergebnis nicht zufrieden.
Nach jedem Button Klick veraendern sich die Werte, ich nehme an Zufallszahlen-

mfg  Gast 123
Hallo Gast123,

deine Lösung funktioniert, allerdings kann ich sie nicht nachvollziehen und für meine richtige Tabelle portieren.

Da es sich nur um eine Beispieldatei handelt um mein Problem darzustellen, hatte ich diese mit Zufallszahlen erstellt.

Wie kann ich deine Lösung für eine andere Tabelle übernehmen (wo muss/kann ich die Bezüge ändern?)

Danke,
Petra
Hi,

Matrixformel** (STRG+UMSCHALT+EINGABETASTE) in B2:

=MITTELWERT(WENN(N(BEREICH.VERSCHIEBEN(INDIREKT("'"&SheetList&"'!A1");ZEILE(A$1:A$100)-MIN(ZEILE(A$1:A$100));))=A2;N(BEREICH.VERSCHIEBEN(INDIREKT("'"&SheetList&"'!B1");ZEILE(A$1:A$100)-MIN(ZEILE(A$1:A$100));))))

wobei SheetList in Namens-Manager als:

={"Tabelle2"."beliebiger Name"."dfhfdg"."3454867"}

definiert ist.

Grüße
Berichtigung:

=MITTELWERT(WENN(N(BEREICH.VERSCHIEBEN(INDIREKT("'"&SheetList&"'!A1");ZEILE(A$1:A$100)-MIN(ZEILE(A$1:A$100));0))=A2;N(BEREICH.VERSCHIEBEN(INDIREKT("'"&SheetList&"'!B1");ZEILE(A$1:A$100)-MIN(ZEILE(A$1:A$100));0))))

Grüße
Hallo Petra,

es freut mich das mein Makro als Beispieşl funktioniert.  Zum Anpassen hier eine Code Beschreibung  Achte im Code auf dieses Zeichen:   '##

Dieses Zeichen dieint zur Programm Erklaerung und was du dort aendern kannst.  Wenn es nicht klappt gib mir einfach die richtigen Spalten in deinen Tabellen an.  Probier es aber bitte zuerst mal selbst.  Bringt Erfahrung.  Ich nehme an die Auswertung Tabelle bleibt in Spalte A+B bestehen?
Mein Programm geht davon aus das in den Tabellen xxx die Spalte für den 2. Wert immer rechts neben der 1. Suchspalte ist.

mfg  Gast 123

Code:
With Worksheets("Auswertung")
  'LastZell in Spalte A Auswertung ermitteln     '## LastZell in Tabelle Auswertung Hier Spalte A
  lz = Cells(Rows.Count, 1).End(xlUp).Row        '## die Zahl 1 steht für 1.Spalte  Cells(Rows, 1)  
 
  '1.Schleife für alle Suchkriterien laden       '## der .Punkt for Range besagt: Tabelle Auswertung!
  For Each AC In .Range("A2:A" & lz)             '## hier kannst du die Spalten in Auswertung aendern
    '2.Schleife für alle Blaetter auswerten
    For j = a To b                               '## a + b sind 1. + letzte Tabellen Index Nr
            '##  Worksheets(j).Columns(1) = Columns(1) ist Spalte A oder so schreiben ("A")
            '##  stehen die Daten in einer anderen Spalte nur die Spalte aendern, als (2) od. ("B")  
            '##  und bitte beim Text After:= den Range immer mit aendern!! z.B. auf "B1"    
    Set rFind = Worksheets(j).Columns(1).Find(What:=AC, After:=Range("A1"), LookIn:=xlValues, _
        LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)
   
             '##  mit der Auswertung kannst du auch spielen, es gibt drei Varianten
             '##  die 1.Variante ist als lange Kommazahl, die anderen als kurze Zahl gedacht      
           '**  Auswertung drei Varianten:
           'Werte als Kommazahl (6 Stellen)
           AC.Cells(1, 2).Value = Wert2 / n    'Kommazahl
         
           'Werte als Ganzzahl oder 2 Kommastellen
          'AC.Cells(1, 2).Value = CInt(Wert2)   'Ganzzahl
          'AC.Cells(1, 2).Value = Round(Wert2 / n, 2)  '2 Kommastellen
.