So fügen Sie ein Modul in Excel ein. Modulo-Summierung in Excel. Verwendung des Funktionszeichens


Makros (VBA-Prozeduren) (63)
Verschiedenes (39)
Excel-Fehler und -Störungen (4)

Was ist ein Modul? Welche Arten von Modulen gibt es?

Der gesamte VBA-Code muss irgendwo gespeichert werden. Um Codes in VBA zu speichern, werden Module verwendet, die in einer Arbeitsmappe gespeichert werden. Ein Buch kann beliebig viele Module enthalten. Jedes Modul kann wiederum viele Prozeduren (Makros) enthalten.
Alle im Buch verfügbaren Module können über den VBA-Editor angezeigt werden ( Alt+F11). Verfügbare Module werden auf der linken Seite des Editors im Projektexplorer angezeigt.
Abb.1
Der Objekt-Explorer selbst wird möglicherweise nicht standardmäßig angezeigt und muss dann angezeigt werden: Klicken Strg+R oder im VBA-Editor-Menü- Sicht-Projektexplorer

Module sind in fünf Haupttypen unterteilt:

Genauer gesagt gibt es im Allgemeinen nur zwei Arten von Modulen – reguläre und Klassenmodule, weil Blattmodul, Buchmodul, Benutzerdefiniertes Formularmodul Und Klassenmodul sind im Wesentlichen Unterrichtsmodule. Aber ich habe sie gezielt in mehrere Typen unterteilt, weil... Diese Typen werden häufig für Erklärungen in verschiedenen Lehrbüchern und in verschiedenen Foren verwendet, und in den Excel-Büchern selbst unterscheiden sie sich im Aussehen und in einigen Funktionen.

Um etwas Neues zu schaffen Standardmodul, Klassenmodul (ClassModule) oder Benutzerformular (UserForm) Sie müssen nur in das Projekt-Explorer-Fenster klicken Rechtsklick Maus, Element auswählen Einfügen und dann der Typ des hinzugefügten Objekts( Modul, Klassenmodul, UserForm). Sie können ein Modul auch über das Menü hinzufügen: Einfügen-Modultyp.
Auch das Entfernen ist einfach: Klicken Sie mit der rechten Maustaste auf das gewünschte Modul im Projektfenster und wählen Sie es aus Entfernen. Weitere Details zum Löschen finden Sie am Ende dieses Artikels:

STANDARDMODUL
in Abb. 1 Modul 1 .
Der gebräuchlichste Modultyp, der in den meisten Fällen verwendet wird. In ihnen erstellt der Makrorecorder aufgezeichnete Makros. Alle Codes und Prozeduren in solchen Modulen werden manuell geschrieben oder aus anderen Quellen (einem anderen Modul, von dieser Site usw.) kopiert. Grundsätzlich ist der Großteil des Codes in Standardmodulen enthalten. Sie dienen zum Speichern von Hauptprozeduren und öffentlichen Variablen, auf die später von jedem Modul aus zugegriffen werden kann. So erstellen Sie ein Standardmodul: Klicken Sie im Objekt-Explorer-Fenster mit der rechten Maustaste - Einfügen-Modul. Bei der Aufnahme mit einem Makrorecorder werden Module automatisch erstellt und benannt.
Viele in Artikeln auf der Website veröffentlichte Codes müssen in Standardmodulen platziert werden. Erstellen Sie dazu einfach ein neues Standardmodul, kopieren Sie den Codetext von der Site und fügen Sie ihn ein.

BLATTMODUL
Blatt1 oder Blatt1 - in Abb. 1: Blatt1(Blatt1), Blatt2(Blatt2), Blatt3(Blatt3).
Jedes Blatt des Buches hat sein eigenes separates Modul. Der Einstieg in das Sheet-Modul ist einfacher als der Einstieg in andere Module. Klicken Sie dazu einfach mit der rechten Maustaste auf die Blattverknüpfung und wählen Sie aus Kontextmenü Absatz Quelltext (Code anzeigen)
Abhängig von der Excel-Version kann dieses Element auf Russisch den gleichen Namen haben: Code ansehen oder Quelle :

Sie können einen schwierigeren Weg gehen – über den VBA-Editor: Alt+F11 und doppelklicken Sie im Projekt-Explorer-Fenster auf das Objekt mit dem Blattnamen oder klicken Sie mit der rechten Maustaste auf das Blattmodul – Code ansehen.
Wenn Sie den Code im Blattmodul platzieren, sollten Sie bedenken, dass beim Kopieren oder Übertragen dieses Blattes in eine andere Arbeitsmappe auch der Code kopiert wird, weil ist Teil des Blattes. Das ist sowohl ein Plus als auch ein Minus. Der Vorteil besteht darin, dass Sie durch Platzieren des Codes im Blattmodul dieses Blatt als Vorlage für die Verteilung mit Ihren eigenen Schaltflächen zum Aufrufen dieser Codes verwenden können (einschließlich der Erstellung von Büchern mit dem Code) und alle Funktionen verfügbar sind. Der Nachteil sind einige Nuancen beim Zugriff auf Zellen (weitere Einzelheiten finden Sie in diesem Artikel: So greifen Sie über VBA auf einen Bereich zu) und die Notwendigkeit, ALLE verwendeten Prozeduren in diesem Blatt zu platzieren, da die Codes sonst möglicherweise fehlerhaft funktionieren, wenn sie in andere Arbeitsmappen übertragen werden .

