Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1396to1400
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

Rechenschritte zusammenfassen

Rechenschritte zusammenfassen
28.12.2014 22:49:53
Markus

Hallo,
habe folgende Rechnungen:
A1 bis A10 = Einzelwerte
B1 bis B10 je (Zeilenspezifisch) = A1*100/mittelwert(A1:A10)
ergibt also relativwerte
Zusammenfassung dann durch:
D1 = Mittelwert(B1:B10)
Ich würde gern die Hilfsspalte (B) vermeiden! Gibts da einen
Weg? Arrays? Weiß leider nicht wie...
Danke für Eure Hilfe!
VG
Markus

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Rechenschritte zusammenfassen
28.12.2014 23:47:09
Matze Matthias
Hallo Markus,
nur per VBA möglich, ansonsten würde ein Zirkelbezug zur Spalte A entstehen.
Gruß Matze

AW: Rechenschritte zusammenfassen
29.12.2014 00:12:16
Matze Matthias
Hallo Markus,
wenn ich es richtig verstanden habe dann diesen Code in das entsprechende Tabellenblatt
im VBA Editor einfügen.
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

  Dim rc    As Range
  Dim Mw    As Double


    If Intersect(Target, Range("A1:A10")) Is Nothing Then Exit Sub

    Application.EnableEvents = False

    Mw = Application.WorksheetFunction.Average(Range("A1:A10"))

        For Each rc In Target.Cells

              rc.Value = rc.Value * 100 / Mw

        Next
    
    Range("D1").Value = Mw
    
    Application.EnableEvents = True
End Sub
Sobald im Bereich A1:A10 eine Zahl geändert wird ergibt es den NEUEN WERT der Zelle mit dem vorangegangenen
(alten)Mittelwert aus A1:A10. Der neue Mittelwert wird berechnet. Dieser steht dann aktuell in D1.
Gruß Matze

Anzeige
AW: Rechenschritte zusammenfassen
29.12.2014 00:12:43
{Boris}
Hi Markus,
{=MITTELWERT(A1:A10*100/MITTELWERT(A1:A10))}
Aber das muss IMMER 100 ergeben - welchen Sinn ergibt das?
VG, Boris

AW: Rechenschritte zusammenfassen
29.12.2014 00:17:42
Matze Matthias
Hi Boris,
in A1 - A1 stehen Einzelwerte, wo sind die in deiner Formel?
Matze

Sorry, aber...
29.12.2014 00:21:00
{Boris}
Hi Matze,
...ich halte Dein Makro für falsch, da just im Moment der Eingabe auch der Eingabewert verändert wird.
Lies Dir nochmal die Aufgabe durch.
Allerdings habe ich ja auch die Sinnhaftigkeit der Frage bereits gestellt.
VG, Boris

AW: Sorry, aber...
29.12.2014 00:36:40
Matze Matthias
hi Boris,
du hast recht, da stimmt einiges nicht, war zu schnell gedacht,
ich mach jetzt Schluss, bin gespannt auf die Antwort von Markus
N8 Matze

Anzeige
Wenn diese Rechnung unter Spalte B stehen ...
29.12.2014 01:14:47
Luc:-?
…würde, Markus,
hätte sie evtl noch einen Hauch von Sinnhaftigkeit, denn es ist üblich, einem Insgesamt von Einzelwerten und ihren prozentualen Anteilen an diesem eine 100 ggüberzustellen, aber dafür muss man letztere weder addieren noch wie hier ihren Mittelwert bilden. Auch zu reinen KontrollZwecken ist diese Aktion unsinnig.
Während die Einzelwerte deiner „Hilfsspalte“ durchaus einen ökonomischen Sinn haben → prozentuale Abweichung eines Einzelwerts vom Mittel aller Werte (<100 weniger, >100 mehr als der Mittelwert =100), hat deine anvisierte HptRechnung keinen, denn ein Mittelwert prozentualer Anteile am Mittelwert einer Gesamtheit kann nur wieder dieser Mittelwert sein, hier also 100, denn er wird durch die EinzelRechnungen als 100 angenommen. Würde man Differenzen zum Mittelwert bilden, würde er als 0 angenommen wdn.
Wenn man dir also ernsthaft helfen soll, musst du schon mit deiner statistisch-ökonomischen ZielStellung herausrücken, denn dein Lösungsansatz ist offensichtlich falsch.
Morrn, Luc :-?

Anzeige
AW: Wenn diese Rechnung unter Spalte B stehen ...
29.12.2014 15:00:50
Markus
Hi Leute!
Tja, da habt ihr irgendwo recht :) Habe einen Datensatz vergessen zu erwähnen,
bzw. zur späten Stunde nicht mehr aufgepasst.
A1 bis A10 sollen dem Mittelwert von z.Bsp. A11 bis A20 gegenübergestellt werden,
nicht sich selbst... die Rechnung in Spalte B wäre also =A1*100/mittelwert(A11:A20).
Das Array scheint tatsächlich zu funktionieren(in angepasster form :) ). Verstehe
immer nicht, welcher Teil des Arrays einzeln durchgerechnet wird
und welcher "normal"...
Entschuldigt die Verwirrung!
Danke vielmals!

