Verschiebung und Zurücksetzen unter mehreren Wenn-Bedingungen

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

FreshPaul
Beiträge: 2
Registriert: Sa, 09.05.2015 21:08

Verschiebung und Zurücksetzen unter mehreren Wenn-Bedingungen

Beitrag von FreshPaul »

Moin Moin.

Ich verzweifle ein wenig an meiner Tabelle. Sitze dort jetzt schon etliche Zeit daran und mein Kopf ist bereits explodiert.

Folgendes Problem:
Ich habe eine Tabelle, in der bestimmte Lehrgänge angezeigt werden.
Ich habe dabei mehrere Spalten:
LEHR "Lehrgang 1" → Personen, die im Unterricht des Lehrgangs sind. (Spalte H;Zeile 48)
Lehrgangsende "Lehrgang 1" → Datum und Uhrzeit, an dem dieser Lehrgang für diese Personen beendet ist. (Spalte N;Zeile 48)
und Lehrgang beendet "Lehrgang 1" → Personen, die den Lehrgang beendet haben. (Spalte Q;Zeile 48)

Folgendes möchte ich erreichen:
Wenn die Zeit Lehrgangsende kleiner als heute ist und LEHR "Lehrgang 1" größer als 0,
dann soll die Zahl von LEHR"Lehrgang 1" in Lehrgang beendet "Lehrgang 1" verschoben werden und gleichzeitig die Zahl von LEHR"Lehrgang 1" zurück auf die Zahl 0 gesetzt werden.

Mein Ansatz ist jetzt:

=WENN(UND((H48>0)~(JETZT()<N48);(UND(VERSCHIEBUNG(H48;0;9))~(H48=0)));(H48=H48))

In Q48 steht folgende Formel: =WENN(N48=HEUTE();H48;WERT(JETZT()-N48))

Ich komme nicht weiter.
Gibt es da Möglichkeiten?
Am besten wäre es, wenn man die Formel "auslagern" könnte, also in einer anderen, unbenutzten Zelle steht, damit bei LEHR"Lehrgang 1" nicht so eine riesen Formel steht und man nicht immer suchen muss, wo man die neuen Lehrgangsteilnehmer eintragen muss.

Liebe Grüße, FreshPaul
Dateianhänge
Foto Tabelle.png
Foto Tabelle.png (139.44 KiB) 1732 mal betrachtet
Karolus
********
Beiträge: 7524
Registriert: Mo, 02.01.2006 19:48

Re: Verschiebung und Zurücksetzen unter mehreren Wenn-Bedingungen

Beitrag von Karolus »

Hallo
Ich verzweifle ein wenig an meiner Tabelle. Sitze dort jetzt schon etliche Zeit daran und mein Kopf ist bereits explodiert.
Ja das merkt man -- erst eine konfuse Erklärung, mit ebenso konfusen Formeln, und zum Schluss noch ein 140Kb fetter Screenshot mit null Informationsgewinn.
Schlaf erst mal aus und morgen erklärst du dein Problem nochmal in verständlichen Worten und statt eines Screenshots hängst du du einfach das Tabellendokument selbst an. ( als .ods )
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
FreshPaul
Beiträge: 2
Registriert: Sa, 09.05.2015 21:08

Re: Verschiebung und Zurücksetzen unter mehreren Wenn-Bedingungen

Beitrag von FreshPaul »

Sorry.
Ich habe die Tabelle eingefügt.
Ich möchte als Endergebnis, dass der Wert aus einer Spalte (LEHR XX) in eine andere Spalte (Lehrgang beendet XX) verschoben wird.
Das ganze soll erst passieren, wenn das Datum der Spalte, in der das Enddatum des Lehrgangs (Lehrgangsende XX) steht, vergangen ist und der Wert in der Spalte, aus der es verschoben wird (LEHR XX) größer als 0 ist (da 0 bedeutet, dass kein Lehrgang stattfindet!).
Ich weiß nicht, wie ich es noch anders erklären soll, aber eigentlich ist es mit Hilfenahme der Tabelle verständlich.
Dateianhänge
Gesamtübersicht Lehrgänge open office.ods
(18.71 KiB) 55-mal heruntergeladen
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Verschiebung und Zurücksetzen unter mehreren Wenn-Bedingungen

Beitrag von lorbass »

Mit Calc-Standardfunktionen kann das Verschieben nicht realisiert werden, da diese grundsätzlich nur den Wert der Zelle ändern können, in der sie selbst stehen. Die Manipulation der Werte „fremder“ / „entfernter“ Zellen ist individuell programmierten Funktionen vorbehalten.

Fragen zur Programmierung eigener Funktionen kannst du im Bereich OOo Basic und Java klären.

Eine leicht modifizierte Lösung, die ohne eigene Programmierung möglich ist, kann du z.B. so realisieren:
  1. Zelle R6
    Menüwahl Format → Bedingte Formatierung…
    [✓] Bedingung 1
    • Formel ist → W6<HEUTE()
    • Zellvorlage → <neue Zellvorlage mit Formatcode → ;;;; und passender Hintergrundfarbe
  2. Zelle AB6

    Code: Alles auswählen

    =WENN( UND( R6>0; W6<HEUTE() ); R6; "" )
  3. R6 und AB6 jeweils soweit wie erforderlich nach rechts und nach unten ziehen.
Die Bedingte Formatierung im Zellbereich R6:V35 mit dem Formatcode ;;;; (vier Semikola!) sorgt dafür, dass die Zellinhalte nach Eintreten der Bedingungen nicht mehr angezeigt werden. Sie werden also nicht verschoben, sondern bleiben an Ort und Stelle und werden lediglich verborgen, so dass sie im Zellbereich AB6:AF35 weiterhin herangezogen, verarbeitet und angezeigt werden können.

Gruß
lorbass


PS: Bemerkungen zur Bedingten Formatierung
  1. Der Formatcode ;;;; ist nur auf numerische Werte anwendbar, nicht auf Text. Nach deiner Beschreibung gehe ich aber davon aus, dass diese Bedingung erfüllt ist, da du die Anzahl Teilnehmer, also eine Zahl, eintragen willst.
  2. Wenn nach Fristablauf unbedingt eine Null angezeigt werden soll, kannst du auch einen Formatcode der Art "0";;;;, "0";"0";;;, … verwenden. Auch hierdurch ist lediglich die Darstellung betroffen; die betroffenen Zellwerte ändern sich dadurch nicht.
lorbass
Antworten