Ein Blattmodul enthält integrierte Ereignisprozeduren, von denen jede für die Behandlung eines bestimmten Ereignisses auf diesem Blatt verantwortlich ist. Sie können sie wie folgt anzeigen: Wählen Sie ein Objekt aus (im Bild unten befindet sich die Liste auf der linken Seite) Arbeitsblatt und wählen Sie ein Ereignis in der rechten Liste aus (Diese Liste enthält alle für das ausgewählte Blatt verfügbaren Verfahren):


Prozeduren, für die bereits Ereignisse verwendet werden, sind fett hervorgehoben.

Die Namen von Ereignisprozeduren sind recht informativ und die meisten erfordern keine sorgfältige Dekodierung. Ich halte es aber auf jeden Fall für notwendig, die wichtigsten verwendeten Teile zu beschreiben:

  • aktivieren Sie- tritt auf, wenn das Blatt selbst aktiviert ist (tritt jedoch nicht auf, wenn ein Übergang von einer Arbeitsmappe zu einer anderen erfolgt und dieses Blatt dort aktiv ist)
  • VorDoubleClick- tritt auf, wenn Sie auf eine beliebige Zelle des Blattes doppelklicken. Es ist wichtig, auf die übergebenen Argumente zu achten: Target und Cancel. Ziel – ein Link zu der Zelle, in der die Aktion ausgeführt wurde; Abbrechen – ist für den Abbruch des Bearbeitungsmodus zuständig
  • BeforeRightClick- tritt auf, wenn Sie mit der rechten Maustaste auf eine beliebige Zelle des Blattes klicken. Es ist wichtig, auf die übergebenen Argumente zu achten: Target und Cancel. Ziel – ein Link zu der Zelle, in der die Aktion ausgeführt wurde; Abbrechen – ist dafür zuständig, die Anzeige des Popup-Menüs abzubrechen
  • Berechnung- Tritt auf, wenn Funktionen und Formeln auf einem Blatt neu berechnet werden
  • Ändern– Tritt auf, wenn sich die Werte von Zellen auf einem Blatt ändern. Es ist wichtig, auf das übergebene Target-Argument zu achten. Ziel – ein Verweis auf die Zelle, die geändert wurde. Kann von der aktiven Zelle zum Zeitpunkt der Verarbeitung abweichen
  • Deaktivieren– tritt beim Wechsel von diesem Blatt zu einem anderen Blatt derselben Arbeitsmappe auf
  • Folgen Sie dem Hyperlink– Tritt auf, wenn einem in diesem Blatt erstellten Hyperlink gefolgt wird
  • AuswahlÄnderung- Tritt auf, wenn sich die Adresse der ausgewählten Zelle/des ausgewählten Bereichs ändert. Es ist wichtig, auf das übergebene Target-Argument zu achten. Ziel – ein Verweis auf den Bereich der ausgewählten Zellen. Entspricht den aktuell ausgewählten Zellen

Ein ganz wichtiger Punkt: Wenn Sie sich mit Ereignisprozeduren vertraut machen möchten, achten Sie immer auf die Variablen, die als Argumente an die Prozedur übergeben werden. In den meisten Fällen empfehle ich, diese Variablen zu verwenden, anstatt alle möglichen Möglichkeiten zur Berechnung des Objekts zu erfinden, das das Ereignis verursacht hat. Für Blattveranstaltung Arbeitsblatt_Änderung das ist eine Variable Ziel. Fügen Sie als Beispiel den folgenden Code in ein beliebiges Blattmodul ein:

Private Sub Worksheet_Change(ByVal Target As Range) MsgBox „Geänderte Zellenadresse:“& Zieladresse & _ "; Aktive Zelladresse: "& Selection.Address, vbInformation, „www.site“ End Sub

Private Sub Worksheet_Change(ByVal Target As Range) MsgBox „Geänderte Zellenadresse: „ & Target.Address & _ „; Aktive Zellenadresse: „ & Selection.Address, vbInformation, „www.site“ End Sub

Schreiben Sie anschließend den Wert 5 in Zelle A1 und drücken Sie die Eingabetaste. Das Change-Ereignis wird ausgelöst, wenn die Bearbeitung abgeschlossen ist, d. h. sobald Sie die Eingabetaste drücken. In diesem Fall erfolgt ein Übergang zu Zelle A2 (in den meisten Fällen, sofern in den Einstellungen nichts anderes angegeben ist) und es erscheint eine Meldung, die anzeigt, dass Zelle A1 geändert wurde und A2 nun ausgewählt ist. Diese. Ziel ist immer ein Link zur geänderten Zelle, unabhängig davon, was aktuell ausgewählt ist. Dieses Ereignis (Worksheet_Change) wird nicht ausgelöst, wenn sich die Werte von Zellen mit Formeln ändern. Nur manuelle Eingabe.

