Bartłomiej L.

Bartłomiej L. Student, Uniwersytet
Ekonomiczny w
Poznaniu

Temat: sumowanie jedynek o przeciwnym znaku, Excel

Witam,
chciałbym prosić o pomoc w rozwiązaniu zadania z arkusza kalkulacyjnego. Chodzi o podawanie liczby jedynek o przeciwnym znaku znajdujących się powyżej jedynki we wskazanym wierszu. Istotę problemu wyjaśni przykład.
Dane są dwie kolumny zawierające: kolumna A: 0 lub 1, kolumna B: 0 lub -1. 1 i -1 nigdy nie znajdują się w tym samym wierszu.

1 0
0 0
1 0
0 0
0 -1
0 0
1 0
0 0
0 -1
0 0
0 -1
0 0
0 -1
1 0

Rozwiązanie, znajdujące się w kolumnie C powinno wyglądać następująco:

1 0 0
0 0 0
1 0 0
0 0 0
0 -1 2
0 0 0
1 0 1
0 0 0
0 -1 1
0 0 0
0 -1 0
0 0 0
0 -1 0
1 0 3

Będę wdzięczny za pomoc w rozwiązaniu problemu.

Pozdrawiam,
BartekBartłomiej Lach edytował(a) ten post dnia 10.11.11 o godzinie 22:08
Bartosz Z.

Bartosz Z. Life is not a
destination - it's a
journey

Temat: sumowanie jedynek o przeciwnym znaku, Excel

Trochę mi zajęło zrozumienie powyższego.
Pozwól, że przepiszę to tak jak sam to rozumiem.

A B C
1 0 0
0 0 0
1 0 0 <= w kolumnie C (wynikowej) 0 dla jedynek o przeciwnym znaku
0 0 0
0 -1 2 <= wynik: dwie jedynki o przeciwnym znaku powyżej
0 0 0
1 0 1 <= jedna -1 powyżej
0 0 0
0 -1 1 <= powyżej są 3 "1" ale tylko jedna od wystąpienia "-1"
0 0 0
0 -1 0 <= udzielenie wyniku dla "-1" powyżej zeruje wynik dla tej?
0 0 0
0 -1 0
1 0 3 <= od czasu ostatniej 1 w kol. A pojawiły się 3 "-1"

O taką zasadę chodzi?
Bartłomiej L.

Bartłomiej L. Student, Uniwersytet
Ekonomiczny w
Poznaniu

Temat: sumowanie jedynek o przeciwnym znaku, Excel

dokładnie,
wynikiem jest liczba jedynek o przeciwnym znaku poniżej ostatnio pojawiającej się jedynki o tym samym znaku co we wskazanym wierszu.

Temat: sumowanie jedynek o przeciwnym znaku, Excel

Bartłomiej Lach:
dokładnie,
wynikiem jest liczba jedynek o przeciwnym znaku poniżej ostatnio pojawiającej się jedynki o tym samym znaku co we wskazanym wierszu.


Poniżej czy powyżej?
Jak powyżej to

=suma($b$1:b1)*b2+suma($a$1:a1)*a2

poprawiłem znakiTomasz Siedlecki edytował(a) ten post dnia 10.11.11 o godzinie 22:32
Bartłomiej L.

Bartłomiej L. Student, Uniwersytet
Ekonomiczny w
Poznaniu

Temat: sumowanie jedynek o przeciwnym znaku, Excel

wstawię jeszcze jeden przykład:

0 -1 0
1 0 1
0 0 0
1 0 0
0 0 0
0 -1 2
0 0 0
1 0 1 <--1
0 0 0
0 -1 1
0 0 0
0 -1 0
0 0 0
0 -1 0
1 0 3 <--2
0 0 0
0 -1 1

Jest tak, jak pisał Pan Bartosz, w wierszu "<--2" wynikiem jest 3, ponieważ od czasu ostatniej "1" (wiersz <--1) minus jedynka pojawiała się 3 razy.

Temat: sumowanie jedynek o przeciwnym znaku, Excel

Ok już złapałem zasadę, trochę zakręcona.

konto usunięte

Temat: sumowanie jedynek o przeciwnym znaku, Excel

Witam,
proponuję rozwiązanie dla pierwszego (poprawionego już) przykładu. Po wrzuceniu danych do kolumny A i B odpal proszę makro:

Sub Jedynki()
Dim a&, b&, i&, x&

b = 1
x = 1
For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
a = Cells(i, 1).Value + Cells(i, 2).Value
If a <> 0 Then
If a = b Then
x = x + 1
Else
Cells(i, 3).Value = x
x = 1
b = a
End If
End If
Next i
End Sub


Powinno zadziałać, pozdrawiam.
Bartłomiej L.

Bartłomiej L. Student, Uniwersytet
Ekonomiczny w
Poznaniu

Temat: sumowanie jedynek o przeciwnym znaku, Excel

Makro działa idealnie,
chciałbym jednak aby wartości w kolumnie C wpisywały się automatycznie po uzupełnieniu kolumn A oraz B. Zdaje się, że w tym celu potrzebowałbym albo wersję formułkową, albo funkcję w VBA, której mógłbym użyć dla podanego zakresu, czy tak ?

konto usunięte

Temat: sumowanie jedynek o przeciwnym znaku, Excel

Najłatwiej chyba będzie stworzyć przycisk odpalający makro, w pozostałych przypadkach trzebaby trochę pomyśleć, a ja właśnie idę spać :) Może ktoś inny Ci pomoże, pzdr.
Bartłomiej L.

Bartłomiej L. Student, Uniwersytet
Ekonomiczny w
Poznaniu

Temat: sumowanie jedynek o przeciwnym znaku, Excel

Ok, dzięki za pomoc.

Proszę zatem ponownie wszystkie tęgie głowy o pomoc w rozwiązaniu problemu. Kolumna C powinna uzupełniać się automatycznie. Wydziwiam, jak rozpieszczony dzieciak, ale jest to ważny element rozwiązania.
Tomasz Gryzio

Tomasz Gryzio Dyrektor
zarządzający/Trener/
Konsultant - It
School

Temat: sumowanie jedynek o przeciwnym znaku, Excel

Do komórki C14 wstawiam formułę:

=JEŻELI(LUB(SUMA(A14:B14)=0;CZY.BŁĄD(MODUŁ.LICZBY(SUMA.JEŻELI($A$1:B13;-SUMA(A14:B14);$A$1:B13))-SUMA.JEŻELI(JEŻELI(SUMA(A14:B14)=1;$A$1:A13;$B$1:B13);SUMA(A14:B14);$C$1:C13)));0;MODUŁ.LICZBY(SUMA.JEŻELI($A$1:B13;-SUMA(A14:B14);$A$1:B13))-SUMA.JEŻELI(JEŻELI(SUMA(A14:B14)=1;$A$1:A13;$B$1:B13);SUMA(A14:B14);$C$1:C13))

Przeciągam do ją do komórki C1.

Pozdrawiam Tomasz GryzioTomasz Gryzio edytował(a) ten post dnia 11.11.11 o godzinie 00:17
Bartłomiej L.

Bartłomiej L. Student, Uniwersytet
Ekonomiczny w
Poznaniu

Temat: sumowanie jedynek o przeciwnym znaku, Excel

Rewelacja !
Dziękuję Panu Tomkowi i wszystkim, którzy poświęcili swój czas na rozwiązanie problemu.

Pozdrawiam

Następna dyskusja:

Excel sumowanie dat




Wyślij zaproszenie do