Zellen finden Position und Inhalt

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

yokel
Beiträge: 7
Registriert: Mi, 04.07.2007 13:13

Zellen finden Position und Inhalt

Beitrag von yokel »

Hallo,

schon zum dritten Mal heute und vielleicht nicht das letzte Mal. Ich habe nun folgendes Problem:
Ich habe eine Zeile mit diversen Zahlen z.B. C1=0 D1=0 E1=0 F1=50 G1=0 H1=70.
In der Zelle A1 möchte ich nun gerne das erste Erscheinen einer Zahl größer 0 reinschreiben. Ich habe das mit Vergleich versucht aber nicht hinbekommen. Da habe ich folgendes gemacht.

Code: Alles auswählen

VERGLEICH(">100",C1:H1;0)
. Dies liefert nicht das gewünschte Ergebnis aber vielleicht bin ich da auch mit der falschen Funktion unterwegs. Grundsätzlich ist es schon so, dass ich den Abstand gerne wissen würde, so wie es VERGLEICH eigentlich liefert.
In der Zelle B1 möchte ich gerne exakt den Wert, also die 50 anzeigen. Hierfür habe ich überhaupt keine Idee.

Nachdem hier heute schon wirklich sehr gute Anhaltspunkte und Hilfe bekommen habe, kann mir vielleicht auch dazu jemand helfen.

Viele Dank und Gruß.
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Zellen finden Position und Inhalt

Beitrag von balu »

Hallo yokel,

machen wir es mal ganz einfach, und fangen von hinten an.
Mit folgender Formel wird dir der Kleinste Wert aus der Zeile 1 ausgegeben. Aber ACHTUNG!! dazu zählen auch kommawerte wie z.B. 0,001. Gib dazu in B1 diese Formel ein.

Code: Alles auswählen

=MINA(C1:H1)
In deinem Fall würde dann die 50 ausgegeben werden.

Und mit

Code: Alles auswählen

=VERGLEICH(MINA(C1:H1);C1:H1;0)
wird dir die Spaltennummer im Bereich von C - H ausgegeben. In diesem Fall also die Zahl 4. Denk daran das VERGLEICH erst ab der Ersten benannten Spalte (hier also die C ) anfängt zu zählen.
yokel hat geschrieben: ...dass ich den Abstand gerne wissen würde...
zu welcher Position (Zelle)?

Die genannten Formeln sind was ganz simples und einfaches. Es gibt vielleicht noch eine elegantere Lösung (komme jetzt nicht drauf), aber zum verstehen der Funktionen dürfte das ja wohl erst mal reichen.

Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Zellen finden Position und Inhalt

Beitrag von turtle47 »

Hi Zusammen,
yokel hat geschrieben:In der Zelle A1 möchte ich nun gerne das erste Erscheinen einer Zahl größer 0 reinschreiben.
Dann funktioniert die Formel

Code: Alles auswählen

=MINA(C1:H1)
nicht.

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Zellen finden Position und Inhalt

Beitrag von balu »

Hallo Jürgen,

okay, Du hast nicht ganz unrecht.
Ich habe bei mir standardmässig unter Optionen das Anzeigen von Nullwerten deaktiviert. Also gebe ich auch keine Nullen ein. Dadurch funktionieren bei mir die vorher erwähnten Formeln sehr gut.
Nur bei Nullwerten anzeigen da haut das dann nicht mehr so richtig hin :cry: , wenn auch Nullen eingegeben werden.
Ich dachte das Du vielleicht einen anderen Lösungsvorschlag hättest, aber dem war leider nicht so. Eigentlich Schade, denn dann hätten wir ja mal unsere vergleichen können. Nun gut, dann schlage ich etwas neues vor. Leider etwas komplizierter.

Also neuer Anlauf für
yokel hat geschrieben: ...das erste Erscheinen einer Zahl größer 0 ...
Wie wär's damit? Eingeben in B1.

Code: Alles auswählen

=KGRÖSSTE(C1:H1;ZÄHLENWENN(C1:H1;">"&0))
Und nun für die Ausgabe der Spaltennummer innerhalb des Bereichs von C - H

Code: Alles auswählen

=VERGLEICH(KGRÖSSTE(C1:H1;ZÄHLENWENN(C1:H1;">"&0));C1:H1;0)
Etwas besseres fällt mir nicht ein. :cry:

Bild
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Zellen finden Position und Inhalt

Beitrag von turtle47 »

Hi Balu,

guten Morgen erstmal.
balu hat geschrieben:Ich dachte das Du vielleicht einen anderen Lösungsvorschlag hättest
Sorry das meine Antwort so knapp bemessen war aber mir sind fast die Augen zugefallen.
balu hat geschrieben:Wie wär's damit? Eingeben in B1.Code: Alles auswählen
=KGRÖSSTE(C1:H1;ZÄHLENWENN(C1:H1;">"&0))
Das funktioniert aber nur dann, wenn wenn die Zahlen grösser Null aufsteigend eingegeben sind.
yokel hat geschrieben:C1=0 D1=0 E1=0 F1=50 G1=0 H1=70
Wenn man aber eine andere Reihenfolge verwendet, z.B.

