Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Summe bilden, wenn Zahlen fett?

Frage Microsoft Microsoft Office

Mitglied: AlbertMinrich

AlbertMinrich (Level 2) - Jetzt verbinden

11.06.2008, aktualisiert 20.06.2008, 16826 Aufrufe, 17 Kommentare

Hallo,

ist es möglich, eine Summe zu bilden, bei der nur die Zellen addiert werden, die fett formatiert sind?

Danke
Martin
Mitglied: bastla
11.06.2008 um 23:45 Uhr
Hallo AlbertMinrich!

Sollte unter Verwendung von VBA so gehen: Mit Alt-F11 den VBA-Editor starten, Menü "Einfügen / Modul" wählen und den folgenden Code in das große Code-Fenster einfügen:
01.
Function SUMMEFETT(Bezug As Range) 
02.
Application.Volatile 
03.
Summe = 0 
04.
For Each Zelle In Bezug 
05.
    If Zelle.Font.Bold Then 
06.
        If IsNumeric(Zelle.Value) Then Summe = Summe + Zelle.Value 
07.
    End If 
08.
Next 
09.
SUMMEFETT = Summe 
10.
End Function
Danach kann der VBA-Editor geschlossen werden.

In der Tabelle steht jetzt die Funktion SUMMEFETT() zur Verfügung. Diese Funktion erwartet als Argument einen Zellbereich. Beispiel:
01.
=SUMMEFETT(A3:A14)
Damit VBA verwendet werden kann, musst Du noch die Sicherheitseinstellungen anpassen - dazu in "Extras\Makro\Sicherheit..." auf "Mittel" stellen. Die neue Einstellung wird erst beim nächsten Start von Excel wirksam und fragt dann beim Öffnen der Datei nach der Erlaubnis, das enthaltene Makro auszuführen.

Falls die Funktion in allen Mappen zur Verfügung stehen soll, kannst Du, wie hier beschrieben, ein "Add-In" erstellen.

Grüße
bastla
Bitte warten ..
Mitglied: simsons
11.06.2008 um 23:47 Uhr
Mach die Fetten Zahlen einfach schwarz.

Fette schwarze Zahlen addieren sich normalerweise von selbst,
im gegensatz zu den fetten roten da ist normalerweise ein minus zu verzeichnen
Bitte warten ..
Mitglied: AlbertMinrich
12.06.2008 um 09:55 Uhr
@bastla
Danke, funktioniert super, allerdings wird die Summe immers erst nach F9 aktualisiert. Kann man das noch optimieren?


@simsons
Was meinst du mit schwarz machen? Die Zahlen sind doch (standardmässig) schwarz.

Gruß
Martin
Bitte warten ..
Mitglied: bastla
12.06.2008 um 11:48 Uhr
Hallo AlbertMinrich!

... immers erst nach F9 aktualisiert.
... und nach jeder inhaltlichen Änderung in der Tabelle - für eine Aktualisierung aufgrund einer Formatierungsänderung habe ich leider keine Idee ...

Grüße
bastla
Bitte warten ..
Mitglied: AlbertMinrich
14.06.2008 um 22:23 Uhr
Danke, damit kann ich leben. Jetz hab ich aber ein anderes Problem.
Wenn ein Feld über eine bedingte Formatierung fett wird, dann sieht das zwar fett aus, ist es aber nicht wirklich. Zu erkennen über den Button Fett in der Menülseite. Der ist nicht gedrückt.
Und somit greift auch die Formel summefett nicht.

Was kann ich da machen?
Danke
Bitte warten ..
Mitglied: bastla
14.06.2008 um 22:27 Uhr
Hallo AlbertMinrich!

Wenn sich eine "Bedingte Formatierung" machen lässt, müsste auch ein SUMMEWENN() anwendbar sein - wie sieht denn die Bedingung aus?

Grüße
bastla
Bitte warten ..
Mitglied: AlbertMinrich
17.06.2008 um 20:42 Uhr
Hallo,

