Jak wstawić moduł w programie Excel. Sumowanie modulo w Excelu. Korzystanie ze znaku funkcji


Makra (procedury VBA) (63)
Różne (39)
Błędy i usterki Excela (4)

Co to jest moduł? Jakie są rodzaje modułów?

Cały kod VBA musi być gdzieś przechowywany. Do przechowywania kodów w VBA wykorzystywane są moduły, które przechowywane są w skoroszycie. Książka może zawierać dowolną liczbę modułów. Każdy moduł z kolei może zawierać wiele procedur (makr).
Wszystkie moduły dostępne w książce można przeglądać poprzez edytor VBA ( Alt+F11). Dostępne moduły wyświetlane są po lewej stronie edytora w Eksploratorze Projektu.
Ryc.1
Sam eksplorator obiektów może domyślnie nie być wyświetlany i wówczas należy go wyświetlić: kliknij klawisz kontrolny+R lub w menu edytora VBA- Pogląd-Eksplorator projektu

Moduły dzielą się na pięć głównych typów:

Ogólnie mówiąc, istnieją tylko dwa typy modułów - moduły zwykłe i klasowe, ponieważ Moduł arkuszowy, Moduł książki, Moduł formularza niestandardowego I Moduł klasowy są zasadniczo modułami klasowymi. Ale specjalnie podzieliłem je na kilka rodzajów, bo... Typy te są często używane do objaśnień w różnych podręcznikach i na różnych forach, a także w samych książkach Excela różnią się wyglądem i niektórymi funkcjami.

Aby utworzyć nowy moduł standardowy, moduł klasy (ClassModule) Lub formularz użytkownika (UserForm) Wystarczy kliknąć prawym przyciskiem myszy w oknie Eksploratora projektu i wybrać Wstawić a następnie typ dodawanego obiektu ( Moduł, Moduł klasy, Formularz użytkownika). Moduł możesz także dodać poprzez menu: Wstawić-typ modułu.
Usunięcie jest również łatwe: kliknij prawym przyciskiem myszy żądany moduł w oknie projektu i wybierz Usunąć. Więcej szczegółów na temat usuwania znajdziesz na końcu tego artykułu:

MODUŁ STANDARDOWY
na ryc. 1 Moduł 1 .
Najpopularniejszy typ modułów, który jest używany w większości przypadków. To właśnie w nich rejestrator makr tworzy nagrywalne makra. Wszystkie kody i procedury w takich modułach są pisane ręcznie lub kopiowane z innych źródeł (inny moduł, z tej strony itp.). Zasadniczo większość kodu zawarta jest w standardowych modułach. Przeznaczone są do przechowywania głównych procedur i zmiennych publicznych, do których można później uzyskać dostęp z dowolnego modułu. Jak utworzyć moduł standardowy: w oknie eksploratora obiektów kliknij prawym przyciskiem myszy - Wstawić-Moduł. Podczas nagrywania za pomocą rejestratora makr moduły są tworzone automatycznie i automatycznie nazywane.
Wiele kodów publikowanych w artykułach na stronie należy umieścić w standardowych modułach. Aby to zrobić, wystarczy utworzyć nowy moduł standardowy, skopiować tekst kodu ze strony i wkleić go.

MODUŁ ARKUSZY
Arkusz1 lub Arkusz1 - na ryc. 1: Arkusz 1(Arkusz 1), Arkusz 2(Arkusz 2), Arkusz 3(Arkusz 3).
Każdy arkusz książki ma swój odrębny moduł. Dostanie się do modułu arkusza jest prostsze niż do innych modułów. Aby to zrobić, wystarczy kliknąć prawym przyciskiem myszy skrót arkusza i wybrać element z menu kontekstowego Tekst źródłowy (wyświetl kod)
W zależności od wersji programu Excel ten element w języku rosyjskim może mieć tę samą nazwę: Zobacz kod Lub Źródło :

Możesz wybrać trudniejszą drogę - poprzez edytor VBA: Alt+F11 i w oknie Project Explorer kliknij dwukrotnie obiekt z nazwą arkusza lub kliknij prawym przyciskiem myszy moduł arkusza - Zobacz kod.
Umieszczając kod w module arkusza należy pamiętać, że podczas kopiowania lub przenoszenia tego arkusza do innego skoroszytu, kod również zostanie skopiowany, ponieważ jest częścią liścia. Jest to jednocześnie plus i minus. Zaletą jest to, że umieszczając kod w module arkusza, można wykorzystać ten arkusz jako szablon do dystrybucji z własnymi przyciskami do wywoływania tych kodów (w tym tworzenia książek z kodem) i cała funkcjonalność będzie dostępna. Minusem są pewne niuanse dostępu do komórek (więcej szczegółów można znaleźć w tym artykule: Jak uzyskać dostęp do zakresu z VBA) i konieczność umieszczenia WSZYSTKICH używanych procedur w tym arkuszu, w przeciwnym razie kody mogą działać z błędami po przeniesieniu do innych skoroszytów .

