❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱


❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Anfänger - tatsächlicher Zelleninhalt (Bezug)

CALC ist die Tabellenkalkulation, die Sie immer wollten.
balu
* LO-Experte *
Beiträge: 370
Registriert: Mi 1. Jun 2011, 16:21

Re: Anfänger - tatsächlicher Zelleninhalt (Bezug)

Beitrag von balu » Fr 18. Okt 2019, 17:21

Hallo Leslie,

jeder kann sich mal vertun. Und von daher ist alles in Ordnung :-)

Du möchtest gerne mit =VERSCHIEBUNG() arbeiten, hast aber wohl eine grunsätzliche Bedingung dabei übersehen. Denn in der Hilfe dazu steht folgendes.
(F1) Hilfe hat geschrieben: Die Argumente Zeilen und Spalten dürfen weder Null noch einen negativen Beginn einer Zeile oder Spalte ergeben.
Und Du hattest ja dies als Formel.

Code: Alles auswählen

=VERSCHIEBUNG(B22;0;1)
Die ZEILEN hast Du aber auf 0 (Null) gesetzt, und deshalb kommt es zu der Fehlermeldung.

Okay, das mehr so als Randnotiz.

Bäck thu Toppik.

Kommen wir zu meiner gestrigen Aussage.
balu hat geschrieben: ... mal einfach einen Zellbezug auslesen oder wie auch immer, kannst Du vergessen.
Ist so nicht ganz richtig. Man kann wohl schon mit so einigen Klimmmzügen die Adresse auslesen, aber mit dem auslesbaren Zellbezug weiter zu arbeiten ist ein anderes Thema.

Nehmen wir in deiner Beispieldatei das Tabellenblatt *HauptTabelle* die Zelle B22. Dort steht als Formel.

Code: Alles auswählen

=Tab2.E3
Und angezeigt wird das.
lila
Und jetzt nehmen wir die Funktion =FORMEL(). Und setzen diese beispielsweise in die Zelle A22.

Code: Alles auswählen

=FORMEL(B22)
Anschließend wird in der gleichen Zelle, also A22, das hier angezeigt.
=Tab2.E3
Nein! Das ist jetzt keine Formel, sondern das ist jetzt eine Textausgabe. Denn das was =FORMEL() ausgibt ist Text. Voraussetzung ist natürlich das die auszulesende Zelle eine Formelzelle ist, sie muss also mit dem gleichheitszeichen '=' beginnen, ansonsten funktioniert diese Fuktion nicht.

Okay, da wir jetzt einen Text haben, können wir nun auch Textfunktionen von Calc benutzen. Und wenn wir nun eine Textfunktion mit =FORMEL() kombinieren, dann können wir mal als Beispiel den Namen des Tabellenblattes auslesen. Die dementsprechende Formel dafür sieht dann so aus.

Code: Alles auswählen

=TEIL(FORMEL(B22);2;SUCHEN("\.";FORMEL(B22))-1)
Diese gibst Du beispielsweise in die Zelle A25 ein. Und dir wird daraufhin das hier angezeigt.
Tab2.
Damit wäre also der Blattname ausgelesen.
Beachte bitte das in den Optionen in Calc bei *Berechnen* die *Regulären Ausdrücke* aktiviert sind, denn sonst funktioniert diese Formel nicht.

Man könnte jetzt auch auf ähnliche Weise die Zelladresse herausbekommen, also beispielsweise E3. Das hat aber einen Nachteil. Da E3 ein Text ist kann man nicht einfach +1 sagen um auf F3 zu kommen. Denn dazu müsste man jetzt E3 so aufsplitten, das die Spalte E, genauer gesagt der Buchstabe E herauskommt. Dann kann man mit den richtigen Funktionen aus E gleich F machen. Danach müsste man aber wieder eine Zelladressierung zusammenstricken, das also F3 dabei rauskommt.
Bei den Spalten A bis Z dürfte das ja noch so einigermaßen gut gehen. Aber wenn jetzt Spalten ab AA dabei sind, wirds echt ungemütlich. Also lassen wir das sein.


Okay, wozu diese ganze lange Einleitung?