Code: Alles auswählen

C1=0 D1=80 E1=0 F1=50 G1=0 H1=70
dann funktioniert die Formel komischerweise nicht mehr. In diesem Fall bekommt man das Ergebnis "50".

Bei

Code: Alles auswählen

C1=0 D1=80 E1=0 F1=50 G1=30 H1=70
erhält man als Ergebnis "30"! Also immer den kleinsten Wert.

Leider habe ich heute Morgen auch noch keinen anderen Lösungsansatz parat ausser einem kleinen Makro:

Code: Alles auswählen

Sub zellwert_suchen
	myDoc = thisComponent
	mySheet = myDoc.sheets(0) 'erstes Tabellenblatt
	for i = 2 to 7 'Zellbereich C1:H1
	mycell = mysheet.getCellByPosition(i,0)
	if mycell.value > 0 Then
	myvalue=mycell.value
	mycell = mysheet.getCellByPosition(1,0) 'Zellposition B1
	mycell.value=myvalue 'Wert in Zelle B1 schreiben
	exit sub
	end if
	Next i
end sub
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Zellen finden Position und Inhalt

Beitrag von balu »

Moin moin Jürgen,

ich hoffe das Du meine Worte nicht als einen Vorwurf aufgefasst hast. Denn dem sollte nicht so sein. :oops: Ich bin dir auch nicht böse das deine Antwort so knapp war. Und ich kenne selber das Problem mit der Müdigkeit.
Ich habe das mit der Reihenfolge auch mal eben auf die Schnelle getestet, mit dem gleichen Ergebnis wie Du. Habe jetzt aber auch nicht so viel Zeit das genauer zu untersuchen, auch wenn ich da einen Verdacht habe.
Was ich persönlich nicht Wahr haben will, das dies nur mit einem Makro zu realisieren ist. Das ist jetzt aber nicht gegen dich gemeint.
Mal schaun ob ich heute noch dafür Zeit finde um eine Lösung auf Formelbasis zu finden.

Wünsche schon mal einen guten Rutsch in's neue Jahr.

balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
chrk
*******
Beiträge: 1670
Registriert: Sa, 22.09.2007 18:09

Re: Zellen finden Position und Inhalt

Beitrag von chrk »

Hallo Ihr drei,
ich habe auch mal ein Bisschen geknobelt und bin auf eine Um-die-Ecke-Denken-Lösung gekommen.

Der Trick ist doch, herauszufinden, an welcher Stelle in der Matrix die erste Zahl größer Null erscheint, dazu habe ich mir eine Hilfszeile eingefügt, die mit einer einfachen {MIN(C2:H2)} [edit] muss heißen {WENN(C2:H2)}, danke Balu [/edit] die Wahrheitswerte ausgibt. Das ist eine Matrixformel (Eingabe ohne geschweifte Klammern, dann abschließen mit <STRG>+<SHIFT>+<ENTER>) und gibt so wiederum eine Matrix aus.

Mit einem WVERWEIS (unsortiert) ermittle ich das erste Vorkommen von Wahr und gebe den dazugehörigen Wert aus.

Und mit dem VERGLEICH zu diesem Wert stelle ich den Spaltenindex in der Matrix dar.

Und weil man das so besser nachvollziehen kann, hänge ich das Beispiel lieber an.

Damit einen guten Rutsch ins Neue!
Dateianhänge
positionUndInhalt_chrk.ods.zip
Endung zip entfernen oder einfach mit dem Öffnen-Dialog aufmachen.
(8.03 KiB) 118-mal heruntergeladen
Zuletzt geändert von chrk am Mo, 31.12.2007 14:48, insgesamt 1-mal geändert.
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Zellen finden Position und Inhalt

Beitrag von turtle47 »

Hi Balu,
balu hat geschrieben: ich hoffe das Du meine Worte nicht als einen Vorwurf aufgefasst hast.
Nö, wieso das denn?
balu hat geschrieben:Was ich persönlich nicht Wahr haben will, das dies nur mit einem Makro zu realisieren ist.
Ich auch nicht. Es gibt bestimmt auch noch eine andere Lösung, aber mir viel halt auf die Schnelle nichts anderes ein Bild
und Formeln sind sowieso nicht so mein Ding.
balu hat geschrieben:Wünsche schon mal einen guten Rutsch in's neue Jahr.
Das wünsche ich Dir und den anderen Forumteilnehmern auch.

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Zellen finden Position und Inhalt

Beitrag von balu »

@Jürgen
turtle47 hat geschrieben:Hi Balu,
balu hat geschrieben: ich hoffe das Du meine Worte nicht als einen Vorwurf aufgefasst hast.
Nö, wieso das denn?
Mit meiner verdammten Mittelohrentzündung hatte ich das hier
turtle47 hat geschrieben:Hi Balu,

guten Morgen erstmal.
balu hat geschrieben:Ich dachte das Du vielleicht einen anderen Lösungsvorschlag hättest
Sorry das meine Antwort so knapp bemessen war aber mir sind fast die Augen zugefallen.
falsch verstanden. Freut mich, das ich mich nicht im Ton vergriffen habe. :lol:

