2016-08-23 2 views
-2

Ich versuche, einen Dienstplan für meine Klasse zu erstellen.Excel-Aufgabenliste

Hintergrund: Wir haben derzeit unter der Woche und am Wochenende Aufgaben. Leute, die Pflichten an Werktagen bekommen 1 Punkt, während diejenigen, die am Wochenende tun 2.

Problem: Ich frage mich, wie man die Tabelle in Excel so, dass, wenn jemand eine Pflicht an einem Wochentag tut, erkennt es dass die Person 1 Punkt bekommt.

Mein Dienstplan ist als solche: (wobei A, B, C Reihe Referenzen)

A Name | Punkte | Datum Pflicht erfolgt | Datum Dienst erfolgt auf | Datum Steuer wird auf getan |

B Name | Punkte | Datum Pflicht ist am | Datum Pflicht am | Datum Pflicht am | |

C Name | Punkte | Datum Pflicht ist am | Datum Pflicht am | Datum Pflicht am | |

ich den folgenden Code versucht haben, die überprüft, ob das Datum ein Wochentag ist, und die Zelle zu zählen, wenn er:

{=SUM(--(if(A:A<>", WEEKDAY(A:A)={2,3,4,5,6}))} 

Für Wochenenden, ich habe eine eigene Spalte erstellen, die Wochenenden zählt, sondern dann werde ich die Punkte verdoppeln. Dann in einer Spalte Punkte wird es die Summe der Wochentags- und Wochenendpunkte sein.

Leider funktioniert die obige Formel nicht, da ich #NA und #VALUE Fehler bekomme und am Ende kann ich nicht den Dienstplan fertig bekommen.

Antwort

1

Sie könnten es so machen, wo die Namen in Spalte A sind, die Punkte Formeln sind in Spalte B und die Daten sind in den Spalten C bis ZZ. So Zeile 2 (Column in Zeile 1) könnte wie folgt aussehen:

John | 6 | 25.06.2016 | 26.06.2016 | 27.06.2016 | 28.06.2016 |

Die Formel, die die Punkte in Spalte B berechnet wie folgt aussieht:

=SUMPRODUCT(2-NETWORKDAYS(C2:ZZ2+0,C2:ZZ2+0),--ISNUMBER(C2:ZZ2)) 

an den Rest der Zeilen kopieren Sie es einfach nach unten.

Es funktioniert wie folgt:

2-NETWORK (C2: ZZ2 + 0, C2: ZZ2 + 0)

in einer Anordnung von 2 und 1 ist führt. 1 für einen Arbeitstag und 2 für einen Wochenendtag oder eine leere Zelle. Durch Hinzufügen der 0 werden die Bereiche in Arrays konvertiert. NETZWERKTAGE können nicht mit Bereichen arbeiten.

--ISNUMBER (C2: ZZ2)

wird eine Reihe von 1 und Nullen erzeugen (- wird auf 1 und 0 für falsch wahr konvertieren). 1 wenn die Zelle ein Datum (Nummer) und 0 für leere Zellen hat. Wir brauchen dies, um die Ergebnisse der leeren Zellen (2) aus dem ersten Array zu verlieren.

SUMPRODUCT wird die beiden Arrays multiplizieren und die Ergebnisse summieren.

1

Angenommen, Sie Daten haben, wie im Bild unten gezeigt, wo

  • Column A Namen hat
  • Punkte sollten Pflicht Daten

enter image description here

in Column B
  • Column C, D, E enthält berechnet werden

    Geben Sie die folgende Formel in die Zelle B2 ein und ziehen/kopieren Sie sie nach Bedarf.

    =SUM(IF(((WEEKDAY(C2:E2)=7)+(WEEKDAY(C2:E2)=1))>0,2,1)) 
    

    Dies ist eine Matrixformel es so comiit durch Ctrl + Umschalt + Enter.