Notiz: Für alle auf der Website angegebenen Codes müssen Sie nur das erforderliche Modul öffnen (Buch oder Blatt) und fügen Sie den vorgeschlagenen Code ein. Eine Anpassung ist möglicherweise nur in Fällen erforderlich, in denen das Blatt- oder Arbeitsmappenmodul Ihrer Datei bereits Code in der erforderlichen Ereignisprozedur enthält.

BUCHMODUL
ThisBook oder ThisWorkbook - in Abb. 1: Dieses Buch .
Auf das Buchmodul kann nur über den Projektexplorer des VBA-Editors zugegriffen werden – Doppelklick auf Dieses Buch (Diese Arbeitsmappe) oder rechte Maustaste auf dem Modul - Code ansehen. Das Buchmodul enthält auch „eingebaute“ Ereignisprozeduren. Wählen Sie wie bei einem Blatt aus der Liste der Objekte (oben links) aus. Arbeitsmappe. Im rechten Fenster zur Auswahl von Prozeduren werden, wie auch beim Blattmodul, alle für das Objekt verfügbaren Prozeduren angezeigt Dieses Buch. Ein Beispiel für die Verwendung von Buchereignisprozeduren finden Sie im Artikel Wie verfolge ich ein Ereignis (z. B. eine Zellenauswahl) in einem beliebigen Buch?
Aber dort gelten die gleichen Regeln – die Hauptsache ist, die Argumente nicht zu vergessen, die in diesen Prozeduren verfügbar sind und von Excel selbst an sie übergeben werden. Für das Workbook_BeforeClose-Ereignis ist beispielsweise ein Abbrechen-Argument verfügbar. Dies kann verwendet werden, wenn Sie nicht möchten, dass der Benutzer die Arbeitsmappe schließt, ohne Zelle A1 auszufüllen. Hier ist ein Beispiel für einen solchen Code:

Private Sub Workbook_BeforeClose(Cancel As Boolean) If Me.Sheets("Report").Range("A1").Value = "" Then MsgBox "Sie müssen Zelle A1 auf dem Blatt "Bericht" ausfüllen", vbCritical, "www .site" Cancel = True "Schließen des Buches abbrechen End If End Sub

Aus dem Code können Sie ersehen, dass auf dem Blatt „Bericht“ eine nicht leere Zelle A1 vorhanden sein muss (das Blatt „Bericht“ muss auch in dieser Arbeitsmappe vorhanden sein). Aber da ist noch etwas: einiges Mich. Dies ist ein kurzer Aufruf des Klassenmodulobjekts. In diesem Fall entspricht er dem Aufruf von ThisWorkbook. Und noch ein Codebeispiel für das ThisBook-Modul, das das Speichern des Originalbuchs verbietet und es nur über das Element speichern lässt Speichern als:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If SaveAsUI = False Then „uses simple save MsgBox“ Diese Arbeitsmappe ist eine Vorlage. Sie können es nur über „Speichern unter“, vbCritical, „www.site“ Abbrechen = True „Speichern des Buches abbrechen End If End Sub“ speichern

Dies kann erforderlich sein, wenn es sich bei der Arbeitsmappe um eine Vorlage mit Ausfüllfeldern handelt und Sie ein versehentliches Speichern des Originaldokuments verhindern möchten. Obwohl dies auch ohne Makros möglich ist, kann das Buch nur mit Leseberechtigung gespeichert werden.

FORMMODULE
UserForm - in Abb. 1 UserForm1 .
Enthalten in der UserForm und ihren Objekten. Bei Benutzerformularen ist grundsätzlich alles genau an die Ereignisprozeduren des Formulars selbst und an die Elemente dieses Formulars (Schaltflächen, TextBoxen, ComboBoxen (Dropdown-Listen) usw.) gebunden. Es ist sehr praktisch, Benutzerformulare in Ihren Anwendungen zu verwenden, um mit dem Benutzer zu kommunizieren. Weil Über Formulare ist es sehr bequem, Benutzeraktionen zu verfolgen, und Sie können den Zugriff auf Blätter mit Daten verweigern, indem Sie sie ausblenden. Ein Formular wird auf die gleiche Weise wie ein Modul erstellt: Klicken Sie im Objekt-Explorer-Fenster mit der rechten Maustaste - Einfügen-UserForm. Beispiele für Codes, die Formulare verwenden, finden Sie in den Artikeln: Jeder Benutzer hat sein eigenes Blatt/Bereich. Wie belasse ich nur Zahlen oder nur Text in einer Zelle?

