Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zellen farbl. makieren, wenn sie zusammen addiert 50% eines Betrages X ergeben.
#1
Hallo zusammen,

das geht bestimmt mit einer bedingten Formatierung, nur mit welcher Formel?

Beispiel:
A1-A100 ergeben zusammen den Wert X
Ich möchte nun alle Zellen farblich hervor heben, die zusammen addiert 50% vom Gesamtbetrag X ergeben.


Theoretisch müsste ich A1+A2 zusammen rechnen und mit X überprüfen. Dann A1+A2+A3 und überprüfen usw.
Sobald die Tabelle aber unsortiert ist Also A1 nicht unbedingt größer als A2, geht mein Lösungsansatz schon wieder nicht.

z.B kann es ein, dass in einer Tabelle z.B. A15 alleine schon 50% erreicht.
in einer anderen Tabelle sind es z.B A5+A20+A45+A70, die zusammen 50% ergeben.


unlösbar oder hat Excel auch dafür eine Formel parat?
Antworten Top
#2
Hallo!
Zitat:Unlösbar?

Wahrscheinlich!
Schließlich greift hier die Kombinatorik.
Bei unsortierter Liste können es gerne mal 20.000 unterschiedliche Lösungen sein.
(Für die älteren unter uns: Welches Schweinderl hättens gerne?)

Vielleicht habe ich Dich aber auch falsch verstanden.
Dann solltest Du mal genauer erklären.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
heje excelfreunde, woofer,

ich glaube, dass das anliegen wesentlich komplexer ist, als wooffer uns das schildert.

Zitat:Ich möchte nun alle Zellen farblich hervor heben, die zusammen addiert 50% vom Gesamtbetrag X ergeben.

farblich hervorheben

was ist mit zellen, die von vornherein > 50% sind ?
was ist mit zellen die mehrfach, also in verschieden kombinationen vorkommen können ?

darf die summation immer nur 50% ergeben, oder >=50%...

woofer, wie siehst du diese gedankenansätze!!!!
Vielen Dank
--Janosch
                                                     
Excel  2019 (64bit)  Win 10 Pro (64bit)                              
Antworten Top
#4
Genau 50% wäre wohl ein 6er im Lotto.
Gerne auch ab >=50...

Wie in meinem Beispiel oben kann es auch passieren, dass schon eine Zelle alleine >50% ist und somit die einzige wäre die farblich markiert wird.

Momentan ist es noch viel Handarbeit. Erst nach Größe sortieren, dann solange zusammen addieren bis mindestens 50% erreicht sind. :05:
Antworten Top
#5
Hi!
Na, dann wird es einfach!  :05:
D1:D11 sind gefüllt.
Spalte D markieren, Bedingte Formatierung, neue Regel, Formel ist:

D
110
29
38
47
56
65
74
83
92
101
110
Bedingte Formatierungen der Tabelle
ZelleNr.: / BedingungFormat
D11. / Formel ist =SUMME(D$1:D1)<SUMME(D:D)*50%Abc

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#6
Hallo Woofer,

Eine einfache Lösung ist, die Daten in ein neues Sheet zu kopieren und dort zu sortieren. Die Berechnungen sind dann trivial und müssten dann mittels verweis bzw find wieder im Original gesucht und farblich markiert werden.

Mfg
Antworten Top
#7
Hallo,

ein kleiner Schritt, nur eine Zeile und Werte im Bereich A-Z.

Es gibt noch ein Problem falls die selben Zahlen mehrfach auftreten-

Sub mLarge()
Dim rng as range
cSum = evaluate("sum(a1:z1)")
c02=0

Do while c02< cSum /2
i = i +1
c01= evaluate("large(a1:z1," & i & ")")
Set rng = range("a1:z1").find(c01)
Rng.interior.color = vbred
c02=c02 + c01
Loop
End sub

Merkwürdigerweise gab bei c01 ")" keinen Syntaxerror.

Mfg
Antworten Top
#8
Zitat:Merkwürdigerweise gab bei c01 ")" keinen Syntaxerror.

Kann ja auch nicht, so auf dem Tablet und ohne .xlsm 
Was folgt, ist meine exklusive Meinung:
  1. Warum postest Du ungetesteten Code (ersichtlich an der Kleinschreibung)?
  2. Warum verwendest Du nicht deklarierte zur Unkenntlichkeit verstümmelte Variablen wie c01, c02?
  3. Willst Du snb nachahmen?
  4. Warum verwendest Du vbRed, 255 ist doch viel kryptischer und bedeutet das Gleiche?
  5. Hat Dir schon mal jemand gesagt, dass Range.Find (zwischen-)gespeicherte Werte nimmt, wenn sie nicht explizit angegeben werden?
  6. Kennst Du die Verwendung von Code-Tags?
  7. Weist Du, dass Einrückungen den Code lesbarer machen (zumindest lesbaren (SIC!))?
Ich höre besser auf, ist nicht persönlich gemeint (wie auch, ich kenne Dich ja nicht).

Gute Besserung wünscht
mit einem freundlichen Gruß
Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#9
Hallöchen,

Zwar nicht aus der ersten Fragestellung, aber aus den folgenden Erläuterungen, kann man schließen, dass bei der Addition mit den größten Werten begonnen werden soll und falls die Addition der größten genau auf 50% kommt, die Seite der kleinsten nicht formatiert werden soll.

Entsprechend wäre der VBA-Code die Lösung, wenn auch noch nicht komplett??
In diesem Fall wird mir nur die 3 markiert. Gesamtsumme ist 9, die Hälfte 4,5. Wenn ich nun die beiden größten Zahlen addiere, kommt 5 raus, also mehr als die Hälfte.
Addiere ich zur 3 nur 1, bin ich bei 4, also unter der Hälfte. Was ist nun gewünscht?


Arbeitsblatt mit dem Namen 'Tabelle1'
 A
11
21
31
42
51
63
Diese Tabelle wurde mit Tab2Html (v2.5.0) erstellt. ©Gerd alias Bamberg

Zitat:Gerne auch ab >=50...
Also müsste die 2 noch dazu kommen - einfach zu erreichen z.B. durch Setzen der Addition c02 = c02 + c01 an den Beginn der Schleife.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


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