ich erklär mal, was ich machen will. Also, in den Zellen A1 - A3 steht
A1: Deutschland
A2: Italien
A3: Frankreich

In Zelle B1 steht auch ein Land. Es muss nicht eins der genannten sein, wenn aber schon, dann soll Zelle B1 fett werden, ebenso Zelle C1, in der eine Zahl steht.
Das gleiche mit den Zellen B2 und C2, B3 und C3 usw. bis B8 und C8.

In Zelle C9 schliesslich soll die Summe der fetten C-Zellen (C1 - C8) gebildet werden.



Vielleicht gehe ich das ganze ja falsch an.

Danke
Martin
Bitte warten ..
Mitglied: bastla
19.06.2008 um 23:59 Uhr
Hallo AlbertMinrich!

Wenn es tatsächlich nur um den Vergleich mit den Zellen A1 bis A3 geht, könnte die Formel in C9 so aussehen:
01.
=SUMME(((B1:B8=$A$1)+(B1:B8=$A$2)+(B1:B8=$A$3))*C1:C8)
Da es sich hier um eine Matrixformel handelt, ist die Eingabe (auch nach jeder Änderung / Bearbeitung) mit der Tastenkombination Strg+Umsch+Enter zu bestätigen. In der Bearbeitungszeile wird dann die Formel innerhalb von geschwungenen Klammern {} angezeigt.

Grundlage der Berechnung sind Wahrheitswerte für die Übereinstimmung: Jede der einzelnen "Behauptungen" (wie etwa B1:B8=$A$1) liefert als Ergebnis 1 (trifft zu, hier also Inhalt der Zelle stimmt mit dem Vergleichswert aus Spalte A überein) oder 0 (keine Übereinstimmung). Die Summe aller (3) Überprüfungen kann in diesem Fall nur entweder 0 (überhaupt keine Übereinstimmung) oder 1 (Übereinstimmung mit dem Inhalt von A1 oder A2 oder A3) lauten.

Diese Summe wird dann mit dem Wert aus der Spalte C multipliziert (was entweder 0 oder den entsprechenden Wert aus C ergibt). Alle Produkte dieser Multiplikationen werden schließlich zum Gesamtergebnis summiert.

Durch die Verwendung der Array-Funktionalität kann diese Vorgangsweise gleich für alle Zellen von B1 bis B8 (und die korrespondierenden Zellen der Spalte C) verwendet werden.
Alternativ dazu könntest Du (nur um das Prinzip besser nachvollziehen zu können) in die Zellen D1 bis D8 (hier als Beispiel für D1, lässt sich dann nach unten kopieren) jeweils nur
01.
(B1=$A$1)+(B1=$A$2)+(B1=$A$3)
und in die Zellen E1 bis E8
01.
=C1*D1
eingeben. Wenn Du die 8 Werte in Spalte E addierst, erhältst Du das gewünschte Ergebnis.

Die Array-Formel macht genau das Selbe, erspart Dir aber die Verwendung der Hilfsspalten D und E.

Grüße
bastla
Bitte warten ..
Mitglied: AlbertMinrich
20.06.2008 um 20:40 Uhr
Vielen Dank,

funktioniert super.
Ein Problem hab ich jetzt noch, das ich eigentlich schon gelöst hatte (glaub ich zumindest). Es geht um die bedingte Formatierung. Um beim Beispiel zu bleiben: Wenn das Land in B1 in der Matrix A1:A3 vorkommt, sollen die Zellen B1 und C1 fett werden bzw. wenn nicht, sollen die Zellen durchgestrichen werden. Ersteres hatte ich schon mal hinbekommen mit sverweis, aber irgendwie weiss ich nicht mehr, wie ich es gemacht hatte.

Kannst du mir da noch helfen? Wer sich mit Matrix-/Arrayformeln auskennt bzw. weiss, dass es sowas überhaupt gibt, für den ist das bestimmt eine Kleinigkeit.

Gruß
Martin
Bitte warten ..
Mitglied: bastla
20.06.2008 um 20:53 Uhr
Hallo AlbertMinrich!