@Christian
In deiner Beispieldatei steht aber was anderes drin, als das was Du gesagt hast.
chrk hat geschrieben: die mit einer einfachen {MIN(C2:H2)} die Wahrheitswerte ausgibt.
Dort steht nämlich {WENN(C2:H2)} drin. Erstaunlicher weise funzt das.Bild
Wat solls? Matrixformeln sind sowieso nicht meine Welt. Hauptsache es funzt.

Kommt alle Gesund rüber in's neue.

balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
yokel
Beiträge: 7
Registriert: Mi, 04.07.2007 13:13

Re: Zellen finden Position und Inhalt

Beitrag von yokel »

Hallo an alle,

also die Lösung von Christian trifft schon sehr gut das, was ich brauche und toll, dass es auch ohne Makro funktioniert. Was ich da angegeben hatte war ja nur ein sehr vereinfachtes Beispiel in einer größeren Tabelle, aber als ich es eingebaut hatte, hat es funktioniert. Jetzt habe ich nur das Problem, dass ich von der Reihenfolge her die Wahrheitszeile gerne unter der anderen hätte, dazu habe ich ein wenig rumgespielt, es aber nicht hinbekommen. Macht aber nichts. Ich werde einfach eine weitere Zeile einfügen, die dann unter der Wahrheitszeile steht mit den kopierten Werten. Diese Zeilen werde ich dann eh ausblenden.

Also vielen Dank ich bin jetzt doch einige Schritte weiter.
FranzX
*****
Beiträge: 408
Registriert: Sa, 21.02.2004 16:17

Re: Zellen finden Position und Inhalt

Beitrag von FranzX »

Hallo zusammen,

ohne Hilfsspalte geht's so:
In C1 bis J1 stehen in meinem Beispiel die Zahlenwerte.
In A1 steht die MatrixFormel, die mit Strg+Umschalt+Enter abgeschlossen werden muss.

=ADRESSE(1;MIN(WENN($C$1:$J$1>0;SPALTE($C$1:$J$1);"")))

Als Ergebnis erhältst du einen Absoluten Zellbezug.

In B1 steht die Matrixformel, die mit Strg+Umschalt+Enter abgeschlossen werden muss.

=INDIREKT(ADRESSE(1;MIN(WENN($C$1:$J$1>0;SPALTE($C$1:$J$1);""))))

diese Formel liefert dir den Inhalt der betreffenden Zelle.

Mit Neujahrsgrüßen
FranzX
--------------------------------------------
TIPP: OpenOffice.org Calc - Formeln und Funktionen
TIPP: Writer-Tuning; 194 clevere Tips und Tricks für OpenOffice.org 2 und StarOffice 8.
chrk
*******
Beiträge: 1670
Registriert: Sa, 22.09.2007 18:09

Re: Zellen finden Position und Inhalt

Beitrag von chrk »

yokel hat geschrieben:Jetzt habe ich nur das Problem, dass ich von der Reihenfolge her die Wahrheitszeile gerne unter der anderen hätte, dazu habe ich ein wenig rumgespielt, es aber nicht hinbekommen.
Das kann nicht, WVERWEIS vergleicht die erste Zeile einer Matrix so wie SVERWEIS die erste Spalte vergleicht. Du gibst ja dann als Index die Zeile bzw. Spalte an, die das Ergebnis liefert.
Macht aber nichts. Ich werde einfach eine weitere Zeile einfügen, die dann unter der Wahrheitszeile steht mit den kopierten Werten. Diese Zeilen werde ich dann eh ausblenden.

Also vielen Dank ich bin jetzt doch einige Schritte weiter.
Wenn Du doch einfach die Wahrheitswertezeile ausblendest, sollte das schon reichen, die muss ja keiner sehen. Wenn es gar stört, kannst Du den ganzen Wahrheitswertekram (mit Kopien der Zahlenwerte) ja auch auf ein anderes Blatt auslagern. Dann pass aber auf die korrekten Seitenverweise auf!
balu hat geschrieben:In deiner Beispieldatei steht aber was anderes drin, als das was Du gesagt hast.
[...]
Dort steht nämlich {WENN(C2:H2)} drin. Erstaunlicher weise funzt das.
Jau, jetzt wo Du's sagst. Ich hatte auch erst über die Vergleichsformeln nachgedacht, die Ihr ausprobiert habt. Beim Verfassen des Beitrags hat sich das dann eingeschlichen. Tschulli!

WENN() benötigt nur das erste Argument und gibt dann den Wahrheitswert aus, ohne Vergleichsoperator werden Texteingaben, NULL(=leer) und die Zahl 0 als FALSCH, alle anderen nummerischen Argumente als WAHR ausgegeben.

@FranzX
So was habe ich gesucht, bin aber immer noch nicht durch die Funktionen für Tabellen mit verschachtelten Vergleichsoperatoren gestiegen.

Jetzt geh'n wir aber mal feiern! Einen guten Rutsch alle miteinander.
Antworten