You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users-de@openoffice.apache.org by "technik_div@jrsch.de" <te...@jrsch.de> on 2017/12/08 12:17:39 UTC

Wie Vorigen Wert in Tabelle ermitteln?

Hallo,

ich habe folgendes Problem:

eine Tabelle wie z.B.

1
	A
	
	
	NV oder 0
2
	B
	
	
	NV oder 0
3
	A
	
	1
	1
4
	C
	
	
	NV oder 0
5
	B
	
	2
	2
6
	A
	=??
	3
	3
7
	A
	
	3
	6
8
	B
	
	22
	5
9
	A
	=VERGLEICH(B9;VERSCHIEBUNG($B$1;0;0;A9-1);-1)
	1
	7
10
	C
	=VERGLEICH(B10;VERSCHIEBUNG($B$1;0;0;A10-1);-1)
	5
	4
11
	A
	
	
	9
12
	B
	
	
	5

In Spalte C soll jetzt eine Formel, die mir die Zeilennummer der 
vorheringen Zeile mit dem gleichen Eintrag wie in Spalte B ist. D.H. den 
vorherigen Eintrag, der der gleiche ist wie in Spalte B (In B6 steht A 
also soll in C6 die 3 für die Zeile 3 stehen, wo das Element vorher in 
der Liste steht. Also wie in Spalte D(differenz) oder E (Zeilennummer).

Hoffentlich war das verständlich.

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.

Bis Nr 9 gibt es richtige ERgebnisse. Ab Spalte 10 wird es falsch.

1. Warum?

2. Wie kann man das Problem lösen?


Horst



Re: Wie Vorigen Wert in Tabelle ermitteln?

Posted by Wolfgang Jäth <ja...@arcor.de>.
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


Re: Wie Vorigen Wert in Tabelle ermitteln?

Posted by "technik_div@jrsch.de" <te...@jrsch.de>.
Hallo,

hier noch mal die Tabelle

#1#A##0#Err#Err
#2#B##1#A#NV
#3#A#1#1#A#1
#4#C####NV
#5#B#2#2#B#2
#6#A#3#2#B#3
#7#A#3#3#A#3
#8#B#2#5#B#2
#9#A#1#7#A#
#10#C#NV#NV#NV#NV
#11#A#1#10#C#1
#12#B#2#10#C#2
#13#A#7#5#B#7
#14#C#4#9#A#4
#15#B#8#6#A#8
#16#A#1#14#C#1







Ich hoffe das ist deutlicher.
Horst
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
> 4
>     C
>
>
>     NV oder 0
> 5
>     B
>
>     2
>     2
> 6
>     A
>     =??
>     3
>     3
> 7
>     A
>
>     3
>     6
> 8
>     B
>
>     22
>     5
> 9
>     A
>     =VERGLEICH(B9;VERSCHIEBUNG($B$1;0;0;A9-1);-1)
>     1
>     7
> 10
>     C
>     =VERGLEICH(B10;VERSCHIEBUNG($B$1;0;0;A10-1);-1)
>     5
>     4
> 11
>     A
>
>
>     9
> 12
>     B
>
>
>     5
>
> In Spalte C soll jetzt eine Formel, die mir die Zeilennummer der 
> vorheringen Zeile mit dem gleichen Eintrag wie in Spalte B ist. D.H. 
> den vorherigen Eintrag, der der gleiche ist wie in Spalte B (In B6 
> steht A also soll in C6 die 3 für die Zeile 3 stehen, wo das Element 
> vorher in der Liste steht. Also wie in Spalte D(differenz) oder E 
> (Zeilennummer).
>
> Hoffentlich war das verständlich.
>
> 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.
>
> Bis Nr 9 gibt es richtige ERgebnisse. Ab Spalte 10 wird es falsch.
>
> 1. Warum?
>
> 2. Wie kann man das Problem lösen?
>
>
> Horst
>
>
>