KLASSENMODUL
ClassModule – in Abb. 1 Klasse 1 .
In den meisten Fällen wird es speziell zur Verfolgung von Ereignissen verschiedener Objekte erstellt. Es ist unwahrscheinlich, dass Anfänger VBA lernen müssen, obwohl alles von der jeweiligen Aufgabe abhängt. Aber für Anfänger ist das Lernen meist zu schwierig. In jedem Fall ist es besser, vor der Arbeit mit Klassenmodulen zu lernen, wie man zumindest ein wenig mit regulären Modulen arbeitet und selbst Prozeduren schreibt. So fügen Sie ein solches Modul hinzu: Klicken Sie im Objekt-Explorer-Fenster mit der rechten Maustaste - Einfügen-Klassenmodul. Weitere Informationen zu Klassenmodulen und deren Arbeit finden Sie in diesem Artikel: Mit Klassenmodulen arbeiten. Dort sind alle Grundprinzipien beschrieben und eine Beispieldatei ist beigefügt.

ENTFERNEN EINES MODULS
Die Schritte zum Entfernen eines Moduls sind für alle Typen gleich. Dazu müssen Sie zum VBA-Projekt des gewünschten Buches gehen, das gewünschte Modul auswählen, mit der rechten Maustaste darauf klicken und aus dem erscheinenden Menü auswählen Entfernen (Modulname)...(Modul1 entfernen, UserForm1 entfernen, Klasse1 entfernen usw.). Danach erscheint ein Fenster mit der Frage „Möchten Sie (Modulnamen) exportieren, bevor Sie es entfernen?“. Das bedeutet, dass VBA fragt: Möchten Sie eine Kopie des Modulcodes behalten, bevor Sie ihn löschen? In der Regel sollten Sie wählen Nein. Wenn Sie jedoch den Text der Codes aus dem entfernten Modul in einer separaten Datei speichern möchten, stimmen Sie zu, indem Sie auf „Ja“ klicken. Sie werden aufgefordert, einen Ordner zum Speichern des Moduls auszuwählen und können ihm sogar einen separaten Namen geben.

TRANSFER-, IMPORT- und EXPORTMODUL
Manchmal müssen Sie ein Modul von einem Buch in ein anderes verschieben. Dafür gibt es mehrere Möglichkeiten. Am einfachsten ist es, beide Bücher zu öffnen, zum Projekt-Explorer zu gehen, das gewünschte Modul zu finden, es mit der linken Maustaste zu greifen und, ohne die Taste loszulassen, in das Projekt eines anderen Buchs zu ziehen:


Es ist zu beachten, dass auf diese Weise nur das Standardmodul, das Klassenmodul und das UserForm-Modul übertragen und kopiert werden können. Die Codes der Blatt- und Buchmodule müssen als Klartext übertragen werden: Gehen Sie zum ThisBook-Modul (von dem wir kopieren möchten) – kopieren Sie den gesamten Code – gehen Sie zum ThisBook-Modul des zweiten Buchs und fügen Sie das Kopierte ein :


Exportieren eines Moduls (Speichern in einer separaten Datei)
Wenn Sie ein Standardmodul, ein Klassenmodul oder ein Formularmodul speichern und nicht sofort in eine andere Arbeitsmappe übertragen müssen, können Sie das Modul exportieren. Warum könnte das nötig sein? Um Codes von zu Hause zur Arbeit zu übertragen, senden Sie sie in der Regel an jemanden auf einem anderen PC (das Senden einer Datei mit Makros kann durch die Sicherheitsrichtlinien des Unternehmens verboten sein) usw. Das geht ganz einfach: Rechtsklick auf das Modul - Exportdatei.
Exportierte Module haben je nach Modultyp unterschiedliche Erweiterungen. Für Standardmodule ist dies der Fall .bas(Module1.bas), für Klassenmodule - .cls(Klasse1.cls). Für Formularmodule werden jedoch zwei Dateien erstellt: UserForm1 .frm und UserForm1 .frx. Es ist wichtig, sie zusammen zu speichern – das eine ohne das andere kann später nicht in eine Datei importiert werden. Die .frx-Datei speichert sozusagen Informationen über die visuelle Darstellung des Formulars und seiner Elemente. Die .frm-Datei speichert direkt die Codetexte für die Formular- und Serviceinformationen (den Namen und die Abmessungen des Formulars, einige globale Anweisungen und einen Link zur .frx-Datei). Daher ist es nicht empfehlenswert, diese beiden Dateien ohne entsprechende Kenntnisse umzubenennen, in der Hoffnung, dass später alles klappt.
Importieren eines Moduls (Übertragen eines zuvor exportierten Moduls in ein neues Buch)
Um ein exportiertes Modul in eine andere Arbeitsmappe zu übertragen, müssen Sie lediglich mit der rechten Maustaste auf das gewünschte Projekt im Objekt-Explorer klicken – Modul importieren-Wählen Sie im Dialogfeld das gewünschte Modul aus.
Sie können jedes Modul exportieren, aber nicht importieren. Obwohl die Sheet- und Workbook-Module in separate Dateien exportiert werden (übrigens mit der Erweiterung .cls), können sie nicht in der vorgesehenen Form importiert werden. Sie werden als neue Klassenmodule importiert und nichts weiter. Um Codes aus Blatt- und Arbeitsmappenmodulen zu übertragen, müssen Sie daher weiterhin die Codes selbst kopieren und einfügen.
Und um das Ganze abzurunden, können Sie Module mithilfe von VBA-Codes automatisch übertragen: So fügen Sie Prozedurcode programmgesteuert hinzu, kopieren Sie ein Modul

Hat der Artikel geholfen? Teilen Sie den Link mit Ihren Freunden! Video-Lektionen

(„Untere Leiste“:(„textstyle“: „static“, „textpositionstatic“: „bottom“, „textautohide“: true, „textpositionmarginstatic“: 0, „textpositiondynamic“: „bottomleft“, „textpositionmarginleft“: 24,“ textpositionmarginright“:24, „textpositionmargintop“:24, „textpositionmarginbottom“:24, „texteffect“: „slide“, „texteffecteasing“: „easeOutCubic“, „texteffectduration“: 600, „texteffectslidedirection“: „left“, „texteffectslidedistance“ :30, „texteffectdelay“:500, „texteffectseparate“:false, „texteffect1“: „slide“, „texteffectslidedirection1“: „rechts“, „texteffectslidedistance1“: 120, „texteffecteasing1“: „easeOutCubic“, „texteffectduration1“: 600 ,"texteffectdelay1":1000,"texteffect2":schieben,texteffectslidedirection2:rechts,texteffectslidedistance2:120,texteffecteasing2:easeOutCubic,texteffectduration2:600,texteffectdelay2:1500, textcss: „display:block; text-align:left;“, textbgcss: „display:absolute; opacity:0.6; „“,titlecss“: „display:block; Position:relativ; Schriftart:bold 14px \"Lucida Sans Unicode\",\"Lucida Grande\",sans-serif,Arial; color:#fff;","descriptioncss":"display:block; Position:relativ; Schriftart: 12px \"Lucida Sans Unicode\",\"Lucida Grande\",sans-serif,Arial; Farbe:#fff; „margin-top:8px;“, „buttoncss“: „display:block; Position:relativ; margin-top:8px;","texteffectresponsive":true,"texteffectresponsivesize":640,"titlecssresponsive": "Schriftgröße:12px;", "descriptioncssresponsive": "display:none !important;", "buttoncssresponsive": „“, „addgooglefonts“:false, „googlefonts“: „“, „textleftrightpercentforstatic“:40))

Wenn Sie in Excel arbeiten, können Sie viele verschiedene Aufgaben ausführen, auch mathematische. Eine breite Palette an Programmtools ermöglicht es Ihnen, die erforderlichen Aktionen durchzuführen, ohne dass zusätzliche Anwendungen erforderlich sind. Eine dieser Funktionen ist ein Modul – es wird in Excel nicht sehr oft verwendet, hat aber einen wichtigen Zweck.

Was ist ein Modul?

Laut Definition ist ein Modul eine mathematische Operation, die den Absolutwert einer Zahl, also die Zahl selbst ohne Vorzeichen, zurückgibt. Trotz der Besonderheiten findet der Einsatz des Moduls nicht nur bei der Lösung mathematischer Probleme, sondern auch in Wirtschaftsmodellen, der Physik und vielen anderen exakten Wissenschaften statt.

Wie berechnet man ein Modul in Excel?

Um den Modul in Excel zu berechnen, können Sie mehrere Methoden verwenden, die einfachste davon ist die ABS-Funktion. Es gibt den Absolutwert der ausgewählten Zahl oder des ausgewählten mathematischen Ausdrucks zurück.

Die Syntax der Modulfunktion ist sehr einfach – in Excel müssen Sie lediglich „=ABS“ in der Formelleiste festlegen und dann in Klammern ein Argument angeben, das eine Zahl, eine Zellreferenz sowie eine Funktion sein kann, die zurückgibt ein numerischer Wert. Dieser Vorgang kann auch ausgeführt werden, indem Sie auf die Schaltfläche „Funktion einfügen“ klicken und dort die entsprechende Funktion auswählen, oder indem Sie die Suche verwenden und das Wort „Modul“ oder „ABS“ angeben.

Berechnung der Modulsumme

Eine der häufigsten Operationen in Excel ist die Modulosumme. Sie können damit Zellwerte hinzufügen, ohne deren Vorzeichen zu berücksichtigen. Um diese Aktion auszuführen, müssen Sie nicht zunächst den Modul jeder Zahl berechnen und dann die Summenfunktion verwenden.

Bei der Ausführung einer Operation mit mehreren Werten kann ein Modul in Excel gleichzeitig an einem ganzen Satz oder Bereich von Zellen arbeiten. Um die Modulo-Summe zu berechnen, reicht es also aus, die folgende Abfragekonstruktion zu verwenden:

=SUMME(ABS(A1:A4))

Hier geben in Spalte A die ersten vier Zeilen die Werte an, für die eine Modulo-Addition durchgeführt werden muss.

Beispiele

Um Ihr Verständnis der Modulbeschreibung in Excel und der Funktionsprinzipien zu festigen, lohnt es sich, einige davon in Betracht zu ziehen einfache Beispiele, um die Funktionsweise der Funktion zu demonstrieren.

Um den Modul einer bestimmten Zahl oder eines mathematischen Beispiels zu berechnen, beispielsweise die Differenz zwischen 2 und 5, sollten Sie die folgende Notation verwenden:

=ABS(2-5)

Das Ergebnis dieser Abfrage ist die Zahl „3“.

Wenn Sie die Summe der Module von Matrixelementen berechnen müssen, deren Werte in der Tabelle aufgeführt sind, ist der Bereich A1:C3 am häufigsten auf schnelle Weise Die Antwort zu finden wird eine Konstruktion sein.

Ein Kollege von mir hat mich einmal gefragt, wie man mit Excel-Formeln die Summe absoluter Werte in einem bestimmten Bereich berechnen kann. Diese Frage taucht in Foren recht regelmäßig auf und viele Nutzer haben oft große Schwierigkeiten mit dieser scheinbar einfachen Aktion.

Leider in Microsoft Excel Es gibt keine eingebaute Funktion, die eine Modulo-Summierung durchführen kann, Sie müssen also ein wenig arbeiten, um die richtige Antwort zu erhalten.

Hier sind unsere Daten:

Wir sehen, dass die Summe der Zahlen im Bereich ist A2:A8 liefert Ergebnisse -60 :

10 + 10 + 20 + -20 + 30 + -40 + -50 = -60

Wenn wir absolute Werte (Zahlen ohne „-“-Zeichen) berücksichtigen würden, wäre das Ergebnis 180 :

10 + 10 + 20 + 20 + 30 + 40 + 50 = 180

Option 1 – Verwendung einer Hilfsspalte

Meiner Meinung nach, Der beste Weg Um die Summe der absoluten Werte in Excel zu berechnen, verwenden Sie eine Hilfsspalte. Zur Zelle B2 Geben Sie die Formel ein:

Dann strecken Sie es bis zur Zelle B8. Funktion Abs gibt den Modul einer Zahl zurück. Jetzt können wir also einfach die Reichweite zusammenfassen B2:B8 und das wird uns das Ergebnis liefern 180 .

SUMME(B2:B8)
=SUMME(B2:B8)

In meinem Beispiel der Bereich A1:A8 ist eine vollwertige Datentabelle. Daher beim Hinzufügen der Formel =ABS(A2) zur Zelle UM 2 Excel hat die Tabelle erweitert und alle Zellen in der Spalte automatisch ausgefüllt. Als nächstes ging ich zur Registerkarte Konstrukteur(Design), das sich in der Registerkartengruppe befindet Arbeiten mit Tabellen(Tabellentools) und setzen Sie ein Häkchen neben die Option Gesamtlinie(Gesamtzeile). Alle Werte in einer Spalte B wurden automatisch summiert und das Ergebnis in einer separaten Zeile angezeigt.

Um den Betrag in der Gesamtzeile zu berechnen, verwenden Sie die Funktion ZWISCHENSUMME(ZWISCHENSUMME). Dies ist eine generische Funktion, die genau wie die Funktion eine Summierung durchführen kann SUMME(SUMME). Es gibt aber auch erhebliche Unterschiede, zum Beispiel ZWISCHENSUMME(ZWISCHENSUMME) ignoriert Zahlen, die manuell oder durch Filterung ausgeblendet wurden, vollständig. Es gibt noch einige weitere Unterschiede, die jedoch wenig mit dem Thema dieses Artikels zu tun haben.

Das Gute an der Hilfsspaltenmethode ist, dass sie Ihnen mehr Flexibilität bietet, wenn Sie die Daten in Zukunft beispielsweise in Form einer Tabelle oder einer Pivot-Tabelle verwenden müssen. Darüber hinaus kann die Hilfsspalte zur Modulo-Sortierung von Zahlen verwendet werden.

Das ist ohne Zweifel sehr gute Möglichkeit, aber was tun, wenn Sie alles ohne Hilfsspalten in eine Formel unterbringen müssen?

Option 2 – Verwendung der SUM-Funktion in einer Array-Formel oder SUMPRODUCT

Verwenden Sie eine Array-Formel oder SUMMENPRODUKT(SUMPRODUCT) Ein solches Problem zu lösen ist ein sehr grober Ansatz!

Funktion SUMME in einer Arrayformel:

SUMME(ABS(A2:A8))
=SUMME(ABS(A2:A8))

Wenn Sie eine Matrixformel eingeben, müssen Sie unbedingt drücken Strg+Umschalt+Eingabetaste.

Formel mit SUMMPRESS:

SUMMENPRODUKT(ABS(A2:A8))
=SUMMENPRODUKT(ABS(A2:A8))

