W komórce mam formułę ="TEKST"&FUNKCJA()

Użytkowanie arkusza kalkulacyjnego
KontoLibreOffice
Posty: 92
Rejestracja: wt paź 04, 2022 5:48 pm

W komórce mam formułę ="TEKST"&FUNKCJA()

Post autor: KontoLibreOffice »

W komórce mam formułę ="TEKST"&FUNKCJA()
Chcę wartość funkcji wykorzystać jako argument dla innej formuły.
Jak to zrobić ?
7.5.6.2 (X86_64)
Awatar użytkownika
Rafkus
Posty: 513
Rejestracja: czw kwie 12, 2018 10:26 pm

Re: W komórce mam formułę ="TEKST"&FUNKCJA()

Post autor: Rafkus »

a jaki jest problem aby użyć jeszcze raz tej samej FUNKCJA() ale jako wymagany argument w drugiej formule??
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
KontoLibreOffice
Posty: 92
Rejestracja: wt paź 04, 2022 5:48 pm

Re: W komórce mam formułę ="TEKST"&FUNKCJA()

Post autor: KontoLibreOffice »

Rafkus pisze: wt paź 04, 2022 8:14 pm a jaki jest problem aby użyć jeszcze raz tej samej FUNKCJA() ale jako wymagany argument w drugiej formule??
Pierwszy to łatwość tworzenia funkcji. Przykład:
Załóż ze chcesz dodać zawartość komórek od A1 do An

Jeśli zawartość komórek od A1 do An to :
Coś tam 10 , Coś tam 956 itd.
A formuły w komórkach A1 do An które tę wartość zwróciły mają postać
="Coś tam"&FORMUłA
To SUMA(A1:An) zwróci błąd gdyż argumentamy to tekst
Dlatego wygodne byłoby mieć funkcję F() która zwróciłaby F(A1)=10 itd.
Można by wtedy w kolumnie B1 wpisać funkcję F(A1) przeciągnoć do Bn a po tem zrobić Suma(B1:Bn)
Zwróć uwagę że FORMUłA może być bardzo skomplikowana i odwoływać się do wielu argumentów



Drugi to czytelność tj. łatwość sprawdzenia czy wszyskie formuły są poprawne, bardzo przydatne gdy arkusz może być modifikowany w przyszłości, jest to główny powód dla którego zadaję to pytanie, ponieważ podczas wprowadzenia zmian w arkuszu argumenty formuł uległy zmianie co skutkowało błędnym wynikiem, musiałem od początku wyszukać poprawny ich zakres a potem go zaznaczyć.
Nie było to co prawda nie możliwe do wykonania, ale było by mi dużo łatwiej to zrobić gdyby formuła :

="Dochód "&SUMA(B4:B30;D4:D30)-SUMA(H5:H36;J4:J36;L5:L14)&" zł i Wartość Vat "&SUMA(C4:C30;E4:E30)-SUMA(I5:I37;M5:M36)&" zł"
Przyjeła postać :
="Dochód "&B3+D3-H4-J3-L&" zł i Wartość Vat "&C3+E3-I4-I5&" zł
Jednakże np. komórka B3 zawiera formułę :
="Paragony Netto "&SUMA(B4:B30)


Trzeci to możliwość żę niektóre formuły są ukryte w przeciwięstwie do ich wartośći.
7.5.6.2 (X86_64)
Awatar użytkownika
Rafkus
Posty: 513
Rejestracja: czw kwie 12, 2018 10:26 pm

Re: W komórce mam formułę ="TEKST"&FUNKCJA()

Post autor: Rafkus »

Mimo wszystko uważam, że tekst i liczby, które chcesz dalej przeliczać powinny być rozdzielone. Teraz masz połączone i zamiast przykładowej funkcji:

Kod: Zaznacz cały

SUMA(A1:An)

musisz kombinować i w jakiś sposób porozdzielać te dane. Dlatego proponowałbym do jednej kolumny np A wstawić tą FUNKCJA() i ukryć tą kolumnę. Do kolumny B wprowadziłbym

Kod: Zaznacz cały

="TEKST" & Ai
gdzie i to są jakiejś kolejne numery wierszy a w dowolnym innym miejscu będziesz mógł wykorzystać bez problemu funkcje sumującą: SUMA(A1:An)

Jeśli nadal upierasz się na swoim pomyśle to do wyłuskania dowolnych fragmentów tekstu z tekstu mogą być przydatne funkcje: LEWY, PRAWY, FRAGMENT.TEKSTU, DŁ-czyli długość tekstu. W AOO wynikiem 3 pierwszych funkcji jest tekst, dlatego potrzebna jest jeszcze funkcja WARTOŚĆ. Nieco wyższą szkołą jazdy jest użycie w LibreOffice funkcji REGEX.
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
Awatar użytkownika
Jermor
Posty: 2239
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: W komórce mam formułę ="TEKST"&FUNKCJA()

Post autor: Jermor »

Arytmetyczne działania na tekstach nie są proste. Dlatego argumentacja @Rafkus jest słuszna.
Powinieneś w kolumnie B wstawić to co określiłeś jako FORMUŁA, a w kolumnie A wpisać formułę "Coś tam "&B.
Nie wiem, jakie są zasady tego "Coś tam" ale jeśli w tych tekstrach nie występuje żadna cyfra to możesz pod kolumną A wstawić formułę sumowania następującą:

Kod: Zaznacz cały

=SUMA(WARTOŚĆ(PRAWY(A1:A10;DŁ(A1:A10)-SZUKAJ.TEKST("[0-9]";A1:A10)+1)))
Ten przykład zakłada, że jest 10 wierszy. Tę formułę zatwierdzić skrótem klawiaturowym CTRL+SHIFT+ENTER, gdyż jest to formuła macierzowa.
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.
ODPOWIEDZ