Alle Beiträge und Antworten
Aspidisca - 01.02.2006, 14:05
Excel-Tabelle. Brauche Hilfe bei Programmierung
Servus an alle Excel-Experten,
ich habe ein neues Excel-Problem und hoff mich hier verständlich auszudrücken bzgl. was ich mit der Tabelle die ich gerade mach erreichen will.
Spalte C führt einstellige Zahlen von 1 bis 7 (Wetterschlüssel), ich brauche am Ende der Spalte C eine Zelle, in der die Summe der Zahlen 1 und 2 erfasst wird.
Beispiel: Sind 3x die zahl 2 und 5x die Zahl 1, dann muss als Ergebnis 8 in der Zelle stehen.
Welche Formel ist dafür nötig?
In der Spalte D habe ich 2-bis 4-stellige Werte (Zulauf m³). Am Ende dieser Spalte brauch ich die Summe dieser, die in der Spalte C mit 1 oder 2 gekennzeichnet sind.
Weiss mir jemand zu helfen?
Gruss Alex
normenoel - 01.02.2006, 14:58
Hallo Alex,
ich würde mir da folgende Lösung zurechtwurschteln, die zwar vermutlich nicht besonders elegant ist, aber sie funktioniert und falls niemand eine bessere Lösung weiss - so geht halt auch:
Ein gesondertes Tabellenblatt für Zwischenberechnungen anlegen (das kann man anschließend sogar ausblenden, dann sieht man es auch gar nicht mehr). Dann mit Bezug auf Deine Spalte C die folgende Funktion verwenden :
=WENN(Tabelle1!C1<3;1;0)
(Tabelle 1 natürlich nur, wenn Dein Tabellenblatt auch so benannt ist, ansnsten abändern, aber eigentlich macht Excel das auch von selber, wenn man den Zellenbezug durch Klicken herstellt)
und so weiter...... , du erhälst dann für jeden 1er- oder 2er-Wert in dieser Spalte eine 1 die Du am Ende der Spalte dann lediglich addieren musst. Die Addition dieser Werte kannst Du ja mit einem Zellenbezug in Deine richtige Tabelle übernehmen.
Die Addition der Zulaufmengen geht dann ähnlich. Ebenfalls auf dem Rgesonderten Tabellenblatt eine neue Spalte mit der Funktion:
=WENN(Tabelle1!C1<3;Tabelle1!D1;0)
Die Vorgehensweise ist dann wie oben; also die Spalte addieren und per Zellenbezug in die Haupttabelle übernehmen.
Ich hoffe das war halbwegs verständlich.
Grüße Normen
Aspidisca - 02.02.2006, 17:00
normenoel hat folgendes geschrieben: Hallo Alex,
ich würde mir da folgende Lösung zurechtwurschteln, die zwar vermutlich nicht besonders elegant ist, aber sie funktioniert und falls niemand eine bessere Lösung weiss - so geht halt auch:
Ein gesondertes Tabellenblatt für Zwischenberechnungen anlegen (das kann man anschließend sogar ausblenden, dann sieht man es auch gar nicht mehr). Dann mit Bezug auf Deine Spalte C die folgende Funktion verwenden :
=WENN(Tabelle1!C1<3;1;0)
(Tabelle 1 natürlich nur, wenn Dein Tabellenblatt auch so benannt ist, ansnsten abändern, aber eigentlich macht Excel das auch von selber, wenn man den Zellenbezug durch Klicken herstellt)
und so weiter...... , du erhälst dann für jeden 1er- oder 2er-Wert in dieser Spalte eine 1 die Du am Ende der Spalte dann lediglich addieren musst. Die Addition dieser Werte kannst Du ja mit einem Zellenbezug in Deine richtige Tabelle übernehmen.
Die Addition der Zulaufmengen geht dann ähnlich. Ebenfalls auf dem Rgesonderten Tabellenblatt eine neue Spalte mit der Funktion:
=WENN(Tabelle1!C1<3;Tabelle1!D1;0)
Die Vorgehensweise ist dann wie oben; also die Spalte addieren und per Zellenbezug in die Haupttabelle übernehmen.
Ich hoffe das war halbwegs verständlich.
Grüße Normen
Servus,
also ich hab mir mal den Ratschlag mit der "Formeltabelle" zu Herzen genommen. Wollte es zwar auf die elegante Art und Weise machen (ohne), doch Excel scheint noch nicht kompliziert genug zu sein dafür :D
Nun habe ich es nach langem daran "rumwurschteln" fast fertig gestellt. Mit den Formeln von oben bin ich zwar nicht arg zurecht gekommen, habe dennoch anhand dieser Hilfestellung einen Weg gefunden.
Gruss Alex
normenoel - 02.02.2006, 19:03
Hallo Alex,
Aspidisca hat folgendes geschrieben: Mit den Formeln von oben bin ich zwar nicht arg zurecht gekommen,
Das ist schlecht :(
Vermutlich waren meine Erklärungen etwas mager, denn funktionieren tut es. Ich hatte mir eine kleine Testtabelle angelegt und da lief es einwandfrei.
Aspidisca hat folgendes geschrieben: habe dennoch anhand dieser Hilfestellung einen Weg gefunden.
Das wiederum ist gut. :-) Und wenn es so funktioniert wie Du das gewollt hast, dann ist ja alles o,k und man sieht wieder mal : Viele Wege führen zum Ziel!
Grüße Normen
Martin - 06.02.2006, 08:05
Excel-Problem
Hi,
also für Deine Trockenwettertage verwendest Du am besten die Funktion 'ZÄHLENWENN':
=zählenwenn(C1:C31;"<3")
Und für Q (TW) würde ich eine zusätzliche Spalte einfügen. In die schreibst Du dann:
=wenn(C1<3;A1;"") bzw.
=wenn(C1<3;B1;"")
So werden in dieser Spalte nur die Trockenwetter-Zu(Ab-)laufmengen angezeigt. Unter der Spalte kannst Du dann ganz normal die Summe berechnen.
Du kannst natürlich auch die Funktion 'SUMMEWENN' verwenden. Dann kannst Du Dir die zusätzliche Spalte sparen:
=summewenn(C1:C31;"<3";A1:A31)
Hier bin ich mir wegen der Syntax aber nicht sicher. Falls es nicht funzt, dann gib einfach '=summewenn' ein und drücke dann die Taste 'F1'.
Martin
Der Abwasser-Excel-Profi
normenoel - 06.02.2006, 08:37
Hallo Martin,
guter Tipp, das mit dem "ZÄHLENWENN" - die Funktion kannte ich bisher noch nicht. Werde ich mir von nun an merken :idea: und wenn´s passt auch mal ausprobieren.
Grüße Normen
Aspidisca - 06.02.2006, 12:38
Mit der Funktion "Zählenwenn" habe ich unter anderem auch gearbeitet. Tabelle funktioniert jetzt einwandfrei (JSM-Bestimmung).
Wahrscheinlich gehen diese/eure Formeln bei mir nicht, da ich auf dem PC, mit dem ich die Tabelle erstellt hatte, die Tabellenkalkulation von www.OpenOffice.org installiert habe. Da scheint´s kleine Unterschiede zu geben, müsste ich quasi das Thema statt "Excel-Hilfe" in "OpenOffice-Hilfe" ändern :D
Gruss Alex
Martin - 07.02.2006, 07:58
Das 'ZÄHLENWENN' lässt sich auch gut einsetzen, wenn man seine Überschreitungen (daß jetzt keiner fragt: was sind denn Überschreitungen? ;o) ) zählen will. Z.B.:
=ZÄHLENWENN(B2:B32;">18")
Wenn man die Überschreitungen zusätzlich noch farblich markieren will, dann wird es schon komplizierter. Das ließe sich zwar auch über Zellfunktionen lösen, aber komfortabler ist es doch über ein Mini-Makro:
Option Explicit
Sub Überschreitungen_Einfärben()
Dim intZeile As Integer
Dim intSpalte As Integer
Dim intZähler As Integer
Dim varGrenzwert As Variant
intZeile = 2 'Zeile, ab der die Werte beginnen
intSpalte = 2 'Spalte, in der die Werte stehen
varGrenzwert = 18 'der Grenzwert, dessen Überschreitung farblich markiert werden soll
' Schleife, um die Zeilen nacheinander abzuarbeiten
For intZähler = intZeile To intZeile + 31
' alle Farben etc. wieder auf 'Normal' setzen
Cells(intZähler, intSpalte).Font.ColorIndex = xlAutomatic
Cells(intZähler, intSpalte).Interior.ColorIndex = xlNone
Cells(intZähler, intSpalte).Font.Bold = False
' Prüfen, ob die Bedingung 'Grenzwert überschritten' erfüllt ist
If Cells(intZähler, intSpalte) > varGrenzwert Then
Cells(intZähler, intSpalte).Font.ColorIndex = 3 'Schriftfabe 'ROT'
Cells(intZähler, intSpalte).Font.Bold = True 'Fettdruck
Cells(intZähler, intSpalte).Interior.ColorIndex = 28 'Hintergrundfarbe 'Türkis'
End If
Next
End Sub
Martin
PS:
Wenn jemand nicht weiß, wie und wo er das Makro eingeben soll, dann möchte er sich melden. Natürlich auch, wenn er sonst irgendwelche Fragen hat.
Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken