• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Excel - określanie wartości pozycji jako +1 lub -1

Object Storage Arubacloud
+3 głosów
60 wizyt
pytanie zadane 24 marca w Systemy operacyjne, programy przez HarryW Nowicjusz (150 p.)
Witam,

Dawno nie korzystałem z excela, a wszystko czego nauczyli mnie w szkole zdążyłem zapomnieć. Moje pytanie, a jednocześnie problem, sprowadza się do określenia, które komórki mają być zliczane jako dodatnie, a które jako ujemne. Domyślam się że wszystkiego do tego specjalna funkcja, lecz nie udało mi się takowej znaleźć, lub po prostu potrzebuję dokładnego wytłumaczenia jako excelo-idiocie. Otóż, posiadam pierwszą kolumnę liczącą 300 pól w dół (analogicznie od 1 - 300). Chciałbym stworzyć kilka osobnych tabeli, zliczających poszczególne pola z tej pierwotnej. Założyłem, że wprowadzane dane będę po prostu zapisywał jako 1, jako że każde zaznaczone pole w pierwszej tabeli ma równać się 1 punktowi. Problem pojawia się w momencie, kiedy niektóre pola muszą być punktowane jako minus jeden. Oczywiście problem byłby rozwiązany, gdybym od razu wprowadzał taką wartość, lecz całość ma polegać na tym, żeby formuła w pozostałych tabelkach wiedziała, które pola (pomimo wartości 1) w rzeczywistości są liczone jako +1 a które jako -1. Czy jest w ogóle możliwe określenie takiej formuły? Z góry dziękuje za pomoc, oraz serdecznie pozdrawiam,

HarryW

1 odpowiedź

0 głosów
odpowiedź 24 marca przez VBService Ekspert (253,420 p.)

Może użyj do tego tablicy np. (pseudo kod VBA - pisany z głowy)

Sub ZliczKomorki()
    Dim ujemne As Variant
    Dim dodatnie As Variant
    Dim komorka As Range
    
    ' Tablica przechowująca adresy komórek ujemnych
    ujemne = Array("A1", "A2", "A7")
    
    ' Tablica przechowująca adresy komórek dodatnich
    dodatnie = Array("A3", "A4", "A5", "A6")
    
    ' Obliczanie wyniku na podstawie komórek
    Dim wynik As Integer
    wynik = 0
    
    ' Iteracja przez komórki ujemne i odejmowanie ich wartości od wyniku
    For Each komorka In ujemne
        wynik = wynik - Range(komorka).Value
    Next komorka
    
    ' Iteracja przez komórki dodatnie i dodawanie ich wartości do wyniku
    For Each komorka In dodatnie
        wynik = wynik + Range(komorka).Value
    Next komorka
    
    ' Wyświetlenie wyniku w komunikacie
    MsgBox "Wynik: " & wynik
End Sub

 

Podobne pytania

0 głosów
1 odpowiedź 144 wizyt
0 głosów
2 odpowiedzi 180 wizyt
0 głosów
1 odpowiedź 460 wizyt

92,581 zapytań

141,433 odpowiedzi

319,666 komentarzy

61,966 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...