Witam W związku z brakiem biegłości w temacie proszę was o pomoc. Posiadam zbiór w którym interesują mnie trzy kolumny. Jedna z tych kolumn to typ zaś dwie następne to parametry.
Przykład:
PARAMETR 1. PARAMETR2. TYP
123. 456. A
789. 12. A
987. 654. A
987. 654. B
321. 124. B
Sprawa polega na tym:
Parametr pierwszy i parametr drugi jest nierozerwalnie ze sobą połączone razem z typem.
Jak widzimy, występuje sytuacja w której PARAMETR 1 i PARAMETR 2 powtarza się w TYPIE A jak i w TYPIE B. W tym wypadku chciałbym, aby w sytuacji w której powtórzą się wspólnie takie wartości, ale są w różnych TYPACH, by usuwać TYP B i zostawiać tylko te dwa parametry ale w typie A. Jeśli choć jeden parametr w rzędzie różniłby się to wtedy mają zostać obydwa, ale jeśli są takie same obydwa parametry ale są w różnych typach To należałoby usunąć typ B.
Nie jestem biegły w tym i niestety nie znalazłem rozwiązania.
Dziękuję za pomoc i pozdrawiam
Usunięcie duplikatów w na podstawie grupy i kolumn
Usunięcie duplikatów w na podstawie grupy i kolumn
Win 10
LibreOffice 7.1.3.2 x64
LibreOffice 7.1.3.2 x64
Re: Usunięcie duplikatów w na podstawie grupy i kolumn
Możesz to zrobić funkcjami zliczającymi:
* albo countif w odniesieniu do warunków w jednej kolumnie. W tym przypadku trzeba by zbudować sztuczną kolumnę z trzech istniejących, łącząc zawartość jakimś separatorem;
* albo countifs w odniesieniu do warunków liczonych na podstawie wielu kolumn. Załączam przykład. Funkcja ta jest dostępna w LibreOffice, ale nie w Apache OpenOffice. Przy użyciu anglojęzycznych nazw funkcji w formułach
a po przełączeniu na polski (chyba)
Jak to działa:
pytamy każdy wiersz z osobna, czy jest on taki, że w kolumnie TYP występuje w nim B, i jednocześnie czy istnieje taki wiersz typu A, w którym w kolumnach parametrów znajdują się te same dane, co w wierszu bieżącym. Ściślej: czy liczba takich wierszy jest niezerowa.
Usunięcie danych jest niewykonalne przy użyciu samych formuł. Możesz użyć wyników obliczeń albo do ukrycia wytypowanych wierszy (Autofiltr), albo przekopiowania pozostałych wierszy (Filtr standardowy), także w to samo miejsce.
* albo countif w odniesieniu do warunków w jednej kolumnie. W tym przypadku trzeba by zbudować sztuczną kolumnę z trzech istniejących, łącząc zawartość jakimś separatorem;
* albo countifs w odniesieniu do warunków liczonych na podstawie wielu kolumn. Załączam przykład. Funkcja ta jest dostępna w LibreOffice, ale nie w Apache OpenOffice. Przy użyciu anglojęzycznych nazw funkcji w formułach
Kod: Zaznacz cały
=AND(C2="B"; COUNTIFS(A$2:A$100; A2; B$2:B$100; B2; C$2:C$100; "A")>0)
Kod: Zaznacz cały
=I(C2="B"; LICZ.WARUNKI(A$2:A$100; A2; B$2:B$100; B2; C$2:C$100; "A")>0)
pytamy każdy wiersz z osobna, czy jest on taki, że w kolumnie TYP występuje w nim B, i jednocześnie czy istnieje taki wiersz typu A, w którym w kolumnach parametrów znajdują się te same dane, co w wierszu bieżącym. Ściślej: czy liczba takich wierszy jest niezerowa.
Usunięcie danych jest niewykonalne przy użyciu samych formuł. Możesz użyć wyników obliczeń albo do ukrycia wytypowanych wierszy (Autofiltr), albo przekopiowania pozostałych wierszy (Filtr standardowy), także w to samo miejsce.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: Usunięcie duplikatów w na podstawie grupy i kolumn
Jak napisał @Jan_J w Apache OpenOffice nie ma funkcji LICZ.WARUNKI(). Możesz wykorzystać inną formułę. Przykład w załączniku.
Jest to formuła macierzowa zatwierdzana skrótem klawiaturowym CTRL+SHIFT+ENTER.
Następnie wykorzystać filtr standardowy.
Aby skopiować formułę macierzową do pozostałych komórek, musisz użyć albo polecenia "Kopiuj", a potem "Wklej" do zadanego obszaru, albo przeciągać formułę przy pomocy myszki z przyciśniętym klawiszem CTRL.
Jest to formuła macierzowa
Kod: Zaznacz cały
=LICZ.JEŻELI($A$2:$A$6&$B$2:$B$6;A2&B2)
Następnie wykorzystać filtr standardowy.
Aby skopiować formułę macierzową do pozostałych komórek, musisz użyć albo polecenia "Kopiuj", a potem "Wklej" do zadanego obszaru, albo przeciągać formułę przy pomocy myszki z przyciśniętym klawiszem CTRL.
- Załączniki
-
- Altaro.ods
- (22.93 KiB) Pobrany 43 razy
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Re: Usunięcie duplikatów w na podstawie grupy i kolumn
Intryguje mnie jednak niejednoznaczny opis twojego przykładu. Może chodzić o to, że w jednej komórce zapis zawiera cyfrowy kod, znak kropki, drugi kod cyfrowy, znowu znak kropki, po którym występuje typ, czyli pojedynczy wiersz twojego przykładu jest zawartością komórki w kolumnie np. "Kod". Wówczas formuła musi być inna. Zakładając, że typ jest jednoznakowym oznakowaniem formuła miałaby postać:
oczywiście nadal byłaby to formuła macierzowa, a sama formuła odnosi się do innego położenia danych źródłowych.
Parametry do filtru standardowego byłyby takie:
Kod: Zaznacz cały
=LICZ.JEŻELI(LEWY($A$26:$A$30;DŁ($A$26:$A$30)-1);LEWY(A26;DŁ(A26)-1))
Parametry do filtru standardowego byłyby takie:
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Re: Usunięcie duplikatów w na podstawie grupy i kolumn
Kropki nie mają tu znaczenia. To tylko kwestia pisania na telefonie.
Win 10
LibreOffice 7.1.3.2 x64
LibreOffice 7.1.3.2 x64