Moduł arkusza zawiera wbudowane procedury zdarzeń, z których każda odpowiada za obsługę konkretnego zdarzenia na tym arkuszu. Można je przeglądać w następujący sposób: wybierz obiekt (na zdjęciu poniżej lista znajduje się po lewej stronie) Arkusz i wybierz wydarzenie z prawej listy (ta lista zawiera wszystkie procedury dostępne dla wybranego arkusza):


Procedury, dla których zdarzenia zostały już wykorzystane, zostały wyróżnione pogrubioną czcionką.

Nazwy procedur zdarzeń są dość pouczające i większość z nich nie wymaga dokładnego dekodowania. Uważam jednak za konieczne opisanie najważniejszych części zastosowanych w każdym przypadku:

  • Aktywuj- występuje, gdy sam arkusz jest aktywowany (ale nie występuje, jeśli następuje przejście z jednego skoroszytu do drugiego i ten arkusz jest tam aktywny)
  • Przed DoubleClick- następuje po dwukrotnym kliknięciu dowolnej komórki arkusza. Ważne jest, aby zwrócić uwagę na przekazywane argumenty: Target i Cancel. Cel - link do komórki, w której została wykonana akcja; Anuluj - odpowiada za anulowanie trybu edycji
  • Przed prawym przyciskiem myszy- następuje po kliknięciu prawym przyciskiem myszy dowolnej komórki arkusza. Ważne jest, aby zwrócić uwagę na przekazywane argumenty: Target i Cancel. Cel - link do komórki, w której została wykonana akcja; Anuluj - odpowiada za anulowanie wyświetlania wyskakującego menu
  • Oblicz- występuje podczas ponownego obliczania funkcji i formuł na arkuszu
  • Zmiana- Występuje, gdy zmieniają się wartości komórek w arkuszu. Ważne jest, aby zwrócić uwagę na przekazany argument Target. Cel - odniesienie do komórki, która została zmieniona. Może różnić się od komórki aktywnej w momencie przetwarzania
  • Dezaktywować- występuje podczas przechodzenia z tego arkusza do innego arkusza tego samego skoroszytu
  • Śledź hiperłącze- ma miejsce w przypadku skorzystania z hiperłącza utworzonego w tym arkuszu
  • WybórZmień- występuje, gdy zmienia się adres wybranej komórki/obszaru. Ważne jest, aby zwrócić uwagę na przekazany argument Target. Cel - odniesienie do zakresu komórek, które zostały wybrane. Pasuje do aktualnie wybranych komórek

Dość ważny punkt: Jeśli chcesz lepiej zapoznać się z procedurami zdarzeń, zawsze zwracaj uwagę na zmienne przekazywane jako argumenty do procedury. W większości przypadków zalecam używanie tych zmiennych zamiast wymyślania wszelkiego rodzaju możliwości obliczenia obiektu, który spowodował wystąpienie zdarzenia. Na wydarzenie arkuszowe Arkusz_Zmiana to jest zmienna Cel. Jako przykład wklej poniższy kod do dowolnego modułu arkusza:

Prywatny arkusz podrzędny Worksheet_Change(ByVal Target As Range) MsgBox „Zmodyfikowany adres komórki: „& Adres docelowy & _ "; Adres aktywnej komórki: "& Selection.Address, vbInformation, „www.site” End Sub

Private Sub Worksheet_Change(ByVal Target As Range) MsgBox "Zmieniony adres komórki: " & Target.Address & _ "; Aktywny adres komórki: " & Selection.Address, vbInformation, "www.site" End Sub

Następnie wpisz wartość 5 w komórce A1 i naciśnij Enter. Zdarzenie Change zostanie uruchomione po zakończeniu edycji, tj. momencie naciśnięcia Enter. W takim przypadku nastąpi przejście do komórki A2 (w większości przypadków, chyba że w ustawieniach określono inaczej) i pojawi się komunikat informujący, że komórka A1 została zmieniona i teraz jest wybrana komórka A2. Te. Cel jest zawsze łączem do zmienionej komórki, niezależnie od tego, co jest aktualnie zaznaczone. To zdarzenie (Worksheet_Change) nie zostanie uruchomione, gdy zmienią się wartości komórek z formułami. Tylko wprowadzanie ręczne.