Na, dann isset ja klar, ...
29.12.2014 15:52:56
Luc:-?
…Markus! ;-]
Da du ja Probleme mit dem Verständnis von (1zelligen) MatrixFmln hast, mach doch mal Folgendes:
1. Ersetze deine gezogene Fml in der Hilfsspalte B …
    B1[:B10]:=RUNDEN(A1*100/MITTELWERT(A$11:A$20);2)
    …durch die mehrzellige MatrixFml …
    B1:B10:{=RUNDEN(A1:A10*100/MITTELWERT(A$11:A$20);2)}
2. Die zusammenfassende Fml …
    =RUNDEN(MITTELWERT(B1:B10);2)
    …hat dann in beiden Fällen ein genau gleiches Ergebnis (die Werte sind ja die Gleichen!), das auch dem der folgenden entspricht …
3. Zusammenfassung beider Fmln als 1zellige MatrixFml:
    {=RUNDEN(MITTELWERT(A1:A10*100/MITTELWERT(A11:A20));2)}
Der Ausdruck A1:A10*100/MITTELWERT(A11:A20) als Argument von MITTELWERT wird zuerst berechnet und bildet ein Datenfeld (vertikaler Vektor), das den EinzelWerten von 1. entspricht. Durch die Eingabe als MatrixFml wird auch das ganze Datenfeld verwendet (sonst nur sein 1.Element). Damit ist dann sichergestellt, dass sein Mittelwert auch in nur einer FmlZelle richtig berechnet wird.
Alles klar?!
Gruß, Luc :-?

Anzeige
AW: Na, dann isset ja klar, ...
29.12.2014 16:05:37
Markus
Hi Luc,
noch nicht ganz klar, aber ich widme mich dem durchdenken mal! :)
Wo wir dabei sind. kann man das ganze per array um noch eine Dimension
erweitern?
Habe nämlich ein Blatt mit mehreren Spalten in denen die Einzelwerte
wie beschrieben stehen, wobei jede Spalte ein Einzeldatensatz ist.
Mit dem jetztigen Array werte ich also einen Einzeldatensatz aus,
{=MITTELWERT(B76:B146*100/MITTELWERT(B6:B75))}
am ende benötige ich aber noch den Mittelwert aus den durch dieses Array
berechneten Werten der verschiedenen Spalten
habe also auch {=MITTELWERT(c76:c146*100/MITTELWERT(c6:c75))} etc. (20 Spalten)
mit zum Beispiel
{=MITTELWERT(B76:L146*100/MITTELWERT(B6:L75))}
geht es ja nicht...
Aber ich vermute mal das wird nichts ohne Zwischenschritt, oder?
Besten Dank!
Markus
{=MITTELWERT(B76:B146*100/MITTELWERT(B6:B75))}
Die Datensätze

Anzeige
Ja, MITTELWERT reißt dann alles an sich, ...
30.12.2014 03:19:56
Luc:-?
…Markus,
auf 1× und endgültig. Aber es geht schon noch was. Allerdings bin ich auf keine gute Lösung nur mit xlStandardFktt gekommen, um die spaltenweisen VglsMittelwerte wegfallen zu lassen. Das erweist sich auch mit INDIREKT u/o XLM-Fkt AUSWERTEN (→Speicherung als .xlsm/b erforderlich!) in benannter Fml als schwierig, da Xl hier in der benannten Fml mit INDIREKT die Bereiche unter dem Einfluss von MITTELWERT anders behandelt/durchläuft als in der ZellFml (im folgd Bsp mehrzellige MatrixFml in A22:C22, die reine Datenform fktioniert aber →E22:G22 im Bsp). Folglich bleibt ggf nur, diese Zellen zu verstecken (ausblenden oder in einer VerbundZelle speziellen Typs hinter dem EndErgebnis platzieren → im Bsp VbZelle D22:G22, E22:F22 hier sichtbar, aber im Original auf Spaltenbreite 0 reduziert und im Verbund mit D22).
Mit einer UDF wie Compute (im Bsp A23:D23) ist es aber dank eingebauter Platzhalter-Fktionalität möglich, sowohl die SpaltenWerte als auch einen GesamtWert (unabhängig von dokumentierter Bildung ersterer) zu bilden. Allerdings neigt die UDF in diesem Fall zu Ergebnis-Instabilität. Sie steht auch nur sehr Wenigen zV und das soll/muss (vorerst) auch so bleiben.
D24 dient im nflgd Bsp Kontrollzwecken:
Anzeige
Vielen Dank!
30.12.2014 18:25:24
Markus
Luc.
Ich werde mir das mal in Ruhe durchdenken. Vorerst aber mit den Spalten leben.
Wenn ich dann mal Fragen zu dem thema habe melde ich mich nochmal :)
In diesem Sinne also einen guten Rutsch!!!
VG, Markus

Na, dann Gesundes Neues! Gruß owT
02.01.2015 14:37:09
Luc:-?
:-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige