Zwracanie wartości z komórki
Zwracanie wartości z komórki
Dzień dobry. Nie mogę sobie poradzić z jednym problemem, a dokładniej ze stworzeniem funkcji na arkuszach kalkulacyjnych. Czy mógłby mi ktoś pomóc ?
Problem wygląda następująca:
Mam 3 arkusze w jednym dokumencie o nazwach Roboczy, Druk, Zmiany.
Operuję na scalony podwójnie komórkach.
Chciałbym w komórce C15:D16 w arkuszu „Roboczy” wpisać wartość cyfrową od 1-8.
W arkuszu „Zmiany” w komórkach A2:A9 (które nie są scalone) znajdują się owe cyfry od 1-8.
I teraz pojawia się mój problem. Jak zrobić żeby w arkuszu „Druk” w analogicznej komórce C15:D16 zwróciło skopiowaną komórkę przyporządkowaną wartość od 1-8 z arkusza „Zmiany”, które znajdują się w komórkach D2:D9.
Dodam, że kiedyś coś podobnego miałem w wordzie ale na obecną chwilę firma przeszła na libre i nie pamiętam formuły. Proszę serdecznie o pomoc.
Problem wygląda następująca:
Mam 3 arkusze w jednym dokumencie o nazwach Roboczy, Druk, Zmiany.
Operuję na scalony podwójnie komórkach.
Chciałbym w komórce C15:D16 w arkuszu „Roboczy” wpisać wartość cyfrową od 1-8.
W arkuszu „Zmiany” w komórkach A2:A9 (które nie są scalone) znajdują się owe cyfry od 1-8.
I teraz pojawia się mój problem. Jak zrobić żeby w arkuszu „Druk” w analogicznej komórce C15:D16 zwróciło skopiowaną komórkę przyporządkowaną wartość od 1-8 z arkusza „Zmiany”, które znajdują się w komórkach D2:D9.
Dodam, że kiedyś coś podobnego miałem w wordzie ale na obecną chwilę firma przeszła na libre i nie pamiętam formuły. Proszę serdecznie o pomoc.
- Załączniki
-
- Grafik roboczy.ods
- (18.48 KiB) Pobrany 111 razy
Libre Office 7.3
Re: Zwracanie wartości z komórki
Skorzystaj z funkcji: WYSZUKAJ.PIONOWO()
Pamiętaj, że przy scalonych komórkach używasz adresu lewego górnego rogu scalonego obszaru.
Zatem w twoim przypadku pierwsza funkcja wyglądałaby tak:
W tej funkcji celowo zastosowałem ostatni parametr o wartości 0 by w przypadku błędnego wpisania wartości w komórce C15 w arkuszu Roboczy taki fakt został zasygnalizowany.
Pamiętaj, że przy scalonych komórkach używasz adresu lewego górnego rogu scalonego obszaru.
Zatem w twoim przypadku pierwsza funkcja wyglądałaby tak:
Kod: Zaznacz cały
=WYSZUKAJ.PIONOWO($Roboczy.C15;$Zmiany.A2:D9;4;0)
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: Zwracanie wartości z komórki
Swoją drogą zastanawia mnie, dlaczego scalasz komórki, skoro możesz zwiększyć szerokość jednego wiersza. Scalanie miałoby sens, gdybyś w dalszej części wiersza faktycznie używał dwóch niezależnych poziomów zapisu.
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: Zwracanie wartości z komórki
Bardzo dziękuję za szybką odpowiedz. Co do komórek to przyznam rację, że scalowanie nie ma sensu. Chciałem żeby było bardziej czytelne ale powiększenie komórki załatwi tą sprawę. Wieczorem jak usiądę przed komputerem to wprowadzę formułę i sprawdzę jak przebiega zwracanie wartości.
Libre Office 7.3
Re: Zwracanie wartości z komórki
To tylko dodatkowa uwaga, dla formalności. Podana przeze mnie formuła przeznaczona jest dla jednej, konkretnej komórki. Jeśli chcesz ją kopiować w inne miejsca, to drugi argument funkcji: WYSZUKAJ.PIONOWO() powinien wyglądać tak: $Zmiany.$A$2:$D$9
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: Zwracanie wartości z komórki
Dziękuję za formułę. Oczywiście świetnie działa.
Co oznaczają na końcu cyfry 4 i 0 ? 0 jak rozumiem wyrzuci jakiś błąd.
W trakcie edycji dokumentu wyszły jeszcze trzy pytania.
1. Jeżeli zrobię kilka stron w prawo można zrobić tak aby kolumny A i B stały w miejscu a reszta kolumn od C przesuwały się ?
2. Dokument projektowany przeze mnie służy do zliczania godzin. Jeżeli zrobię szare kolumny odpowiadające dniom wolnym od pracy, a białe pozostawię dni pracujące. Czy można stworzyć formułę, która będzie zliczała dni białe czyli pracujące i mnożyła je razy 8 ?
3. W trakcie wpisywania w komórce tekstu LUTY 2022 automatycznie zmienia litery na małą trzcionkę. Czy można to wyłączyć ?
Kod: Zaznacz cały
=WYSZUKAJ.PIONOWO($Roboczy.C15;$Zmiany.A2:D9;4;0)
W trakcie edycji dokumentu wyszły jeszcze trzy pytania.
1. Jeżeli zrobię kilka stron w prawo można zrobić tak aby kolumny A i B stały w miejscu a reszta kolumn od C przesuwały się ?
2. Dokument projektowany przeze mnie służy do zliczania godzin. Jeżeli zrobię szare kolumny odpowiadające dniom wolnym od pracy, a białe pozostawię dni pracujące. Czy można stworzyć formułę, która będzie zliczała dni białe czyli pracujące i mnożyła je razy 8 ?
3. W trakcie wpisywania w komórce tekstu LUTY 2022 automatycznie zmienia litery na małą trzcionkę. Czy można to wyłączyć ?
Libre Office 7.3
Re: Zwracanie wartości z komórki
Powinieneś, choćby w helpie, poczytać o funkcji WYSZUKAJ.PIONOWO(), no ale skoro nie...
Funkcja wyszukuje to co jest jej pierwszym argumentem, dla przedstawionej mojej odpowiedzi to, co jest w arkuszu "Roboczy" w komórce C15.
Drugi argument określa pewną tablicę, która będzie brana pod uwagę przy przeszukiwaniu, ale C15 jest szukane tylko w pierwszej kolumnie tej tablicy.
Jeśli C15 zostanie znalezione, to zostanie zwrócona wartość z kolumny podanej jako trzeci argument tej funkcji. Tutaj czwartej kolumny. Mówimy o kolumnie w zdefiniowanej tablicy, a nie kolumnie w arkuszu. Kolumny tablicy liczone są od 1.
Czwarty parametr określa zasadę wyszukiwania. 0 oznacza, że wartość podana w C15 musi zostać znaleziona. Jeśli jej nie będzie, zwrócony zostanie błąd #N/D. Inaczej mówiąc jeśli przypadkowo wpiszesz w C15: 9 albo 1,5 to zostanie to zasygnalizowane błędem. Warto poczytać o tej funkcji.
Ad 1. Jeśli zaznaczysz kolumnę C i kolejne kolumny w prawo, robiąc to na górnym brzegu arkusza, czyli "na literach" kolumn, to po kliknięciu prawego przycisku myszy na tych literach, pojawi się w menu kontekstowym akcja "Wstaw kolumny przed", wstawi ona tyle kolumn przed kolumną C, ile ich zaznaczyłeś. Przy zaznaczonych kolumnach możesz też wybrać "Arkusz -> Wstaw kolumny -> Wstaw kolumny przed".
Ad 2. Nie można. Na razie nie ma wbudowanych formuł, które jako warunek uwzględniają kolor tła lub kolor tekstu. Jeśli jednak w dni wolne niczego nie wpisujesz, to formuła przepracowanych godzin może policzyć wszystkie komórki (dni) w miesiącu, które zawierają liczbę (albo nie są puste) [LICZ.JEŻELI()] i ten wynik pomnożyć przez 8.
Ad 3. Nie wiem, o czym piszesz. Wpisanie do komórki ze standardowym formatowaniem, w polskiej wersji Calc, napisu "luty 2022", z dowolnymi literami, powinno przekształcić ten wpis w postać 1.02.2022. Być może komórka, do której wprowadzasz ten napis, ma przypisany format "MMMM YYYY", wówczas nazwa miesiąca jest zawsze wyświetlana małymi literami. Tu jednak trzeba byłoby zobaczyć przykład arkusza.
Funkcja wyszukuje to co jest jej pierwszym argumentem, dla przedstawionej mojej odpowiedzi to, co jest w arkuszu "Roboczy" w komórce C15.
Drugi argument określa pewną tablicę, która będzie brana pod uwagę przy przeszukiwaniu, ale C15 jest szukane tylko w pierwszej kolumnie tej tablicy.
Jeśli C15 zostanie znalezione, to zostanie zwrócona wartość z kolumny podanej jako trzeci argument tej funkcji. Tutaj czwartej kolumny. Mówimy o kolumnie w zdefiniowanej tablicy, a nie kolumnie w arkuszu. Kolumny tablicy liczone są od 1.
Czwarty parametr określa zasadę wyszukiwania. 0 oznacza, że wartość podana w C15 musi zostać znaleziona. Jeśli jej nie będzie, zwrócony zostanie błąd #N/D. Inaczej mówiąc jeśli przypadkowo wpiszesz w C15: 9 albo 1,5 to zostanie to zasygnalizowane błędem. Warto poczytać o tej funkcji.
Ad 1. Jeśli zaznaczysz kolumnę C i kolejne kolumny w prawo, robiąc to na górnym brzegu arkusza, czyli "na literach" kolumn, to po kliknięciu prawego przycisku myszy na tych literach, pojawi się w menu kontekstowym akcja "Wstaw kolumny przed", wstawi ona tyle kolumn przed kolumną C, ile ich zaznaczyłeś. Przy zaznaczonych kolumnach możesz też wybrać "Arkusz -> Wstaw kolumny -> Wstaw kolumny przed".
Ad 2. Nie można. Na razie nie ma wbudowanych formuł, które jako warunek uwzględniają kolor tła lub kolor tekstu. Jeśli jednak w dni wolne niczego nie wpisujesz, to formuła przepracowanych godzin może policzyć wszystkie komórki (dni) w miesiącu, które zawierają liczbę (albo nie są puste) [LICZ.JEŻELI()] i ten wynik pomnożyć przez 8.
Ad 3. Nie wiem, o czym piszesz. Wpisanie do komórki ze standardowym formatowaniem, w polskiej wersji Calc, napisu "luty 2022", z dowolnymi literami, powinno przekształcić ten wpis w postać 1.02.2022. Być może komórka, do której wprowadzasz ten napis, ma przypisany format "MMMM YYYY", wówczas nazwa miesiąca jest zawsze wyświetlana małymi literami. Tu jednak trzeba byłoby zobaczyć przykład arkusza.
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: Zwracanie wartości z komórki
Ad. 1. Znalazłem gdzie w tuturialach jak to się nazywa o co mi chodziło. A mianowicie chodzi o przytwierdzanie pierwszych dwóch kolumn jednak na obecną chwilę szukam jak zrobić żeby były dwie pierwsze kolumny przytwierdzone. Udaje mi się tylko jedną tzn. pierwszą przytwierdzić.
Ad. 2. Rozwiązałem ten problem dodając kolejną kolumnę w Arkuszu "Zmiany" a mianowicie wpisałem ile godzin ma każda zmiana i w ten sposób będę kombinował żeby zliczało godziny ale to zostawię na koniec prac
Ad. 3. Dokładnie wskazałeś problem. Format wyświetlany jest "MMMM YYYY" co oddaje wartość luty 2022 chciałbym żeby ta wartość była w formie LUTY 2022. Stanąłem w tym miejscu bo wybrałem po zaznaczeniu komórki w POLU ZAKŁADEK - FORMAT - TEKST - WIELKIE LITERY i w dalszym ciągu mam "luty 2022" a chciałbym żeby było "LUTY 2022".
Ad. 2. Rozwiązałem ten problem dodając kolejną kolumnę w Arkuszu "Zmiany" a mianowicie wpisałem ile godzin ma każda zmiana i w ten sposób będę kombinował żeby zliczało godziny ale to zostawię na koniec prac
Ad. 3. Dokładnie wskazałeś problem. Format wyświetlany jest "MMMM YYYY" co oddaje wartość luty 2022 chciałbym żeby ta wartość była w formie LUTY 2022. Stanąłem w tym miejscu bo wybrałem po zaznaczeniu komórki w POLU ZAKŁADEK - FORMAT - TEKST - WIELKIE LITERY i w dalszym ciągu mam "luty 2022" a chciałbym żeby było "LUTY 2022".
Libre Office 7.3
Re: Zwracanie wartości z komórki
Przytwierdza się wszystko co leży „w lewo i powyżej” bieżącej komórki w chwili przytwierdzania.
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: Zwracanie wartości z komórki
Dziękuję za odpowiedz.
Został na tą chwilę tylko jeden problem:
Ad. 3. Dokładnie wskazałeś problem. Format wyświetlany jest "MMMM YYYY" co oddaje wartość luty 2022 chciałbym żeby ta wartość była w formie LUTY 2022. Stanąłem w tym miejscu bo wybrałem po zaznaczeniu komórki w POLU ZAKŁADEK - FORMAT - TEKST - WIELKIE LITERY i w dalszym ciągu mam "luty 2022" a chciałbym żeby było "LUTY 2022".
Został na tą chwilę tylko jeden problem:
Ad. 3. Dokładnie wskazałeś problem. Format wyświetlany jest "MMMM YYYY" co oddaje wartość luty 2022 chciałbym żeby ta wartość była w formie LUTY 2022. Stanąłem w tym miejscu bo wybrałem po zaznaczeniu komórki w POLU ZAKŁADEK - FORMAT - TEKST - WIELKIE LITERY i w dalszym ciągu mam "luty 2022" a chciałbym żeby było "LUTY 2022".
Libre Office 7.3
Re: Zwracanie wartości z komórki
Jeżeli np. w komórce F2 masz wpisaną datę to w jakieś innej wpisz formułę:
Jeżeli w przykładowej komórce F2 masz funkcję podającą datę dzisiejszą to możesz tam użyć następującej funkcji:
Jeśli zaś chodzi o twoje wcześniejsze pytanie:
Kod: Zaznacz cały
=LITERY.WIELKIE(TEKST(F2;"mmmm yyyy"))
Kod: Zaznacz cały
=LITERY.WIELKIE(TEKST(DZIŚ();"mmmm yyyy"))
Jest takie rozszerzenie CountStyle. Dodaje ona do CALCA dwie funkcje do zliczania komórek lub zawartości komórek według stylu komórki. Kompatybilny zarówno z Apache OpenOffice, jak i LibreOffice. Jeśli chcesz, to w ubiegłym roku przetłumaczyłem ją sobie (zobacz załącznik).zzuullll pisze: Jeżeli zrobię szare kolumny odpowiadające dniom wolnym od pracy, a białe pozostawię dni pracujące. Czy można stworzyć formułę, która będzie zliczała dni białe czyli pracujące i mnożyła je razy 8 ?
- Załączniki
-
- countstyle-1.1.2pl.oxt
- (12.47 KiB) Pobrany 93 razy
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
Re: Zwracanie wartości z komórki
@Jan_J napisał ci lakonicznie:
Co do propozycji @Rafkus. Nie wystarczy w tym przypadku zrobić szarego tła. Musisz zdefiniować (lub wybrać istniejący) styl, i ten styl przypisać do komórki. No i zainstalować rozszerzenie.
W poleceniu "Widok" masz dwie akcje: "Przytwierdź komórki", która w dalszym działaniu pozwala wybrać tylko pierwszy wiersz lub pierwszą kolumnę, oraz "Przytwierdź wiersze i kolumny". Ta druga akcja przytwierdza wszystkie kolumny leżące na lewo i wszystkie wiersze leżące powyżej komórki, która była aktywną w momencie wywołania tego polecenia. Odwołanie przytwierdzenia wykonuje się, wywołując je ponownie.Jan_J pisze:Przytwierdza się wszystko co leży „w lewo i powyżej” bieżącej komórki w chwili przytwierdzania.
Co do propozycji @Rafkus. Nie wystarczy w tym przypadku zrobić szarego tła. Musisz zdefiniować (lub wybrać istniejący) styl, i ten styl przypisać do komórki. No i zainstalować rozszerzenie.
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: Zwracanie wartości z komórki
Świetnie wyszło. Bardzo dziękuję jeszcze raz. Zrobiłem w pierwszym arkuszy datę z automatycznym wystawieniem, a w trzecim arkuszu który będzie drukowany zrobiłem:
to w pełni rozwiązuje problem.
Pierwszy z arkuszy jest roboczym. W trzecim natomiast nic nie robię gdyż on służy do drukowania.
Szkoda, że nie da się zrobić formuły na zliczanie szarych dni (wolnych) oraz białych pracujących bez instalowania wtyczki.
Jeszcze mam dwa pytania
1. Czy da się zrobić żeby kopiowało kolor kolumn w trzecim arkuszu z pierwszego arkusza. Już wyjaśniam jak to ma działać. W pierwszym arkuszu zaznaczę dni wolne i pracujące poprzez kolorowanie tła w kolumnach (szare i białe) chciałbym aby w trzecim arkuszu automatycznie je tak samo kolorowało. Dodam że w komórkach tych kolumn jest funkcja "=WYSZUKAJ.PIONOWO($Roboczy.C5;$Zmiany.A2:D15;4;0)"
2. Podczas kopiowania funkcji w komórkach wypełnia mi oczywiście automatycznie treść:
muszę później ręcznie zmieniać na:
Tych komórek jest naprawdę sporo. Czy można to jakoś ustawić żeby zmieniała się tylko wartość "=WYSZUKAJ.PIONOWO($Roboczy.**" a reszta czyli ";$Zmiany.A2:D15;4;0)" pozostawała bez zmian.
Kod: Zaznacz cały
=LITERY.WIELKIE(TEKST($Roboczy.C1;"mmmm YYYY"))
Pierwszy z arkuszy jest roboczym. W trzecim natomiast nic nie robię gdyż on służy do drukowania.
Szkoda, że nie da się zrobić formuły na zliczanie szarych dni (wolnych) oraz białych pracujących bez instalowania wtyczki.
Jeszcze mam dwa pytania
1. Czy da się zrobić żeby kopiowało kolor kolumn w trzecim arkuszu z pierwszego arkusza. Już wyjaśniam jak to ma działać. W pierwszym arkuszu zaznaczę dni wolne i pracujące poprzez kolorowanie tła w kolumnach (szare i białe) chciałbym aby w trzecim arkuszu automatycznie je tak samo kolorowało. Dodam że w komórkach tych kolumn jest funkcja "=WYSZUKAJ.PIONOWO($Roboczy.C5;$Zmiany.A2:D15;4;0)"
2. Podczas kopiowania funkcji w komórkach wypełnia mi oczywiście automatycznie treść:
Kod: Zaznacz cały
=WYSZUKAJ.PIONOWO($Roboczy.H7;$Zmiany.F2:I15;4;0)
Kod: Zaznacz cały
=WYSZUKAJ.PIONOWO($Roboczy.I7;$Zmiany.G2:J15;4;0)
Kod: Zaznacz cały
=WYSZUKAJ.PIONOWO($Roboczy.J7;$Zmiany.H2:K15;4;0)
Kod: Zaznacz cały
=WYSZUKAJ.PIONOWO($Roboczy.H7;$Zmiany.A2:D15;4;0)
Kod: Zaznacz cały
=WYSZUKAJ.PIONOWO($Roboczy.I7;$Zmiany.A2:D15;4;0)
Kod: Zaznacz cały
=WYSZUKAJ.PIONOWO($Roboczy.J7;$Zmiany.A2:D15;4;0)
Libre Office 7.3
Re: Zwracanie wartości z komórki
No właśnie to ci napisałem:
Jermor pisze:Jeśli chcesz ją kopiować w inne miejsca, to drugi argument funkcji: WYSZUKAJ.PIONOWO() powinien wyglądać tak: $Zmiany.$A$2:$D$9
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: Zwracanie wartości z komórki
Niezupełnie, można zliczyć ale na innym warunku niż kolor komórki, np. tak:zzuullll pisze:Szkoda, że nie da się zrobić formuły na zliczanie szarych dni (wolnych) oraz białych pracujących bez instalowania wtyczki.
Kod: Zaznacz cały
=SUMA.JEŻELI(DZIEŃ.TYG(N(A$4:A$34;2));"<6";F$4:F$34)
Komórki od A4 do A34 zawierają datę z danego miesiąca. Funkcja DZIEŃ.TYG zamienia datę na nr tygodnia 1 to poniedziałek a 7 to będzie niedziela. Wpisany tekst "<6" oznacza że będą miały być zsumowane dni od poniedziałku do piątku. Zakres który ma zostać odpowiednio zsumowany to F$4:F$34. Tak na szybko, bo muszę iść przykład w załączniku (z pewnymi niedociągnięciami).
- Załączniki
-
- Lista2.ods
- (21.13 KiB) Pobrany 75 razy
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
Re: Zwracanie wartości z komórki
Zainspirowany twoim problemem, a w szczególności tworzeniem grafiku, przygotowałem rozwiązanie, które, jak sądzę, pomoże autorom innych projektów.
Opis zamieściłem na forum w dziale "Projekty użytkowników" https://forum.openoffice.org/pl/forum/v ... =28&t=5771
Opis zamieściłem na forum w dziale "Projekty użytkowników" https://forum.openoffice.org/pl/forum/v ... =28&t=5771
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: Zwracanie wartości z komórki
Jermor wszystko zrobiłem bazując na twoim grafiku oraz na pomocy innych forumowiczów stworzyłem prawie to co potrzebuję.
Poległem na formatowaniu warunkowym gdyż nie zaznacza mi świąt, niedzieli i sobót. Jakbym mógł Ciebie prosić zerknij na mój grafik który przesyłam w załączeniu i podpowiedź mi jak to powinno wyglądać.
Poległem na formatowaniu warunkowym gdyż nie zaznacza mi świąt, niedzieli i sobót. Jakbym mógł Ciebie prosić zerknij na mój grafik który przesyłam w załączeniu i podpowiedź mi jak to powinno wyglądać.
- Załączniki
-
- Grafikforum.ods
- (39.12 KiB) Pobrany 76 razy
Libre Office 7.3
Re: Zwracanie wartości z komórki
- W formatowaniu warunkowym odwoływałeś sie do zakresu święta, którego ani nie miałeś, ani nie zdefiniowałeś;
- W formatowaniu warunkowym sprawdzasz wartość z pola B$8 oraz B$7 co jest błędne - w tych komórkach nic nie masz. Powinieneś sprawdzać komórkę C$14
- Zakres Soboty miał odwoływać się do komórki obok (tej z wartością);
- Załączniki
-
- Grafikforum2.ods
- (26.66 KiB) Pobrany 84 razy
Ostatnio zmieniony wt lut 15, 2022 12:37 pm przez Rafkus, łącznie zmieniany 2 razy.
Powód: Poprawiłem plik
Powód: Poprawiłem plik
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
Re: Zwracanie wartości z komórki
Pojawił się następny problem .
W arkuszu "DRUK" np. w miesiącu lutym dni mamy 28. Czy jest jakaś formuła która od 29 dnia wstawia puste białe komórki ?
Na obecną chwilę wstawia szare komórki z błędem #N/D.
W arkuszu "DRUK" np. w miesiącu lutym dni mamy 28. Czy jest jakaś formuła która od 29 dnia wstawia puste białe komórki ?
Na obecną chwilę wstawia szare komórki z błędem #N/D.
Libre Office 7.3
Re: Zwracanie wartości z komórki
Przepisując wiersz nagłówkowy z numerami dnia miesiąca (zakres C14:AG14 w arkuszu Druk) trzy ostatnie komórki wyposażyłeś w formułę JEZELI: jeżeli miesiąc z porównywalnych komórek jest taki sam to przepisz datę a jak nie wpisz pusty tekst (""). Na podobnej zasadzie można rozwiązać ten problem, a wiec sprawdzić czy odpowiednia komórka z przedziału AE14:AG14 jest pusta, jeśli tak to wpisać "" (czyli pozostawić pustą) a jak nie to ma wpisać wynik z funkcji WYSZUKAJ.PIONOWO. I tak w komórce AG15 formuła będzie wyglądać następująco:
Podmieniłem plik w moim poprzednim poście, dodałem w nim prezentowane rozwiązanie.
Kod: Zaznacz cały
=JEŻELI(AG$14=""; ""; WYSZUKAJ.PIONOWO($Roboczy.AG3;$Roboczy.$AI6:$Roboczy.$AM19;4;0))
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
Re: Zwracanie wartości z komórki
Jest tu kilka spraw do załatwienia.
Jeśli chodzi o formułę podaną w poście @Rafkus (odnośnie wyniku #N/D), to zamiast funkcji JEŻELI() proponuję funkcję JEŻELI.BŁĄD() (jest ona dostępna tylko w LibreOffice, ale tego właśnie używasz).
Ale są i inne sprawy.
Święta. Dla świąt podanych przez użytkownika wpisałeś formuły =JEŻELI(CZY.PUSTA(AL35);"";DATA($AJ$2;AL35;AM35)). To powoduje, że gdy komórka AL35 jest pusta, to zamiast daty wstawiasz pusty ciąg. To z kolei powoduje, że dla miesiąca o liczbie dni mniejszej niż 31, te dni w grafiku, które nie powinny się wyświetlać, są traktowane jak dzień świąteczny użytkownika. Data w tych komórkach jest tworzona formułą =JEŻELI(MIESIĄC($AD14)=MIESIĄC($Roboczy.AE2);$Roboczy.AE2;""), zatem formatowanie warunkowe znajduje pozycję pustego ciągu w obszarze świąt. Powinieneś pozostawić tam formułę =DATA($AJ$2;AL35;AM35). Ze względu na sposób prezentowania daty ta formuła, przy pustej komórce miesiąca i dnia wytworzy datę 30 listopada roku poprzedzającego ten, który masz podany. Zatem ta data nigdy nie będzie zgodna z datą występującą w bieżącym roku.
Stosowanie formatowania warunkowego nakłada na komórki, które spełniają warunki wyboru wybrany styl. Jeśli ten styl ma inne parametry
formatowania, zachodzi deformacja całego grafiku. Twoja podstawowa tabela ma przypisany styl "Domyślny", w którym zmieniłeś ręcznie wielkość czcionki i położenie w komórce.
Moja sugestia jest następująca: zdefiniować nowy styl o nazwie np. "Grafik". W tym stylu określić wymagane parametry i przypisać go do obszaru zajmowanego przez grafiki w arkuszu "Druk". Teraz na podstawie tego stylu utworzyć kolejny styl o nazwie np. "Święta", w którym określić tylko potrzebna dla świąt tło i ten styl wykorzystywać w formatowaniu warunkowym.
W tabeli, z której pobierasz skróty do wpisania ich w grafiku, zamiast wpisywać tekst w rodzaju 7:00/ 15:00 wprowadziłbym formułę:ta formuła wstawi do komórki tekst w dwóch wierszach i taki będzie pobierany do grafiku. Inaczej mówiąc bez względu na szerokość komórki, zawsze będą dwa wiersze.
No to tyle pomysłów.
Jeśli chodzi o formułę podaną w poście @Rafkus (odnośnie wyniku #N/D), to zamiast funkcji JEŻELI() proponuję funkcję JEŻELI.BŁĄD() (jest ona dostępna tylko w LibreOffice, ale tego właśnie używasz).
Kod: Zaznacz cały
=JEZELI.BŁĄD(WYSZUKAJ.PIONOWO($Roboczy.AG3;$Roboczy.$AI6:$Roboczy.$AM19;4;0);"")
Święta. Dla świąt podanych przez użytkownika wpisałeś formuły =JEŻELI(CZY.PUSTA(AL35);"";DATA($AJ$2;AL35;AM35)). To powoduje, że gdy komórka AL35 jest pusta, to zamiast daty wstawiasz pusty ciąg. To z kolei powoduje, że dla miesiąca o liczbie dni mniejszej niż 31, te dni w grafiku, które nie powinny się wyświetlać, są traktowane jak dzień świąteczny użytkownika. Data w tych komórkach jest tworzona formułą =JEŻELI(MIESIĄC($AD14)=MIESIĄC($Roboczy.AE2);$Roboczy.AE2;""), zatem formatowanie warunkowe znajduje pozycję pustego ciągu w obszarze świąt. Powinieneś pozostawić tam formułę =DATA($AJ$2;AL35;AM35). Ze względu na sposób prezentowania daty ta formuła, przy pustej komórce miesiąca i dnia wytworzy datę 30 listopada roku poprzedzającego ten, który masz podany. Zatem ta data nigdy nie będzie zgodna z datą występującą w bieżącym roku.
Stosowanie formatowania warunkowego nakłada na komórki, które spełniają warunki wyboru wybrany styl. Jeśli ten styl ma inne parametry
formatowania, zachodzi deformacja całego grafiku. Twoja podstawowa tabela ma przypisany styl "Domyślny", w którym zmieniłeś ręcznie wielkość czcionki i położenie w komórce.
Moja sugestia jest następująca: zdefiniować nowy styl o nazwie np. "Grafik". W tym stylu określić wymagane parametry i przypisać go do obszaru zajmowanego przez grafiki w arkuszu "Druk". Teraz na podstawie tego stylu utworzyć kolejny styl o nazwie np. "Święta", w którym określić tylko potrzebna dla świąt tło i ten styl wykorzystywać w formatowaniu warunkowym.
W tabeli, z której pobierasz skróty do wpisania ich w grafiku, zamiast wpisywać tekst w rodzaju 7:00/ 15:00 wprowadziłbym formułę:
Kod: Zaznacz cały
=TEKST(AJ8;"HH:MM")&ZNAK(10)&TEKST(AK8;"HH:MM")
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: Zwracanie wartości z komórki
Pojawiło się kolejne pytanie w trakcie tworzenia dokumentu ;(
Utworzyłem nowy arkusz o nazwie lista obecności. Są tam listy obecności wszystkich pracowników. Niestety są tam daty nie w poziomie jak w dwóch poprzednich arkuszach, a w pionie i po wypełnieniu formatowania warunkowego jak w poprzednich arkuszach zaznacza mi wolne dni kolorem w pionie. Jak można to zmienić na zaznaczenie w poziomie.
Utworzyłem nowy arkusz o nazwie lista obecności. Są tam listy obecności wszystkich pracowników. Niestety są tam daty nie w poziomie jak w dwóch poprzednich arkuszach, a w pionie i po wypełnieniu formatowania warunkowego jak w poprzednich arkuszach zaznacza mi wolne dni kolorem w pionie. Jak można to zmienić na zaznaczenie w poziomie.
Libre Office 7.3
Re: Zwracanie wartości z komórki
Wykorzystujesz analogiczne formuły warunkowe, jak te użyte w arkuszu "Druk" z tą różnicą, że teraz to kolumna ma być wskazywana w sposób bezwzględny.
Gdy zatem kolumna A zawiera daty a kolumny B, C D i dalsze jakieś dane, to zaznaczasz ten cały obszar od komórki A do D i wprowadzasz formuły warunkowe w kolejności takiej samej jak w arkuszu "Druk", zmieniając adres komórki zawierającej datę: (jeżeli twój obszar zaczyna się w A1) i analogicznie dla pozostałych warunków.
Gdy zatem kolumna A zawiera daty a kolumny B, C D i dalsze jakieś dane, to zaznaczasz ten cały obszar od komórki A do D i wprowadzasz formuły warunkowe w kolejności takiej samej jak w arkuszu "Druk", zmieniając adres komórki zawierającej datę:
Kod: Zaznacz cały
NIE(CZY.BŁĄD(PODAJ.POZYCJĘ($A1;święta;0)))
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.