Nun, im theoretischem Prinzip können wir jetzt mit der gewonnen Erkenntnis, das man den Blattnamen auslesen kann, auch meine Beispieldatei etwas so ummodifizieren das sie auf deine richtige und aktuelle Beispieldatei angewendet werden kann. Das es dabei nicht ohne Hilfszellen geht, bleibt nicht aus, aber das wäre noch das kleinere Übel. Und meine zuvor geleistete Arbeit wäre also nicht umsonst gewesen.

Klar, das es nicht so einfach geht wie von dir gedacht, ist logisch. Aber es ist nicht unmöglich. Wenn Du es möchtest, dann stricke ich halt meine Formel aus meiner Datei so um, das sie in deiner aktuellen Datei funktioniert.

Sag einfach bescheid.

Wenn jemand aber eine einfachere Lösung hat, immer her damit. Ich bin deswegen nicht gekränkt ;-)



Gruß
balu

mikele
* LO-Experte *
Beiträge: 1947
Registriert: Mo 1. Aug 2011, 20:51

Re: Anfänger - tatsächlicher Zelleninhalt (Bezug)

Beitrag von mikele » Fr 18. Okt 2019, 18:42

Hallo,
wenn deine "Formeln" aus denen du die Bezüge herauslesen willst immer so einfach sind, dann funktioniert folgende Formel (siehe balu's Ansatz):

Code: Alles auswählen

=VERSCHIEBUNG(INDIREKT(TEIL(FORMEL(B14);2;20));0;1)
Gruß,
mikele

HeritzP
* LO-Experte *
Beiträge: 966
Registriert: Mo 9. Dez 2013, 19:08

Re: Anfänger - tatsächlicher Zelleninhalt (Bezug)

Beitrag von HeritzP » Fr 18. Okt 2019, 18:45

Hallo,

ein Beispiel mit Hilfsspalte je Tabelle.
Beispiel Forum Bezug auslesen.ods
(17.75 KiB) 288-mal heruntergeladen
Die Formel von Balu und mikele ist auch dabei

Der max. Zellbezug ist der Bereich, in dem die Texte auftreten können.
In dieser Tabelle ist das A1:N8.

Die Spalten D-F sind Matrixformeln und können ausgeblendet werden.

Gruß HeritzP
HeritzP

alles nur geklaut

balu
* LO-Experte *
Beiträge: 370
Registriert: Mi 1. Jun 2011, 16:21

Re: Anfänger - tatsächlicher Zelleninhalt (Bezug)

Beitrag von balu » Fr 18. Okt 2019, 19:28

Hallo

@mikele
"Na da schau her Frau Stachelbär" :lol:
Jo, deine Formel funzt.

Was mich aber etwas wundert ist, warum sie funktioniert. Denn Du hast ja bei ZEILE eine 0 (Null) gesetzt, obwohl das laut Hilfe nicht sein darf.
Hängt das vielleicht damit zusammen, das der BEZUG auf ein anderes Blatt verweist, als auf das wo die Formel steht?

Persönliche Frage an dich.
Hast Du das mit =FORMEL() schon gewusst, oder habe ich dich erst auf diese Spur geführt?
Bin halt einfach neugierig. Und überhaupt nicht eingeschnappt, wenn Du das schon wusstest.


@HeritzP
Du hast dir ja auch sehr viel Mühe gegeben. :-)
Da durchzublicken brauch ich erstmal eine Weile.


Nicht das ihr meint das ich untätig war, habe ich mein System nun doch noch angewendet.
Wer glaubt das die Formellösung von HeritzP "Kompliziert" ist, der hat meine noch nicht gesehen. Meine kommt aber mit nur 2 Hilfszellen aus, wo die Zellbereiche eingetragen werden. Dafür ist dann allerdings meine Hauptformel doch leicht "Monströs" :lol:

Code: Alles auswählen

=WENN(B14<>"";INDIREKT(ADRESSE(MAX(WENN(INDIREKT(TEIL(FORMEL(B14);2;SUCHEN("\.";FORMEL(B14))-1)&$D$2)=B14;ZEILE(INDIREKT(TEIL(FORMEL(B14);2;SUCHEN("\.";FORMEL(B14))-1)&$E$2))));MAX(WENN(INDIREKT(TEIL(FORMEL(B14);2;SUCHEN("\.";FORMEL(B14))-1)&$D$2)=B14;SPALTE(INDIREKT(TEIL(FORMEL(B14);2;SUCHEN("\.";FORMEL(B14))-1)&$E$2))));4;1;TEIL(FORMEL(B14);2;SUCHEN("\.";FORMEL(B14))-2)));"nix")