Notatka: dla wszystkich kodów podanych na stronie wystarczy otworzyć wymagany moduł (książka lub arkusz) i wklej sugerowany kod. Dostosowanie może być konieczne tylko w przypadkach, gdy moduł Arkusza lub Skoroszytu w Twoim pliku zawiera już kod w wymaganej procedurze zdarzenia.

MODUŁ KSIĄŻKI
Ta książka lub ten zeszyt ćwiczeń — na ryc. 1: Ta książka .
Dostęp do modułu książki można uzyskać wyłącznie poprzez Eksplorator projektu w edytorze VBA - kliknij dwukrotnie Ta książka (Ten zeszyt ćwiczeń) lub prawy przycisk myszy na module - Zobacz kod. Moduł księgi zawiera także „wbudowane” procedury zdarzeń. Podobnie jak w przypadku arkusza, wybierz z listy obiektów (lewy górny róg) zeszyt ćwiczeń. W prawym oknie wyboru procedur, podobnie jak w przypadku modułu arkusza, widoczne będą wszystkie procedury dostępne dla obiektu Ta książka. Przykład wykorzystania procedur zdarzeń książki można znaleźć w artykule Jak śledzić zdarzenie (na przykład zaznaczenie komórki) w dowolnej książce?
Ale obowiązują tam te same zasady - najważniejsze, aby nie zapomnieć o argumentach dostępnych w tych procedurach i przekazywanych im przez sam Excel. Na przykład zdarzenie Workbook_BeforeClose ma dostępny argument Anuluj. Można tego użyć, jeśli nie chcesz, aby użytkownik zamykał skoroszyt bez wypełniania komórki A1. Oto przykład takiego kodu:

Private Sub Workbook_BeforeClose(Anuluj jako wartość logiczna) If Me.Sheets("Report").Range("A1").Value = "" Następnie MsgBox "Musisz wypełnić komórkę A1 w arkuszu "Raport", vbCritical, "www .site" Cancel = True "anuluj zamknięcie książki End If End Sub

Z kodu widać, że na arkuszu „Raport” musi znajdować się niepusta komórka A1 (arkusz „Raport” musi także istnieć w tym skoroszycie). Ale jest jeszcze jedna rzecz – trochę Ja. Jest to krótkie wywołanie obiektu modułu klasy, w tym przypadku jest równoznaczne z wywołaniem ThisWorkbook. I jeszcze jeden przykład kodu dla modułu ThisBook, który zabrania zapisywania oryginalnej książki, pozwalając na zapisanie jej wyłącznie poprzez element Zapisz jako:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI jako wartość logiczna, Anuluj jako wartość logiczna) Jeśli SaveAsUI = False Następnie „używa prostego zapisu MsgBox „Ten skoroszyt jest szablonem. Możesz go zapisać tylko poprzez Zapisz jako", vbCritical, "www.site" Cancel = True "anuluj zapisywanie książki End If End Sub

Może to być konieczne, jeśli skoroszyt jest szablonem z polami do wypełnienia i chcesz zapobiec przypadkowemu zapisaniu oryginalnego dokumentu. Chociaż można to zrobić również bez makr - książkę można zapisać z uprawnieniami tylko do odczytu.

MODUŁY FORMULARZA
Formularz użytkownika - na ryc. 1 Formularz użytkownika1 .
Zawarte wewnątrz UserForm i jego obiektów. W User Forms w zasadzie wszystko jest ściśle powiązane z procedurami zdarzeń samego formularza i elementami tego formularza (przyciski, pola tekstowe, pola ComboBox (listy rozwijane) itp.). Używanie Formularzy Użytkownika w aplikacjach do komunikacji z użytkownikiem jest bardzo wygodne. Ponieważ Dzięki formularzom bardzo wygodnie jest śledzić działania użytkowników, a także można zablokować dostęp do arkuszy z danymi poprzez ich ukrycie. Formularz tworzy się analogicznie jak moduł: w oknie eksploratora obiektów kliknij prawym przyciskiem myszy - Wstawić-Formularz użytkownika. Przykłady kodów wykorzystujących formularze znajdziesz w artykułach: Każdy użytkownik ma swój arkusz/zakres, Jak w komórce zostawić same cyfry czy tylko tekst?

MODUŁ KLASY
ClassModule – na rys. 1 Klasa 1 .
W większości przypadków jest tworzony specjalnie do śledzenia zdarzeń różnych obiektów. Jest mało prawdopodobne, że początkujący będą musieli nauczyć się VBA, choć wszystko zależy od zadania, jakie ma wykonać. Jednak zazwyczaj początkującym uważa, że ​​nauka jest zbyt trudna. W każdym razie przed pracą z modułami klasowymi lepiej jest nauczyć się choć trochę pracować ze zwykłymi modułami i samodzielnie napisać procedury. Jak dodać taki moduł: w oknie eksploratora obiektów kliknij prawym przyciskiem myszy - Wstawić-Moduł klasowy. Więcej o modułach klas i pracy z nimi przeczytasz w tym artykule: Praca z modułami klas. Opisano tam wszystkie podstawowe zasady i załączono przykładowy plik.

USUWANIE MODUŁU
Kroki usuwania dowolnego modułu są takie same dla wszystkich typów. Aby to zrobić, przejdź do projektu VBA żądanej książki, wybierz żądany moduł, kliknij go prawym przyciskiem myszy i wybierz z wyświetlonego menu Usuń (nazwa modułu)...(Usuń moduł 1, usuń formularz użytkownika 1, usuń klasę 1 itp.). Następnie pojawi się okno z pytaniem „Czy chcesz wyeksportować (nazwę modułu) przed jego usunięciem?”. Oznacza to, że VBA pyta: Czy chcesz zachować kopię kodu modułu przed jego usunięciem? Z reguły powinieneś wybierać NIE. Jeżeli natomiast chcesz zapisać tekst kodów z usuniętego modułu w osobnym pliku to zgódź się klikając Tak. Zostaniesz poproszony o wybranie folderu, w którym chcesz zapisać moduł. Możesz nawet nadać mu osobną nazwę.

MODUŁ TRANSFERU, IMPORTU i EKSPORTU
Czasami trzeba przenieść moduł z jednej książki do drugiej. Można to zrobić na kilka sposobów. Najprościej jest otworzyć obie książki, przejść do eksploratora projektów - znaleźć wymagany moduł - chwycić go lewym przyciskiem myszy i nie puszczając przycisku przeciągnąć go do projektu innej książki:


Należy pamiętać, że w ten sposób można przesyłać i kopiować jedynie moduł standardowy, moduł klasy i moduł UserForm. Kody modułów arkusza i książki trzeba będzie przenieść w postaci zwykłego tekstu: przejdź do modułu ThisBook (skąd chcemy skopiować) - skopiuj cały kod - przejdź do modułu ThisBook drugiej książki i wklej to, co zostało skopiowane :


Eksport modułu (zapisanie do osobnego pliku)
Jeśli chcesz zapisać moduł standardowy, moduł zajęć lub moduł formularza i nie przenosić go od razu do innego skoroszytu, możesz wyeksportować moduł. Dlaczego może to być potrzebne? Z reguły, aby przenieść kody z domu do pracy, wyślij je komuś na innym komputerze (wysyłanie pliku z makrami może być zabronione przez politykę bezpieczeństwa firmy) itp. Można to zrobić po prostu: kliknij moduł prawym przyciskiem myszy - Eksportuj plik.
Eksportowane moduły mają różne rozszerzenia, w zależności od typu modułu. W przypadku standardowych modułów tak jest .bas(Module1.bas), dla modułów klasowych - .cls(Klasa1.cls). Ale dla modułów formularzy zostaną utworzone dwa pliki: UserForm1 .frm i formularz użytkownika1 .frx. Ważne jest, aby przechowywać je razem – jednego bez drugiego nie da się później zaimportować do pliku. Plik .frx przechowuje informacje o wizualnym wyglądzie formularza i jego elementów, że tak powiem. Plik .frm przechowuje bezpośrednio teksty kodu formularza i informacje o usłudze (nazwa i wymiary formularza, niektóre dyrektywy globalne oraz link do pliku .frx). Dlatego nie zaleca się zmiany nazwy tych dwóch plików bez odpowiednich umiejętności w nadziei, że później wszystko będzie działać.
Import modułu (przeniesienie wcześniej wyeksportowanego modułu do nowej książki)
Aby przenieść wyeksportowany moduł do innego skoroszytu, wystarczy wybrać żądany projekt prawym przyciskiem myszy w eksploratorze obiektów - Moduł importu-wybierz żądany moduł w oknie dialogowym.
Możesz wyeksportować dowolny moduł, ale nie możesz go zaimportować. Mimo że moduły arkusza i skoroszytu są eksportowane do osobnych plików (swoją drogą z rozszerzeniem .cls), nie można ich zaimportować w zamierzonej formie. Zostaną zaimportowane jako nowe moduły klas i nic więcej. Dlatego, aby przenieść kody z modułów arkusza i skoroszytu, nadal będziesz musiał skorzystać z kopiowania i wklejania samych kodów.
Co więcej, możesz automatycznie przenosić moduły za pomocą kodów VBA: Jak programowo dodać kod procedury, skopiuj moduł

