openoffice-users-de mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Wolfgang Jäth <jawo.ml.hams...@arcor.de>
Subject Re: Wie Vorigen Wert in Tabelle ermitteln?
Date Fri, 08 Dec 2017 16:52:34 GMT
Am 08.12.2017 um 13:17 schrieb technik_div@jrsch.de:
> Hallo,
> 
> ich habe folgendes Problem:
> 
> eine Tabelle wie z.B.
> 
> 1
> 	A
> 	
> 	
> 	NV oder 0
> 2
> 	B
> 	
> 	
> 	NV oder 0
> 3
> 	A
> 	
> 	1
> 	1

Meinst du jetzt so was wie

  |  A    B    C    D
--+-------------------
1 | "A"             0
2 | "B"             0
3 | "A"        1    1

oder was anderes? Kannst du das ggf. bitte nochmal mal *so* formatiert
posten, dass man die Anordnung und den Aufbau der Spalten und Zeilen
zumindest ansatzweise identifizieren kann?

> 6
> 	A
> 	=??
> 	3
> 	3

Hmm; was soll denn "=??" für eine Formel sein?

> 9
> 	A
> 	=VERGLEICH(B9;VERSCHIEBUNG($B$1;0;0;A9-1);-1)
> 	1
> 	7

Wenn ich das richtig interpretiere (s. o.), /steht/ die Formel in der
Zelle B9; dazu musst du rekursive Zugriffe erlauben.

Und die Geschichte mit der Verschiebung ist recht arg um die Ecke
gedacht. Versuchs doch einfach mal (sofern meine Kristallkugel deine
Absicht korrekt interpretiert) mit

| =VERGLEICH($B9;$B$1:$B8;-1)

Dadurch, dass der Anfang des Bereiches komplett und auch die
*Spaltenangabe* des Bereichs-Endes absolut sind, aber *nicht* die
*Zeilenangabe* des Bereichs-Endes, wird die Zeilenangabe des
Bereichsendes - und nur die - beim Kopieren angepasst, sprich du kannst
die Formel problemlos in andere Zellen kopieren.

> In Spalte C soll jetzt eine Formel, die mir die Zeilennummer der 
> vorheringen Zeile mit dem gleichen Eintrag wie in Spalte B ist. 

Du suchst das /letztmalige/ Auftreten eines Werte; ist schwierig, denn
so eine Funktion *gibt* es nicht.

Spontan fallen mir dazu 2 Lösungsansätze ein:

1) eine Hilfsspalte, in der die Werte der betreffenden Spalte in
umgekehrter Reihenfolge gespiegelt werden; d. h. irgend was in der Art
| =VERSCHIEBUNG($B$20;ZEILE($B$1)-ZEILE();0)
und dann *darin* das /erste/ Auftreten suchen; oder

2) ein Makro schreiben (ist wahrscheinlich die weniger aufwendige Lösung)

> Bei der Ermittlung von Nachfolgenden Werten (ähnliches Problem) habe ich 
> mit Verschiebung um entsprechende Zeilen gute Ergebnisse bekommen. Das 
> geht aber wohl nicht Rückwärts.
> 
> Ich vrsuchte =VERGLEICH(B10;VERSCHIEBUNG($B$1;0;0;A10-1);-1)
> 
> Ich habe nicht verschoben, sondern nur eine Bereichshöhe angegeben und 
> dann Rückwärts gesucht mit -1. Nur ist der Bereich nicht alphabetisch 
> sortiert.

Missverständnis; der letzte Parameter bewirkt keine Suche von /unten/
nach /oben/, sondern gibt lediglich an, dass die /Werte/ *absteigend*
sortiert sind. Das bedeutet, dass intern(!) für die Suche nicht der
Vergleich auf "größer oder gleich" verwendet werden kann, wie das bei
einer aufsteigenden Reihenfolge der Fall ist, sondern ein Vergleich auf
"größer" erfolgen muss. Aber gesucht wird dennoch immer von oben nach unten.

> Bis Nr 9 gibt es richtige ERgebnisse. Ab Spalte 10 wird es falsch.
> 
> 1. Warum?

Sorry, aber da ich den von dir angegebenen Aufbau der Tabelle nicht
wirklich verstehe, kann ich dazu nix sagen.

Wolfgang
-- 
If I could, I would wish for ONE news INDEED being a fake, namely for
the news of this immature cockalorum in fact became President of the
United States.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-de-unsubscribe@openoffice.apache.org
For additional commands, e-mail: users-de-help@openoffice.apache.org


Mime
View raw message