PDA

Vollständige Version anzeigen : Auswerten von Zellen, die an einer bestimmten Position stehen


Martin_Chr
02.03.2006, 12:05
Hallo zusammen,

wir setzen ein Excel-Sheet zur kombinierten Zeiterfassung & Projektabrechnung ein. Dabei gibt es in einem File pro MA je ein Tabellenblatt pro Monat. In einem Bereich der Sheets werden dann pro Tag die Arbeitszeiten eingegeben. Nun kann es dadurch zu Problemen kommen, dass eine Zelle verschoben wird (z.B. um ein Fehleingabe zu korrigieren)

Beispiel: in A1 wird die "Kommen-Zeit" eingegeben, B1 enthält eine Begrenzung der Art =max(6:00; A1) da die Arbeitszeit erst ab 6:00 gewertet werden soll.

Wenn nun der Eintrag der in A1 eingetragen wurde nach A2 verschoben wird, so wird nach Excel Logik der Bezug in B1 ja aktualisert. Ist im Normalfall ja auch völlig ok so - in diesem Fall aber ziemlich lästig und fehleranfällig (die Formeln in dem Sheet sind a) per Blattschutz ausgeblendet und b) teilweise auch in ausgeblendeten Spalten enthalten).

Gibt es eine Möglichkeit das Verschieben von Zellen/Einträgen zu verhindern? Oder lässt sich sonst irgendwie erreichen, dass sich B1 immer auf den aktuellen Wert der in der Zelle A1 steht bezieht?

Gruß und Danke,
Martin

Venom
02.03.2006, 13:50
Hi
Du könntest das ganze Arbeitsblatt einfach sperren unter Extras -->Schutz-->
und müsstest vorher nur die Zellen definieren in die trotzdem einträge gemacht werden dürfen.
Ich glaube der Schutz beinhaltet auch dfas Zellen nicht verschoben werden können.
Hoffe ich habe das richtig verstanden.

Eine Zelle aus dem Schutz zu nehmen machst du in dem du die Zelle anklickst und unter Format --Zellen-->Schutz-->das häckchen bei "Gesperrt" rausnimmst....

Die alternative wäre VBA...wobei ich denke das die o.g. Lösung reicht (vorausgesetzt ich habe es richitg verstanden)

Gruß
Venom

jinx
02.03.2006, 17:25
<font size="2" face="Century Gothic">Moin, Martin,

für die letzte Frage: sieh Dir doch bitte in der Online Hilfe INDIREKT an.</font>

Martin_Chr
03.03.2006, 08:19
Hallo Jinx,
stimmt, der Weg über INDIREKT funktioniert; bin gestern Nachmittag auch auf die Idee gekommen und habe es gestern gegen später am Abend auch so implementiert.
Danke,
Martin

Martin_Chr
17.05.2006, 08:26
Hallo,

jetzt ist gerade ein neues Problem aufgetaucht... über INDIREKT() wird sichergestellt, dass in den folgenden immer der Wert verwendet, den in einer bestimmten Zelle steht, unabhäging davon ob zuvor irgendwelche Verschiebungen o.ä. stattgefunden haben. Ist soweit für ein reines Eingabe-Sheet ja auch super.

Aber......

Leider gibt INDIREKT() einer leeren Zelle immer den Wert 0 zurück. Somit kenne ich keine Methode zu unterscheiden, ob das Eingabe-Feld leer ist - oder ob wirklich der Wert 0 eingegeben wurde. Gibt es dafür eine Lösung?

Gruß
Martin

myfake
17.05.2006, 08:45
Hallo Martin,

versuche es dioch mal so:
<P><blockquote><table border=3 cellpadding=1><tr><td>&nbsp;</td><td align=center bgcolor=#C0C0C0>A</td><td align=center bgcolor=#C0C0C0>B</td><td align=center bgcolor=#C0C0C0>C</td><td align=center bgcolor=#C0C0C0>D</td></tr><tr><td align=center bgcolor=#C0C0C0>1</td><td>Werte</td><td>&nbsp;</td><td>A</td><td>2</td></tr><tr><td align=center bgcolor=#C0C0C0>2</td><td>1</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td align=center bgcolor=#C0C0C0>3</td><td>2</td><td>Formel:</td><td>1</td><td>&nbsp;</td></tr><tr><td align=center bgcolor=#C0C0C0>4</td><td>3</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td align=center bgcolor=#C0C0C0>5</td><td>0</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td align=center bgcolor=#C0C0C0>6</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td align=center bgcolor=#C0C0C0>7</td><td>4</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td align=center bgcolor=#C0C0C0>8</td><td>5</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr></td></tr></table></blockquote></P>

Formel in C3: =WENN(INDIREKT(C1&D1)="";"";INDIREKT(C1&D1))

Wenn in D1 "6" (ohne Anführungsstriche ;) ) eingegeben wird, dann erhältst Du als Ergebnis eine leere Zelle.

cu
myfake

Beverly
17.05.2006, 08:47
Hi Martin,

ich kenne zwar deine Formel nicht, aber versuche mal Folgendes

=WENN(Ausgangszelle="";"Zelle ist leer";Deine_Formel)