Czy artykuł pomógł? Udostępnij link swoim znajomym! Lekcje wideo

(„Dolny pasek”:(„textstyle”: „statyczny”, „textpositionstatic”: „bottom”, „textautohide”: true, „textpositionmarginstatic”: 0, „textpositiondynamic”: „bottomleft”, „textpositionmarginleft”: 24”, textpositionmarginright":24,"textpositionmargintop":24,"textpositionmarginbottom":24,"texteffect":"slide","texteffecteasing":"easeOutCubic","texteffectduration":600,"texteffectslidedirection":"left","texteffectslidedance" :30, „texteffectdelay”: 500, „texteffectseparate”: fałsz, „texteffect1”: „slajd”, „texteffectslidedirection1”: „right”, „texteffectslidedistance1”: 120, „texteffecteasing1”: „easeOutCubic”, „texteffectduration1”: 600 „texteffectdelay1”: 1000, „texteffect2”: „slajd”, „texteffectslidedirection2”: „right”, „texteffectslidedistance2”: 120, „texteffecteasing2”: „easeOutCubic”, „texteffectduration2”: 600, „texteffectdelay2”: 1500”, textcss":"display:block; padding:12px; text-align:left;","textbgcss":"display:block; pozycja:absolutna; góra:0px; lewa:0px; szerokość:100%; wysokość:100% ; kolor tła:#333333; krycie:0,6; filtr:alfa(opacity=60);","titlecss":"display:block; pozycja:względna; czcionka: pogrubiona 14 pikseli „Lucida Sans Unicode”, „Lucida Grande”, bezszeryfowa, Arial; kolor:#fff;","opiscss":"display:blok; pozycja:względna; czcionka:12px „Lucida Sans Unicode”, „Lucida Grande”, bezszeryfowa, Arial; kolor:#fff; margines-górny:8px;","buttoncss":"display:block; pozycja:względna; margines-top:8px;","texteffectResponse":true,"texteffectResponsesize":640,"titlecssResponse":"rozmiar czcionki:12px;","descriptioncssResponse":"display:brak !important;","buttoncssResponse": "","addgooglefonts":false"googlefonts":"","textleftrightpercentforstatic":40))

Pracując w Excelu możesz wykonywać wiele różnych zadań, także matematycznych. Szeroka gama narzędzi programu pozwala na wykonanie wymaganych działań bez konieczności stosowania dodatkowych aplikacji. Jedną z takich funkcji jest moduł – w Excelu nie jest on zbyt często używany, ale ma ważne przeznaczenie.

Co to jest moduł

Zgodnie z definicją moduł to operacja matematyczna zwracająca wartość bezwzględną liczby, czyli samą liczbę bez jej znaku. Pomimo specyfiki zastosowanie modułu można znaleźć nie tylko w rozwiązywaniu problemów matematycznych, ale także w modelach ekonomicznych, fizyce i wielu innych naukach ścisłych.

Jak obliczyć moduł w Excelu?

Aby obliczyć moduł w programie Excel, można skorzystać z kilku metod, z których najprostszą jest funkcja ABS. Zwraca wartość bezwzględną wybranej liczby lub wyrażenia matematycznego.

Składnia funkcji modułu jest bardzo prosta - w Excelu wystarczy ustawić w pasku formuły „=ABS”, następnie w nawiasie podać argument, którym może być liczba, odwołanie do komórki, a także jakaś funkcja, która zwraca wartość liczbowa. Operację tę można również wykonać poprzez kliknięcie przycisku „Wstaw funkcję”, w którym wybiera się odpowiednią funkcję, lub za pomocą wyszukiwania, podając słowo „moduł” lub „ABS”.

Obliczanie sumy modułów

Jedną z typowych operacji w programie Excel jest suma modulo. Umożliwia dodawanie wartości komórek bez uwzględnienia ich znaku. Aby wykonać tę czynność, nie trzeba początkowo obliczać modułu każdej liczby, a następnie korzystać z funkcji sumy.