In Anbetracht dessen, dass eine effizientere Funktion verwendet werden kann SUMIF(SUMIF) Um das gleiche Ergebnis zu erhalten (siehe Option 3), wird der Pfad, der diese beiden Formeln verwendet, nicht bevorzugt. Beide Formeln funktionieren hervorragend mit kleinen Datenbereichen. Ich bin mir sicher, dass Sie den Unterschied nicht einmal bemerken werden. Wenn Sie eine Zusammenfassung benötigen große Menge Bei höheren Werten verlangsamt sich die Arbeitsgeschwindigkeit merklich.

Option 3 – Verwendung von SUMIF

Ich denke, dass dieser Ansatz der bequemste aller zuvor aufgeführten ist. Verwendung der Funktion SUMIF(SUMIF)-Werte werden in 2 Arrays unterteilt: mit positiven und negativen Zahlen und summiert. Null wird aus offensichtlichen Gründen ignoriert. Dann subtrahieren wir einfach die negative Summe von der positiven Summe (also summieren sie auf). Die Formel sieht so aus:

SUMWENN(A2:A8,">0")-SUMMEWENN(A2:A8,"<0")
=SUMMEWENN(A2:A8,">0")-SUMMEWENN(A2:A8,"<0")

Es kann auch in dieser Form geschrieben werden:

SUM(SUMIF(A2:A8,(">0","<0"})*{1,-1})
=SUM(SUMIF(A2:A8,(">0","<0"})*{1,-1})

Wenn wir die erste Version der Formel verwenden, erhalten wir Folgendes:

60-(-120) = 180

Um das Bild zu vervollständigen, berechnen wir den Betrag mit der zweiten Option:

SUMME((60,-120)*(1,-1)) = SUMME((60,120)) = 180

Ich denke, dass Sie jetzt alle grundlegenden Methoden zur Berechnung der Summe absoluter Werte in Excel kennen. Wenn Sie einen anderen Ansatz zum Modulo-Summieren von Zahlen verwenden, teilen Sie ihn bitte in den Kommentaren mit. Viel Glück!

In Excel. Heute analysieren wir die Formel zum Schreiben eines „Moduls in Excel“. Der Modul einer Zahl wird verwendet, um den Absolutwert einer Zahl zu bestimmen, beispielsweise die Länge eines Segments. Im Folgenden stellen wir mehrere Möglichkeiten zur Berechnung des Moduls einer Zahl in Excel vor. Die Hauptfunktion ist ABS und zusätzliche Berechnungen mit den Funktionen IF und SQRT.

Wie aus der Definition hervorgeht, ist der Modul einer Zahl eine nicht negative Zahl, der Wert der Zahl selbst. Diese. Wenn wir eine negative Zahl -7 haben, ist der Modul gleich 7. Der Modul wird als zwei vertikale Linien geschrieben:

|-7| = 7

Was wird es verwendet? Wenn wir einen Vektorwert gleich -7 haben, wobei das Minus die entgegengesetzte Richtung angibt, müssen wir, um die Länge des Vektors selbst zu ermitteln, den Absolutwert der Zahl berechnen (da die Länge kein negativer Wert sein kann). ).

Auch bei der Berechnung eines negativen Zeitwerts findet sich häufig die Verwendung eines Moduls, dazu haben wir einen eigenen Abschnitt.

In den meisten Programmiersprachen wird der Modul einer Zahl durch die ABS-Funktion ermittelt (aus Absolutwert, Abs olute). Unser geliebtes Excel ist keine Ausnahme.

Geben Sie die Formel in die Zelle ein:

Wie aus der Beschreibung der Funktion hervorgeht, beträgt der Wert einer solchen Formel 7.

So berechnen Sie ein Modul mit IF, einer alternativen Methode

Im Wesentlichen besteht die Funktion der Modulus-Funktion darin, zu bestimmen, ob eine Zahl negativ ist oder nicht, und ihren Wert zu übergeben. Das heißt, die Hauptbedingungsfunktion =IF() ist einfach zu handhaben.

WENN(A1<0;A1*-1;A1)

Ich persönlich vergesse ABS immer und schreibe über IF.

Zahlenmodul und SQRT

Wie mir jemand vorgeschlagen hat, gibt es eine besonders clevere Möglichkeit, den Modul einer Zahl mithilfe der SQRT-Funktion zu ermitteln. Wir erhöhen die Zahl in die zweite Potenz und finden die Wurzel des Ausdrucks.

SQRT(A1*A1)

Ich selbst wäre nicht darauf gekommen.

Ich füge eine Beispieldatei mit 3 Berechnungen bei.

Zahlenmodul in VBA

Wie wir bereits gesagt haben, erfolgt die Suche nach einem Modul in den meisten Programmiersprachen über die ABS-Funktion. VBA ist keine Ausnahme.

Um die Berechnung im Code zu schreiben, schreiben Sie etwa Folgendes:

A=Abs(-7)

Hier ist A gleich 7.