Also wenn es so passt, dann würde ich eindeutig die Lösung von mikele nehmen. *Daumen-hoch*

Wie auch immer.
Mir hats mal wieder Spaß gemacht etwas auszuknobeln :-)



Gruß
balu
Dateianhänge
Beispiel Forum Bezug auslesen_balu_x1.ods
(13.7 KiB) 278-mal heruntergeladen

mikele
* LO-Experte *
Beiträge: 1947
Registriert: Mo 1. Aug 2011, 20:51

Re: Anfänger - tatsächlicher Zelleninhalt (Bezug)

Beitrag von mikele » Fr 18. Okt 2019, 21:13

Hallo,
@ balu: Beim Lesen des (Anfangs-)Threads kam mir schon der Gedanke an Formel(), allerdings war mir noch nicht klar, wo die Reise eigentlich hingehen soll.
Bei Verschiebung(Bezug; Zeilen; Spalten; Höhe, Breite) dürfen Höhe und Breite nicht 0 sein. Dass sind aber der 4. und 5. Parameter!

Wie immer (und immer wieder gern): tolle Teamarbeit! 8-)
Gruß,
mikele

balu
* LO-Experte *
Beiträge: 370
Registriert: Mi 1. Jun 2011, 16:21

Re: Anfänger - tatsächlicher Zelleninhalt (Bezug)

Beitrag von balu » Fr 18. Okt 2019, 22:42

Hallo

@mikele
Okay, Dir war das mit =FORMEL() nicht unbekannt. War ja schon fast klar für mich ;-)
Ich persönlich bin froh darüber das ich das selber herausgefunden habe. :-)

Was das hier betrifft
Die Argumente Zeilen und Spalten dürfen weder Null noch einen negativen Beginn einer Zeile oder Spalte ergeben.
würder ich mal so interpretieren.
Zeile UND Spalte dürfen beide nicht Null haben. Eins von beiden darf es aber schon. Denn es heißt ja dort nicht:
*Das Argument Zeile ODER Spalte ...*

Tja nun! Du kennst mich ja schon länger. Aber mit =VERSCHIEBUNG() habe ich bis jetzt so gut wie gar nicht gearbeitet, hane da immer einen Bogen darum gemacht.

Ja, ja!
So ist das mit der Hilfe!
Man braucht Hilfe um die Hilfe richtig zu verstehen. :lol:

Gemeinsamkeit macht Stark und Spaß :-)



Gruß
balu

mikele
* LO-Experte *
Beiträge: 1947
Registriert: Mo 1. Aug 2011, 20:51

Re: Anfänger - tatsächlicher Zelleninhalt (Bezug)

Beitrag von mikele » Fr 18. Okt 2019, 23:25

Hallo,
dürfen weder Null noch einen negativen Beginn einer Zeile oder Spalte ergeben.
Bedeutet nicht, dass die Parameter nicht Null sein dürfen.

Code: Alles auswählen

=Verschiebung (A2;0;0)
ist korrekt und ergibt den Verweis auf A2 (was natürlich selten praktisch ist).

Code: Alles auswählen

=Verschiebung (A2;-1;0)
ist ebenso korrekt und ergibt den Verweis auf A1.

Code: Alles auswählen

=Verschiebung (A2;0;-1)
Ist nicht korrekt, da es keine Spalte vor A gibt.
Gruß,
mikele

balu
* LO-Experte *
Beiträge: 370
Registriert: Mi 1. Jun 2011, 16:21

Re: Anfänger - tatsächlicher Zelleninhalt (Bezug)

Beitrag von balu » Sa 19. Okt 2019, 14:44

Hai mikele,

Danke schööön für deine Erklärung :-)

Wie sagte man doch früher einmal so schön: "Jetzt ist der groschen gefallen." :lol:



Gruß
balu

Leslie
Beiträge: 11
Registriert: Do 17. Okt 2019, 14:27

Re: Anfänger - tatsächlicher Zelleninhalt (Bezug)

Beitrag von Leslie » Mo 21. Okt 2019, 10:14

Hallo euch allen,

wow, vielen Dank für eure Hilfe und Erklärungen!
Jetzt versuche ich erst mal durch alles durchzusteigen, was ihr geschrieben habt - sicher wird mir ein wenig der Kopf rauchen *g*

Leslie


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten