Domyślam się, że to łatwe, ale nie mam pomysłu jak to zrobić.
Mam plik w którym jest 30 kolumn i 1000 wierszy wypełnionych cyframi.
Jak sprawić, aby w 31 kolumnie wyświetlana była ilość, w których wierszach ile razy występuje dana liczba (60) w wierszu?
LibreOffice niby umie spacje z Excel przerobić na znak męskiej i damskiej toalety. Niby jakieś bugi jak plik ma dziwne kodowanie przy zapisie w Excel i Libre nie wie jakie wybrać i wybiera “najgorsze”.
To tu już przydałoby się jakieś makro. Robiłem coś podobnego i to jest pętla, która po znalezieniu szukanej liczby wpisze jej adres - lub część adresu - do komórki. Pamiętam, że robiłem to pętlą Do While gdzie warunkiem była niepusta zawartość komórki - akurat struktura arkusza pozwalała na taki warunek, bo kolumny były zapisane od góry do dołu bez pustych miejsc. Ustawiasz sobie pustą zmienną np. “A” i po każdym znalezieniu szukanej wartości, zmienna jest zmieniana na zawartość tej zmiennej + odnaleziona wartość czyli A = A + [wartość_komórki] + ", " - przecinek ze spacją jako separator kolejnych wartości. Na końcu przechodzisz o jeden wiersz niżej, pod pierwszy pusty by można było użyć makra ponownie i wpisać w komórkę zawartość zmiennej “A”, czyli nasze adresy.
Po wyjściu z pętli możesz wyciąć dwa ostatnie znaki, czyli ", " jak jesteś purystą.
Jak umiesz w VBA to sobie to jakoś kreatywnie ogarniesz.
Jeżeli chcesz wiedzieć, w których wierszach masz szukaną wartość w danej kolumnie to proszę:
Sub AAA()
Dim A
C = ActiveCell.Column
Cells(1, C).Select
Do While ActiveCell.Value <> ""
If ActiveCell.Value = 2 Then
A = A & ActiveCell.Row & ", "
End If
Selection.Offset(1, 0).Select
Loop
Selection.Offset(1, 0).Select
ActiveCell.Value = A
End Sub
Spoko. Nie jestem mistrzem kodziarstwa, więc można się przyczepiać do jakieś złej składni czy coś.
=LICZ.WARUNKI(A1:AD1000;">0,01";A1:AD1000;"<0,99") - większe od 0,01 i mniejsze od 0,99
=LICZ.WARUNKI(A1:AD1000;">=0,01";A1:AD1000;"<=0,99") - większe, bądź równe 0,01 i mniejsze, bądź równe 0,99