Im Allgemeinen ist es so. Wenn Sie eine Klarstellung benötigen, schreiben Sie in die Kommentare und seien Sie nicht schüchtern.

Teilen Sie unseren Artikel in Ihren sozialen Netzwerken:

Die ABS-Funktion ermittelt den absoluten Wert der als Argument übergebenen Zahl und gibt den entsprechenden Wert zurück.

Beispiele für die Verwendung der ABS-Funktion in Excel

Bestimmen Sie die Länge der Projektion des Segments auf die Ox-Achse, die durch die Koordinaten der Start- (-7;-4) und Endpunkte (19;44) angegeben wird.

Ausgangsdaten:

Um die Länge der Projektion auf die Ox-Achse zu bestimmen, verwenden wir die folgende Formel:


B4 und B2 sind die Start- bzw. Endkoordinaten. Der Unterschied zwischen diesen Koordinaten ist die gewünschte Projektionslänge. Ebenso ermitteln wir den Wert der Projektion auf die Oy-Achse. Ergebnisse:

Als Ergebnis der Berechnung der Modulo-Formel wurde die Projektion des Segments auf die Ox-Achse bestimmt.



Berechnen Sie die Differenz zwischen der kleinsten negativen und positiven Zahl

Finden Sie die Differenz zwischen dem kleinsten und dem kleinsten Absolutwert der Array-Elemente.

Ausgangsdaten:

Verwenden Sie zur Berechnung die folgende Formel (Array-Formel STRG+UMSCHALT+Eingabetaste):

Die MIN-Funktion findet den kleinsten Wert in einem Bereich. Um die kleinste nicht negative Zahl zu finden, verwenden Sie den Ausdruck MIN(ABS(B3:B12)).

Ergebnis:


Modulosumme in Excel für negative Zahlen

Eine Excel-Tabelle erfasst alle Transaktionen eines Unternehmens über einen bestimmten Zeitraum. Negative Werte entsprechen Spesentransaktionen. Berechnen Sie die Höhe der Ausgaben für den angegebenen Zeitraum.

Ausgangsdaten:

Zur Berechnung verwenden wir die folgende Array-Formel (STRG+UMSCHALT+Eingabetaste):

Berechnungsalgorithmus:

  1. Beim Durchlaufen der Elemente des Bereichs B3:B12 wird jeder Wert daraufhin überprüft, ob er zum Bereich negativer Zahlen gehört.
  2. Die SUM-Funktion gibt die Summe absoluter Werte (durch Verwendung der ABS-Funktion) aus einem Bereich ausgewählter negativer Zahlen zurück.
  3. Liegen keine negativen Zahlen vor (Spesentransaktionen), wird der Wert 0 (Null) zurückgegeben.

Berechnungsergebnisse:


Das heißt, die Gesamtkosten des Unternehmens für den angegebenen Zeitraum beliefen sich auf 29.020.

Merkmale der Verwendung der ABS-Funktion in Excel

Die Funktion hat die folgende Syntax:

ABS(Anzahl)

Das einzige Argument dieser Funktion (erforderlich) ist eine Zahl. Sie charakterisiert eine bestimmte reelle Zahl, deren absoluter Wert bestimmt wird.

Anmerkungen 1:

  1. Die ABS-Funktion akzeptiert Argumente, die numerische Werte, Textdarstellungen von Zahlen oder boolesche Daten (TRUE, FALSE) sind.
  2. Wenn der betreffenden Funktion eine Textzeichenfolge als Argument übergeben wurde, die nicht in einen numerischen Datentyp konvertiert werden kann (z. B. =ABS("text"), ist das Ausführungsergebnis der Fehlercode #VALUE!.
  3. Diese Funktion kann als Array-Formel verwendet werden, um mit großen Datenbereichen zu arbeiten.

Anmerkungen 2:

  1. Mit dem Modul einer Zahl können Sie jede physikalische Größe bestimmen, die mathematisch als negative Zahl angegeben werden kann, in der realen Welt jedoch nur durch einen absoluten (nicht negativen) Wert dargestellt wird, beispielsweise die Länge eines Segments.
  2. Beim Schreiben eines Makros müssen Sie möglicherweise auch die Absolutwerte einiger Zahlen berechnen. VBA verwendet die gleichnamige Funktion ABS() (wie auch viele andere Programmiersprachen).
  3. In Excel gibt es zwei alternative Möglichkeiten, den Absolutwert einer Größe zu ermitteln:
  • unter Verwendung der Funktionen SQRT und POWER mit einem Exponenten von 2. Beispielsweise ist das Ergebnis der Berechnung =SQRT(POWER(A1,2)) immer eine Zahl aus dem Bereich positiver Werte (vorausgesetzt, Zelle A1 enthält Zahlen). Daten);
  • mit der IF-Funktion. Um beispielsweise den Modulus der Zahl -5 zurückzugeben, können Sie die Notation =IF(A1 verwenden<0;A1*(-1);A1), где A1 – ячейка, в которой хранится значение -5.