Registriert seit: 22.02.2016
Version(en): 2010
02.03.2016, 13:39
(Dieser Beitrag wurde zuletzt bearbeitet: 02.03.2016, 13:39 von Woofer.)
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?
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
02.03.2016, 13:50
(Dieser Beitrag wurde zuletzt bearbeitet: 02.03.2016, 13:50 von RPP63.)
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)
Registriert seit: 15.04.2014
Version(en): 2007, 2010, 2019
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)
Registriert seit: 22.02.2016
Version(en): 2010
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:
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
02.03.2016, 15:01
(Dieser Beitrag wurde zuletzt bearbeitet: 02.03.2016, 15:01 von RPP63.)
Hi! Na, dann wird es einfach! :05: D1:D11 sind gefüllt. Spalte D markieren, Bedingte Formatierung, neue Regel, Formel ist: | D | 1 | 10 | 2 | 9 | 3 | 8 | 4 | 7 | 5 | 6 | 6 | 5 | 7 | 4 | 8 | 3 | 9 | 2 | 10 | 1 | 11 | 0 | Bedingte Formatierungen der Tabelle | Zelle | Nr.: / Bedingung | Format | D1 | 1. / 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)
Registriert seit: 06.12.2015
Version(en): 2016
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
Registriert seit: 06.12.2015
Version(en): 2016
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
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
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: - Warum postest Du ungetesteten Code (ersichtlich an der Kleinschreibung)?
- Warum verwendest Du nicht deklarierte zur Unkenntlichkeit verstümmelte Variablen wie c01, c02?
- Willst Du snb nachahmen?
- Warum verwendest Du vbRed, 255 ist doch viel kryptischer und bedeutet das Gleiche?
- Hat Dir schon mal jemand gesagt, dass Range.Find (zwischen-)gespeicherte Werte nimmt, wenn sie nicht explizit angegeben werden?
- Kennst Du die Verwendung von Code-Tags?
- 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)
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
10.03.2016, 14:55
(Dieser Beitrag wurde zuletzt bearbeitet: 10.03.2016, 14:56 von schauan.)
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 | 1 | 1 | 2 | 1 | 3 | 1 | 4 | 2 | 5 | 1 | 6 | 3 |
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)
|