Inhaltsverzeichnis
Heute möchte ich Ihnen Folgendes vorstellen Die OFFSET-Funktion von Excel mit 3 Beispielen aus der Praxis.
Zunächst beschreibe ich die Formelsyntax, und dann gehe ich darauf ein, wie die Funktion OFFSET zur Lösung von Problemen im wirklichen Leben verwendet werden kann.
Einführung
Die Funktion OFFSET kann einen Verweis auf eine Zelle (nennen wir sie Zielzelle) oder einen Bereich (Zielbereich) zurückgeben, der eine bestimmte Anzahl von Zeilen und Spalten von einer anderen Zelle (Referenzzelle) oder einem anderen Bereich (Referenzbereich) entfernt ist.
Die folgende Abbildung zeigt, wie die Funktion OFFSET verwendet wird, um den Bezug zu einer Zelle (linker Teil) oder einem Bereich (rechter Teil) herzustellen.
So bekommen Sie einen intuitiven Eindruck davon, was eine Zielzelle und was eine Referenzzelle ist.
Die grün hervorgehobene Zelle ist eine Zielzelle, während die gelb hervorgehobenen Zellen aus einem Zielbereich bestehen.
Die blau hervorgehobenen Zellen sind Referenzzellen.
Abbildung 1
Was bedeutet OFFSET in Excel (Syntax)?
Hier ist die Syntax der Offset-Funktion: OFFSET (Referenz, Zeilen, Spalten, [Höhe], [Breite])
Referenz | Erforderlich. Bei der Referenz handelt es sich um eine Zelle oder einen Zellbereich, ab dem der Versatz beginnt. Bitte beachten Sie, dass die Zellen nebeneinander liegen müssen, wenn Sie einen Zellbereich angeben. |
Zeilen | Erforderlich Die Anzahl der Zeilen, nach oben oder unten, die Referenzzelle oder die Zelle oben links im Referenzbereich. Zeilen kann entweder positiv oder negativ sein. Schauen Sie sich den linken Teil von Abbildung 1 an, die Zielzelle wird B2 sein, wenn ich die Funktion als OFFSET (C3, -1, -1) ändere. B2 ist eine Zeile über C3. |
Die Spalten | Erforderlich. Die Anzahl der Spalten links oder rechts von der Referenzzelle oder der linken oberen Zelle des Referenzbereichs. Wie bei Zeilen werden die Werte von Die Spalten kann sowohl positiv als auch negativ sein. Wie können wir die Funktion OFFSET schreiben, wenn wir B4 als Referenzzelle und C3 als Zielzelle festlegen? Die Antwort lautet OFFSET (B4, -1, 1). Hier sehen Sie, dass Cols positiv ist und C3 eine Spalte rechts von B4 liegt. |
Höhe | Optional. Verwenden Sie das Argument Höhe nur, wenn es sich bei dem Ziel um einen Bereich handelt. Es gibt an, wie viele Zeilen der Zielbereich umfasst. Höhe muss eine positive Zahl sein. Im rechten Teil von Abbildung 1 sehen Sie, dass der Zielbereich zwei Zeilen enthält. Daher setzen wir Höhe in diesem Fall auf 2. |
Breite | Optional. Verwenden Sie das Argument Breite nur, wenn das Ziel ein Bereich ist (siehe rechter Teil von Abbildung 1). Es gibt an, wie viele Spalten der Zielbereich enthält. Die Breite muss eine positive Zahl sein. |
Ich möchte Ihnen nun zeigen, wie Sie die Funktion OFFSET verwenden können, um Probleme im wirklichen Leben zu lösen.
Fall 1: Rechts-nach-links-Lookup durch Kombination von OFFSET- und MATCH-Funktionen
Es ist bekannt, dass Sie mit der Funktion VLOOKUP nur von links nach rechts suchen können.
Der Wert, nach dem gesucht werden soll, muss in der ersten Spalte Ihres Tabellenarrays stehen.
Sie müssen Ihren gesamten Tabellenbereich um eine Spalte nach rechts verschieben, wenn Sie einen neuen Nachschlagewert hinzufügen wollen, oder Sie müssen Ihre Datenstruktur ändern, wenn Sie eine andere Spalte als Nachschlagewert verwenden wollen.
Durch die Kombination von OFFSET mit der Match-Funktion kann die Einschränkung der VLOOKUP-Funktion jedoch aufgehoben werden.
Was ist die MATCH-Funktion und wie können wir die OFFSET-Funktion mit der Match-Funktion kombinieren, um die Suche durchzuführen?
Nun, die Funktion Match sucht nach einem bestimmten Element in einem Bereich von Zellen und gibt dann die relative Position dieses Elements im Bereich zurück.
Nehmen wir den Bereich B3:B8 aus Abbildung 2.1 (der die Einnahmen verschiedener Länder in verschiedenen Jahren zeigt) als Beispiel.
Die Formel "=MATCH ("USA", B3:B8, 0)" ergibt 1 da USA die erste Position in dem Bereich ist (siehe Zelle B10 und C10).
Für einen anderen Bereich C2:F2 ergibt die Formel "=MATCH (2015, C2:F2, 0)" 3 da 2015 die dritte Position in dem Bereich ist (siehe Zelle B11 und C11).
Zurück zu der Funktion OFFSET.
Wenn wir die Zelle B2 als Referenzzelle und die Zelle E3 als Zielzelle festlegen, wie können wir dann die OFFSET-Formel schreiben?
E3 ist 1 Zeile unter B2 und 3 Spalten rechts bis B2.
Daher kann die Formel wie folgt geschrieben werden: "=OFFSET(B2, 1 , 3 Schauen Sie sich die Zahlen in roter Farbe genau an, können Sie feststellen, dass sie übereinstimmen?
Das ist die Antwort auf die Frage, wie die Funktion OFFSET mit der Funktion Match kombiniert werden kann. Die Funktion Match kann als zweites oder drittes Argument der Funktion OFFSET verwendet werden (siehe Zelle C13).
Zelle C14 zeigt, wie die Funktion VLOOKUP verwendet werden kann, um dieselben Daten abzurufen.
Wir müssen wissen, dass die Einnahmen im Jahr 2015 in der 4. Spalte des Tabellenfeldes B2:F8 erfasst sind, bevor wir die VLOOKUP-Funktion schreiben.
Das bedeutet, dass wir die Datenstruktur sehr gut kennen müssen, wenn wir die VLOOKUP-Funktion verwenden.
Dies ist eine weitere Einschränkung für VLOOKUP, aber durch die Verwendung der MATCH-Funktion als Argument der OFFSET-Funktion müssen wir den Spaltenindex nicht kennen.
Dies ist sehr nützlich, wenn es viele Spalten gibt.
Abbildung 2.1
Lassen Sie uns nun zu einem komplexeren Beispiel übergehen.
Angenommen, wir haben eine Tabelle, die Firmenname, Kontaktname und E-Mail-Adresse für verschiedene Unternehmen enthält.
Und wir wollen den Firmennamen aus einem bekannten Kontaktnamen abrufen oder einen Kontaktnamen aus einer bekannten E-Mail-Adresse erhalten. Was können wir tun?
Siehe Abbildung 2.2, der Bereich B5:E8 enthält Firmeninformationen. Durch Eingaben in Zelle C2 und Zelle B3 kann ich mit Hilfe der Formel im roten Quadrat den Firmennamen abrufen, wenn ich den Kontaktnamen kenne.
Der Bereich D2:E4 zeigt, wie man einen Kontaktnamen mit einer bekannten E-Mail-Adresse erhält.
Zusammenfassend veranschaulichen diese beiden Beispiele, dass wir eine Suche von rechts nach links durchführen können und der Suchwert nicht in der Spalte ganz rechts platziert werden muss, sondern in jeder beliebigen Spalte des Tabellenarrays.
Abbildung 2.2
Fall 2: Automatisierte Berechnung durch Kombination der Funktionen OFFSET und COUNT
Bevor wir uns damit beschäftigen, wie wir die Berechnung automatisieren können, wenn wir eine neue Zahl in eine Spalte einfügen, wollen wir zunächst damit beginnen, wie wir die letzte Zahl in einer Spalte automatisch zurückgeben können.
Sehen Sie sich die folgende Abbildung an, die Einträge aus der Personalabteilung zeigt. Angenommen, wir wollen die letzte Zahl in Spalte B ermitteln, dann lautet die Formel "=OFFSET (C2, 9 , 0)", wenn wir die Funktion OFFSET anwenden.
Aus der Formel können wir entnehmen, dass 9 ist die Schlüsselnummer.
Solange wir diese Zahl automatisch zurückgeben können, können wir die letzte Zahl in einer Spalte automatisch finden.
9 ist einfach die Anzahl der Zellen, die Zahlen in Spalte C enthalten.
Wenn Sie mit der Funktion ZAEHLEN vertraut sind, wissen Sie, dass die Funktion ZAEHLEN die Anzahl der Zellen zählen kann, die Zahlen in einem Bereich enthalten.
Zum Beispiel zählt die Formel "=COUNT (C3:C11)" die Anzahl der Zellen, die Zahlen in den Zellen C3 bis C11 enthalten.
In unserem Fall möchten wir wissen, wie viele Zahlen in einer ganzen Spalte enthalten sind. Daher sollte ein Verweis wie C:C verwendet werden, der alle Zeilen in Spalte C umfasst.
Sehen Sie sich die Zellen G4 und H4 an. Die von "=COUNT(C:C)" zurückgegebene Zahl ist genau gleich 9 .
Ersetzt man also in der obigen OFFSET-Funktion 9 durch COUNT(C:C), so erhält man eine neue Formel "=OFFSET (C2, COUNT(C:C) , 0)" (in Zelle H5).
Die zurückgegebene Zahl ist 87000, was genau die letzte Zahl in Spalte C ist.
Gehen wir nun zur automatischen Berechnung über. Angenommen, wir wollen die Summe aller Zahlen in Spalte C.
Die Formel würde lauten: "=SUMME (OFFSET (C2, 1, 0, 9 , 1))", wenn wir SUM zusammen mit OFFSET verwenden.
9 ist die Gesamtzahl der Zeilen im Bereich C3:C11 und auch die Gesamtzahl der Zellen mit Zahlen in Spalte C.
Daher können wir die Formel auf eine neue Art und Weise schreiben wie "=SUMME (OFFSET (C2,1, 0, ZAEHLEN (C:C), 1))".
Schauen Sie sich die Zellen G10 und H10 an, die Gesamtzahl der Gehälter für diese 9 Mitarbeiter beträgt 521.700 $.
Wenn Sie nun eine Zahl wie 34.000 $ in Zelle C12 eingeben, werden sowohl die Zahl in Zelle G5 als auch die in Zelle G10 auf 34.000 $ bzw. 555.700 $ geändert.
Dies nenne ich Automatisierung, da Sie die Formeln in Zelle G5 oder G10 nicht aktualisieren müssen.
Sie müssen vorsichtig sein, wenn Sie die Funktion COUNT verwenden, da die Funktion COUNT nur die Anzahl der Zellen zurückgibt, die Zahlen enthalten.
Zum Beispiel gibt "=COUNT (B: B)" 0 statt 9 zurück, da es in Spalte B keine Zelle gibt, die Zahlen enthält (siehe Zellen G3 und H3).
Spalte D enthält 10 Zellen mit Zahlen, und die von "COUNT (D: D)" zurückgegebene Zahl ist ebenfalls 10.
Wenn wir jedoch die letzte Zahl in Spalte D abrufen wollen, wie wir es für Spalte C getan haben, erhalten wir die Zahl 0 (siehe Zelle G8 und H8).
Offensichtlich ist 0 nicht das, was wir wollen. Was ist falsch? Zelle D13 ist 11 Zeilen von Zelle D2 entfernt, anstatt 10 Zeilen.
Dies lässt sich auch durch die Formel "=OFFSET (D2, COUNT (D: D) + 1 , 0)" in Zelle G7.
Zusammenfassend lässt sich sagen, dass die Zahlen nebeneinander liegen sollten, wenn wir die Funktion COUNT zusammen mit der Funktion OFFSET verwenden wollen, um die Berechnung zu automatisieren.
Abbildung 3
Fall 3: Verwenden Sie die Funktion OFFSET, um einen dynamischen Bereich zu erstellen
Angenommen, wir möchten die monatlichen Absatzzahlen eines Unternehmens grafisch darstellen. Abbildung 4.1 zeigt aktuelle Daten und ein Diagramm, das auf der Grundlage der aktuellen Daten erstellt wurde.
Jeden Monat wird der Absatz des letzten Monats unter der letzten Zahl in Spalte C hinzugefügt.
Gibt es eine einfache Möglichkeit, das Diagramm automatisch zu aktualisieren?
Der Schlüssel zur Aktualisierung des Diagramms ist die Verwendung der Funktion OFFSET, um dynamische Bereichsnamen für die Spalte Verkaufte Einheiten zu erstellen.
Der dynamische Bereich für die Verkäufe der Einheiten umfasst automatisch alle Verkaufsdaten, wenn neue Daten eingegeben werden.
Abbildung 4.1
Um einen Dynamikbereich zu erstellen, klicken Sie auf die Schaltfläche Formeln und wählen Sie dann Name Manager oder Name definieren .
Unter Neuer Name Dialogfeld wird angezeigt, wenn Sie auf Name definieren .
Wenn Sie wählen Name des Managers müssen Sie auch auf Neu für die Herstellung der folgenden Neuer Name Dialogfeld erscheinen.
Abbildung 4.2
In der " Name: Der Name des dynamischen Bereichs sollte in das Eingabefeld "Dynamischer Bereich" eingegeben werden. Und im Feld " Bezieht sich auf:" Eingabefeld müssen wir die OFFSET-Formel "=OFFSET (Figure4!$C$2, 1, 0, COUNT (!$C: $C), 1)" eingeben, die einen dynamischen Wertebereich auf der Grundlage der in Spalte C eingegebenen Verkauften Einheiten erzeugt.
Standardmäßig gilt ein Name für die gesamte Arbeitsmappe und muss innerhalb der Arbeitsmappe eindeutig sein.
Wir möchten jedoch den Geltungsbereich auf ein bestimmtes Blatt beschränken.
Deshalb wählen wir hier Abbildung4 in der " Umfang: "Nach einem Klick auf OK wird der dynamische Bereich geschaffen.
Bei der Eingabe neuer Daten werden automatisch alle Verkaufsdaten berücksichtigt.
Klicken Sie nun mit der rechten Maustaste auf einen beliebigen Punkt im Diagramm und wählen Sie dann "Daten auswählen".
Abbildung 4.3
In der angeforderten Daten auswählen Quelle, wählen Baureihe1 und dann Bearbeiten.
Abbildung 4.4
Geben Sie dann "=Figure4!Units" ein, wie Abbildung 4.5 zeigt.
Abbildung 4.5
Versuchen wir es abschließend und geben in Zelle C13 den Wert 11 ein. Wie Sie sehen, hat sich das Diagramm geändert und der Wert 11 wurde aufgenommen.
Das Diagramm ändert sich automatisch, wenn neue Daten hinzugefügt werden.
Abbildung 4.6
Mehr lesen...
- Offset(...) Funktion in Excel mit Beispielen
Arbeitsdateien herunterladen
Laden Sie die Arbeitsdateien über den unten stehenden Link herunter.
Excel-Offset-Funktion.rar