Podczas wykonywania operacji obejmującej wiele wartości moduł w programie Excel może jednocześnie pracować na całym zestawie lub zakresie komórek. Aby więc obliczyć sumę modulo, wystarczy zastosować następującą konstrukcję zapytania:

=SUMA(ABS(A1:A4))

Tutaj w kolumnie A pierwsze cztery wiersze wskazują wartości, dla których należy wykonać dodawanie modulo.

Przykłady

Aby utrwalić zrozumienie opisu modułu w Excelu i zasad jego działania, warto przyjrzeć się kilku prostym przykładom obrazującym działanie funkcji.

Aby obliczyć moduł danej liczby lub przykładu matematycznego, na przykład różnicy między 2 a 5, należy zastosować następującą notację:

=ABS(2-5)

Wynikiem tego zapytania będzie liczba „3”.

Jeśli trzeba obliczyć sumę modułów elementów macierzy, których wartości są zapisane w tabeli z zakresu A1:C3, najszybszym sposobem znalezienia odpowiedzi jest konstrukcja.

Kolega zapytał mnie kiedyś, jak wykorzystać formuły Excela do obliczenia sumy wartości bezwzględnych w danym zakresie. To pytanie pojawia się dość regularnie na forach, a wielu użytkowników często ma duże trudności z tą pozornie prostą czynnością.

Niestety, w programie Microsoft Excel nie ma wbudowanej funkcji, która mogłaby wykonać sumowanie modulo, więc aby uzyskać poprawną odpowiedź, trzeba trochę popracować.

Oto nasze dane:

Widzimy, że suma liczb w zakresie A2:A8 daje rezultaty -60 :

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

Gdybyśmy wzięli pod uwagę wartości bezwzględne (liczby bez znaku „-”), wynik byłby taki 180 :

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

Opcja 1 – Korzystanie z kolumny pomocniczej

Moim zdaniem najlepszym sposobem na obliczenie sumy wartości bezwzględnych w Excelu jest skorzystanie z kolumny pomocniczej. Do komórki B2 wprowadź formułę:

Następnie rozciągnij go do komórki B8. Funkcjonować ABS zwraca moduł liczby. Teraz możemy po prostu zsumować zakres B2:B8 i to da nam wynik 180 .

SUMA(B2:B8)
=SUMA(B2:B8)

W moim przykładzie zakres A1:A8 jest pełnoprawną tabelą danych. Dlatego przy dodawaniu formuły =ABS(A2) do komórki O 2 Excel rozwinął tabelę i automatycznie wypełnił wszystkie komórki w kolumnie. Następnie udałem się do zakładki Konstruktor(Projekt), który znajduje się w grupie zakładek Praca z tabelami(Narzędzia tabelaryczne) i zaznacz opcję obok opcji Całkowita linia(Wiersz ogółem). Wszystkie wartości w kolumnie B zostały automatycznie zsumowane, a wynik został wyświetlony w osobnej linii.

Aby obliczyć kwotę w wierszu sumy, użyj funkcji PODSUMY(SUMA CZĘŚCIOWA). Jest to funkcja ogólna, która może wykonywać sumowanie, podobnie jak funkcja SUMA(SUMA). Ale są też istotne różnice, np. PODSUMY(SUBTOTAL) całkowicie ignoruje liczby ukryte ręcznie lub poprzez filtrowanie. Istnieje kilka innych różnic, ale nie mają one wiele wspólnego z tematem tego artykułu.

Zaletą metody kolumn pomocniczych jest to, że zapewnia ona większą elastyczność, jeśli w przyszłości zajdzie potrzeba wykorzystania danych, na przykład w formie tabeli lub tabeli przestawnej. Dodatkowo kolumna pomocnicza może służyć do sortowania liczb modulo.

Jest to niewątpliwie bardzo dobry sposób, ale co zrobić, gdy trzeba wszystko zmieścić w jednej formule bez żadnych kolumn pomocniczych?

Opcja 2 – Użycie funkcji SUMA w formule tablicowej lub SUMPRODUCT

Użyj formuły tablicowej lub SUMPRODUKT(SUMPRODUCT) rozwiązanie takiego problemu jest bardzo prymitywnym podejściem!

Funkcjonować SUMA w formule tablicowej:

SUMA(ABS(A2:A8))
=SUMA(ABS(A2:A8))

Podczas wprowadzania formuły tablicowej pamiętaj o naciśnięciu Ctrl+Shift+Enter.

Formuła z PODSUMOWANIE:

