Forum Gry Hobby Sprzęt Rozmawiamy Archiwum Regulamin

Forum: Excel - Pytanie o formułę.

14.12.2011 09:45
Jeckyl
1
Jeckyl
94
Nieuk

Excel - Pytanie o formułę.

Mam w kolumnie A:
3
0
0
0
25
6
0
2
0
0
0
0
0
0

Funkcja WYSZUKAJ.PIONOWO zamiast 0 wywala mi fałsz i dostaję takie coś:
3
FAŁSZ
FAŁSZ
FAŁSZ
25
6
FAŁSZ
2
FAŁSZ
FAŁSZ
FAŁSZ
FAŁSZ
FAŁSZ
FAŁSZ

Jaką funkcję zastosować aby w kolumnie B pojawiło się:
3
25
6
2

Czyli, tylko wartości >0?

Jeśli to nie ta kategoria to proszę o sugestię gdzie mam wątek umieścić aby nie zaśmiecać forum.

14.12.2011 09:53
2
odpowiedz
el.kocyk
185
Legend

ale o co konkretnie chodzi? o skopiowanie z A do B wartosci wiekszych niz 0?
jesli tak to czemu nie =IF(A1>0,A1," ")

czy tez chcesz by w kolumnie B pojawily sie tylko wartosci wieksze niz 0 bez pustych wierszy?

jesli tak to napisz cos, pokombinuje

14.12.2011 10:00
Jeckyl
3
odpowiedz
Jeckyl
94
Nieuk

Chodzi dokładnie o to aby w kolumnie B było kolejno:
"Wiersz 1" - 3
"Wiersz 2" - 25
"Wiersz 3" - 6
"Wiersz 4" - 2

A na razie, jakbym nie kombinował, to wychodzi mi:
"Wiersz 1" - 3
"Wiersz 2" - 0 lub FAŁSZ
"Wiersz 3" - 0 lub FAŁSZ
"Wiersz 4" - 0 lub FAŁSZ
"Wiersz 5" - 25

14.12.2011 10:11
4
odpowiedz
zanonimizowany251643
134
Legend

Ty prosisz o program, a nie o formułę.

Do czego to jest potrzebne, jezeli chcesz wyseparować szybko te wartości do nowej listy to najlepiej wyfiltrować po kolumnie A i wynik skopiować gdzieś obok i już masz same wartości <>0

14.12.2011 10:15
Jeckyl
5
odpowiedz
Jeckyl
94
Nieuk

albz74 -> Muszę to później przypisać do makra, a makro do przycisku. Wszystko musi się robić automatycznie. Stąd moje pytanie.

14.12.2011 10:21
6
odpowiedz
el.kocyk
185
Legend

czy liczba elementow w kolumnie A jest stala czy zmienna?

14.12.2011 10:22
Jeckyl
7
odpowiedz
Jeckyl
94
Nieuk

Stała. Tylko wartości będą się zmieniać.

14.12.2011 10:31
8
odpowiedz
el.kocyk
185
Legend

no to jakjest ich 13 to:
Private Sub CommandButton1_Click()
j = 1
For i = 1 To 13
If Cells(i, 1).Value > 0 Then
MsgBox Cells(i, 1).Value
Cells(j, 2).Value = Cells(i, 1).Value
j = j + 1
End If
Next
End Sub

14.12.2011 10:32
9
odpowiedz
zanonimizowany251643
134
Legend

Dalej nie czuję. Co podłączysz do przycisku ?

Gdyby elementów nie było za dużo, to można próbować zagnieżdżonymi IFami i offsetem, który pozwala na pobieranie elementów w dół lub w poprzek .

Ewentualnie obszar nazwać, a potem formułami bazodanowymi wybierać. Ale najprościej makro do tego napisać, banalne dwie pętelki jedna do przeszukiwania listy a druga do przesuwania się w dół.

14.12.2011 10:38
10
odpowiedz
el.kocyk
185
Legend

albz, autor chyba nie chcial konkretnie funkcji a wykonac zadanie?

ups, wykasuj msgboxa:)
Private Sub CommandButton1_Click()
j = 1
For i = 1 To 13
If Cells(i, 1).Value > 0 Then
Cells(j, 2).Value = Cells(i, 1).Value
j = j + 1
End If
Next
End Sub

14.12.2011 10:41
11
odpowiedz
zanonimizowany251643
134
Legend

el.kocyk - w temacie jest pytanie o formułę :)

14.12.2011 10:43
12
odpowiedz
el.kocyk
185
Legend

w sumie racja
ale to jest bez snesu w kontekscie pozniejszego pisania o macro i przycisku, jak pisales w 9...
moze autor sie zamotal?:)

14.12.2011 10:47
Jeckyl
13
odpowiedz
Jeckyl
94
Nieuk

Się nie zamotał, tylko myślał, że sama formuła wystarczy :P

Dziękuję serdecznie za pomoc :)

14.12.2011 10:51
14
odpowiedz
el.kocyk
185
Legend

nie ma sprawy, w sumie zastanawiam sie czy da sie stworzyc jakas zaawansowana formule, ktora by to zrobila i jak by ona wygladala, ale nie mam chyba do tego cierpliwosci

14.12.2011 10:57
15
odpowiedz
zanonimizowany251643
134
Legend

Da się, jeżeli lista jest krótka i stała. Na IF zapisujesz sprawdzanie, czy 0, a następnie offset pozwala sprawdzić czy pobrać zawartość komórki +1,2 itd miejsca w dół. Czyli jak <> 0 pobierz offset 0, jeżeli = 0 sprawdź offset +1. Do tego dodać sprawdzanie wiersza w B żeby nie pobierać wczęśniejszych niezerowych wartości z A.

Generalnie do zrobienia ale z wielkim trudem, a makro które zrobi to samo pisze się chwilę.

14.12.2011 11:02
Jeckyl
16
odpowiedz
Jeckyl
94
Nieuk

Kolumna ma 200 wierszy ;)

14.12.2011 11:05
17
odpowiedz
zanonimizowany251643
134
Legend

Aaa, to nie do zrobienia :)

14.12.2011 11:06
18
odpowiedz
el.kocyk
185
Legend

no to jak ma 200 to For i = 1 To 200 i z glowy

edit: a odnosnie albza i formuly pisales:) no to by byla na pewno masakra:)

14.12.2011 11:10
Jeckyl
19
odpowiedz
Jeckyl
94
Nieuk

no to jak ma 200 to For i = 1 To 200 i z glowy

Już tak mam ;)

Forum: Excel - Pytanie o formułę.