Wenn Du nur zwei Möglichkeiten zu unterscheiden hast, genügt eine bedingte Formatierung (die andere Variante kannst Du als gewöhnliche Zellformatierung festlegen).

Die zu verwendende Formel könnte so aussehen:
01.
=ODER($B1=$A$1;$B1=$A$2;$B1=$A$3)
Dadurch, dass $B1 als gemischter Bezug (Spaltenangabe mit "$", Zeilenangabe ohne "$") geschrieben ist, kannst Du diese Formatierung auch auf andere Zellen übertragen ("Pinsel"-Symbol verwenden) - es wird in jeder Zeile die Formatierung (auch der weiteren Spalten) davon abhängig gemacht, ob der Wert in der Spalte B auch in A1:A3 vorkommt.

Die SVERWEIS-Variante wäre dann vorteilhaft, wenn eine größere Tabelle (als nur A1:A3) zu berücksichtigen wäre - dafür könntest Du schreiben:
01.
=NICHT(ISTFEHLER(SVERWEIS($B1;$A$1:$A$3;1;0)))
Grüße
bastla
Bitte warten ..
Mitglied: AlbertMinrich
20.06.2008 um 20:58 Uhr
OK,

habs hinbekommen mit dieser Formel:
=WENN(VERGLEICH(b1;$A$1:$A$3;0)>0;1;0)
Bitte warten ..
Mitglied: bastla
20.06.2008 um 21:03 Uhr
Hallo AlbertMinrich!

Mit VERGLEICH geht's auch noch kürzer:
01.
=VERGLEICH($B1;$A$1:$A$3;0)
Grüße
bastla

P.S.: Falls das jetzt genügt: http://www.administrator.de/index.php?faq=32

[Edit] Danke. [/Edit]
Bitte warten ..
Mitglied: AlbertMinrich
20.06.2008 um 21:06 Uhr
Hallo,

eigentlich sind es ja drei Möglichkeiten: nicht formatiert, durchgestrichen und fett.
Aber es klappt jetzt, hab als zweite Formatierung diese hier:
=WENN(ISTFEHLER(VERGLEICH(B1;$A$1:$A$3;0));1;0)

Gruß
Martin
Bitte warten ..
Mitglied: bastla
20.06.2008 um 21:10 Uhr
Hallo AlbertMinrich!

Nur interessehalber: Die beiden Möglichkeiten "kommt in A1:A3" vor oder "kommt nicht in A1:A3 vor" sind mir klar - wo bleibt da aber noch Raum für eine dritte Bedingung? "Nicht formatiert" scheidet somit eigentlich nach Deiner obigen Beschreibung aus.

Grüße
bastla
Bitte warten ..
Mitglied: AlbertMinrich
20.06.2008 um 21:20 Uhr
Die Zellen A1 - A3 sind erstmal leer, solange soll b1 unformatiert sein, erst wenn alle gefüllt sind, wird b1 dann entweder fett oder durchgestrichen.

Gruß
Martin
Bitte warten ..
Mitglied: bastla
20.06.2008 um 21:36 Uhr
... und das klappt tatsächlich bei Dir mit diesen beiden "Bedingten Formatierungen"? Eigentlich müsste mE als erstes abgefragt werden, ob zB A1 noch leer ist, und dafür eine Formatierung im Sinne von "unformatiert" vergeben werden.

Grüße
bastla
Bitte warten ..
Mitglied: AlbertMinrich
20.06.2008 um 22:08 Uhr
Stimmt natürlich. Aber ich mach´s jetzt mit 2 Matrixen. a1-a3 für fett und b1-b3 für durchgestrichen.
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst CMD Echo in Fett, Kursiv oder unterstrichen ausgeben (8)

Frage von Luuke257 zum Thema Batch & Shell ...

Batch & Shell
gelöst Spezielles Batch Problem mit Zahlen 20 + 29 (2)

Frage von narthan zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (32)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...