ILOCZYN(ABS(A2:A8))
=SUMA(ABS(A2:A8))

Biorąc pod uwagę, że można zastosować bardziej wydajną funkcję SUMA(SUMIF), aby uzyskać ten sam wynik (patrz opcja 3), ścieżka wykorzystująca te dwie formuły staje się niepreferowana. Obie formuły świetnie sprawdzają się w przypadku małych zakresów danych, jestem pewien, że nawet nie zauważysz różnicy. Jeśli trzeba zsumować dużą liczbę wartości, prędkość pracy zauważalnie spadnie.

Opcja 3 — użycie SUMIF

Myślę, że to podejście jest najwygodniejsze ze wszystkich wymienionych wcześniej. Korzystanie z funkcji SUMA(SUMIF) wartości są dzielone na 2 tablice: z liczbami dodatnimi i ujemnymi oraz sumowane. Zero jest ignorowane z oczywistych powodów. Następnie po prostu odejmujemy kwotę ujemną od sumy dodatniej (tzn. sumujemy je). Formuła wygląda następująco:

SUMA JEŚLI(A2:A8,”>0”)-SUMA JEŚLI(A2:A8,”<0")
=SUMA JEŚLI(A2:A8,”>0”)-SUMA JEŚLI(A2:A8,”<0")

Można to również zapisać w tej formie:

SUMA(SUMA JEŚLI(A2:A8,(">0","<0"})*{1,-1})
=SUMA(SUMA JEŚLI(A2:A8,(">0","<0"})*{1,-1})

Jeśli weźmiemy pierwszą wersję formuły, otrzymamy co następuje:

60-(-120) = 180

Aby uzupełnić obraz, obliczmy kwotę, korzystając z drugiej opcji:

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

Myślę, że teraz znasz wszystkie podstawowe sposoby obliczania sumy wartości bezwzględnych w Excelu. Jeśli stosujesz inne podejście do sumowania liczb modulo, podziel się nim w komentarzach. Powodzenia!

W Excelu. Dzisiaj przeanalizujemy wzór na napisanie „modułu w Excelu”. Moduł liczby służy do określenia wartości bezwzględnej liczby, na przykład długości odcinka. Poniżej podajemy kilka sposobów obliczania modułu liczby w Excelu, główną funkcją jest ABS, a dodatkowe obliczenia wykorzystują funkcje JEŻELI i SQRT.

Jak wynika z definicji, moduł liczby jest liczbą nieujemną, czyli wartością samej liczby. Te. jeśli mamy liczbę ujemną -7, to w module będzie ona równa 7. Moduł zapisuje się jako dwie pionowe linie:

|-7| = 7

Do czego jest to używane? Jeśli mamy wartość wektora równą -7, gdzie minus oznacza jego przeciwny kierunek, to aby znaleźć długość samego wektora, musimy obliczyć wartość bezwzględną liczby (ponieważ długość nie może być wartością ujemną ).

Również dość często zastosowanie modułu można spotkać przy obliczaniu ujemnej wartości czasu, ale mamy na ten temat osobną sekcję.

W większości języków programowania moduł liczby wyznaczany jest za pomocą funkcji ABS (od wartości bezwzględnej, Abs oluta). Nasz ukochany Excel nie jest wyjątkiem.

Wpisz formułę w komórce:

Jak wynika z opisu funkcji wartość takiego wzoru będzie równa 7.

Jak obliczyć moduł za pomocą alternatywnej metody IF

Zasadniczo działanie funkcji modułu polega na ustaleniu, czy liczba jest ujemna, czy nie i przekazaniu jej wartości. Oznacza to, że główna funkcja warunku =IF() jest łatwa w obsłudze.

JEŚLI(A1<0;A1*-1;A1)

Ja osobiście zawsze zapominam o ABS i piszę poprzez IF.

Moduł liczbowy i SQRT

Jak ktoś mi zasugerował, istnieje szczególnie sprytny sposób na znalezienie modułu liczby za pomocą funkcji SQRT. Podnosimy liczbę do drugiej potęgi i znajdujemy pierwiastek wyrażenia.

KWRT(A1*A1)

Sama bym o tym nie pomyślała.

Załączam przykładowy plik z 3 obliczeniami.

Moduł liczbowy w VBA

Jak już powiedzieliśmy w większości języków programowania, znalezienie modułu odbywa się za pomocą funkcji ABS. VBA nie jest wyjątkiem.

Aby zapisać obliczenia w kodzie, napisz coś takiego:

A=Brzuch(-7)

Tutaj A będzie równe 7.

Generalnie tak to jest, jeśli potrzebujesz wyjaśnień, napisz w komentarzach i nie wstydź się.

Udostępnij nasz artykuł w swoich sieciach społecznościowych:

Funkcja ABS znajduje wartość bezwzględną liczby przekazanej jako argument i zwraca odpowiednią wartość.

Przykłady wykorzystania funkcji ABS w Excelu

Określ długość rzutu odcinka na oś Ox, która jest określona przez współrzędne punktu początkowego (-7;-4) i końcowego (19;44).

Wstępne dane:

Aby określić długość rzutu na oś Wółu, stosujemy następujący wzór:


B4 i B2 to odpowiednio współrzędne początkowe i końcowe. Różnica między tymi współrzędnymi to pożądana długość projekcji. Podobnie znajdujemy wartość rzutu na oś Oy. Wyniki:

W wyniku obliczenia wzoru modulo wyznaczono rzut odcinka na oś Ox.



Oblicz różnicę między najmniejszą liczbą ujemną i dodatnią

Znajdź różnicę pomiędzy najmniejszą i najmniejszą wartością bezwzględną elementów tablicy.

Wstępne dane:

Do obliczeń użyj poniższego wzoru (formuła tablicowa CTRL+SHIFT+Enter):

Funkcja MIN znajduje najmniejszą wartość w zakresie. Aby znaleźć najmniejszą liczbę nieujemną, użyj wyrażenia MIN(ABS(B3:B12)).

Wynik:


Suma modulo w programie Excel dla liczb ujemnych

Arkusz kalkulacyjny Excel rejestruje wszystkie transakcje przedsiębiorstwa w określonym przedziale czasu. Wartości ujemne odpowiadają transakcjom wydatków. Oblicz kwotę wydatków za określony okres.

Wstępne dane:

Do obliczeń używamy następującej formuły tablicowej (CTRL+SHIFT+Enter):

Algorytm obliczeniowy:

  1. Podczas iteracji po elementach zakresu B3:B12 każda wartość jest sprawdzana, czy należy do zakresu liczb ujemnych.
  2. Funkcja SUMA zwraca sumę wartości bezwzględnych (poprzez wykorzystanie funkcji ABS) pobranych z zakresu wybranych liczb ujemnych.
  3. Jeżeli nie ma liczb ujemnych (transakcji wydatkowych), zwrócona zostanie wartość 0 (zero).

Wyniki obliczeń:


Oznacza to, że całkowite wydatki przedsiębiorstwa za określony okres wyniosły 29 020.

Funkcje korzystania z funkcji ABS w programie Excel

Funkcja ma następującą składnię:

ABS (liczba)

Jedynym argumentem tej funkcji (wymagany) jest liczba. Charakteryzuje pewną liczbę rzeczywistą, której wartość bezwzględna zostanie określona.

Uwagi 1:

  1. Funkcja ABS przyjmuje argumenty będące wartościami liczbowymi, tekstową reprezentacją liczb lub danymi logicznymi (PRAWDA, FAŁSZ).
  2. Jeżeli jako argument do danej funkcji przekazano ciąg tekstowy, którego nie można przekonwertować na numeryczny typ danych (na przykład =ABS("tekst"), wynikiem wykonania będzie kod błędu #WARTOŚĆ!.
  3. Tej funkcji można używać jako formuły tablicowej do pracy z dużymi zakresami danych.

Uwagi 2:

  1. Moduł liczby pozwala wyznaczyć dowolną wielkość fizyczną, którą można matematycznie określić jako liczbę ujemną, ale w świecie rzeczywistym jest ona reprezentowana jedynie przez wartość bezwzględną (nieujemną), na przykład długość odcinka.
  2. Podczas pisania makra może być konieczne obliczenie wartości bezwzględnych niektórych liczb. VBA używa funkcji ABS() o tej samej nazwie (podobnie jak wiele innych języków programowania).
  3. W programie Excel istnieją dwa alternatywne sposoby uzyskania wartości bezwzględnej ilości:
  • korzystając z funkcji SQRT i MOC z wykładnikiem 2. Przykładowo wynikiem obliczenia =SQRT(POWER(A1,2)) będzie zawsze liczba z zakresu wartości dodatnich (pod warunkiem, że komórka A1 zawiera cyfrę dane);
  • za pomocą funkcji JEŻELI. Na przykład, aby zwrócić moduł liczby -5, możesz użyć notacji =IF(A1<0;A1*(-1);A1), где A1 – ячейка, в которой хранится значение -5.