Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


Am 21.06.2012 13:19, schrieb Tom:

Struktur:
Index1 Index2 Index3 Index4
A B C D
1 Zoll umrech Preis Marke [Spaltenüberschriften, Kopfzeilen]
2 [hierhin sollen alle Daten des Gerätes mit dem minimalen Preis]
3 [hier beginnen die eingegebenen Daten, ca. 700 Zeilen]

Ich hoffe, das erklärt sich soweit selbst. Ich arbeite also mit
Spaltenüberschriften, demzufolge sind meine "Datensätze" in Zeilen
angeordnet - allerdings NICHT geordnet. [Kann ich hier schon über die
Hinweise von Regina und Stefan stolpern  ? <-- natürlich nicht über die
Hinweise als solche ;-)]

Ja; wenn Du keinen 4. Parameter angibst, wir dieser als TRUE angenommen;
und dann muss erstens die Liste sortiert sein, und zweitens bekommst Du
im Fall, daß es das gesuchte Kriterium nicht gibt, den nächstkleineren
Wert zurück (oder um genauer zu sein den Wert /vor/ dem ersten
gefundenen Wert, der /größer/ ist als das Suchkriterium. Bei einer
unsortierten Liste kann das dann ziemlich chaotische Resultate liefern.
Wenn Du z. B. in der Liste (2,3,7,4,6) nach der '5' suchst, bekommst Du
die '3' zurück, weil halt die '7' die erste gefundene Zahl größer als
das Suchkriterium ist, und vor der steht eben die '3').

Irgendwo wird die Preis-Spalte ihr Minimum haben. Das suche ich mir mit
=MIN(WENN(C3:C799<>0;C3:C799)) und schreibe es in C2 :-)

Dazu brauchst Du doch gar keine Matrixfunktion; den kleinsten Wert einer
Reihe ermittelst Du immer noch mit

|  =MIN(C3:C799)

BTW: Man sollte immer großzügig sein mit dem Datenbereich; Du weißt nie,
wie viele Datensätze im Lauf der nächsten 20 Jahre <g> /noch/ dazu
kommen; und da üblicherweise auch eher selten [tm] etwas zwischen der
Zeile 799 und der Zeile 1.000 oder 2.000 stehen dürfte ...

BTW 2: Ich hab mir sogar angewöhnt, irgendwas ('!!!!!!!!!!!!!' o. ä.) in
die Zeile (oder mehreren; kost ja nix) /hinter/ den Bereich zu
schreiben, nachdem ich schon mehrfach trotz großzügiger Dimensionierung
unbemerkt über den ursprünglichen Datenbereich hinaus gekommen bin (und
mich dann irgend wann gewundert habe, warum bestimmte Datensätze einfach
nicht gefunden werden) ... :-/

Natürlich nützt mir dieser Wert allein knapp die Hälfte, also suche ich
die Zeile, in der das Minimum steht und gebe auch die anderen Werte in
der zweiten Zeile aus (theoretisch !)
z.B. für das Zoll-Maß: =SVERWEIS($C$2;$A$3:$G$800;1)

Da hast Du ein Problem; SVERWEIS und WVERWEIS suchen *immer* in der
*ersten* Spalte der angegebenen Matrix nach dem Suchkriterium. In deiner
gegebenen Liste steht das Suchkriterium aber in der 3 Spalte.

Du suchst also den Minimalpreis ($C$2) in der ersten Spalte ("Zoll"),
und gibst diese Spalte dann auch aus (3. Parameter = '1'); und das
machst Du noch dazu in einer vermeintlich sortierten Liste (4. Parameter
nicht '0'; oder besser FALSCH, weil dann auch sofort erkennbar ist, daß
es sich hier nicht um einen Zahlangabe handelt).

Also musst Du entweder

- die Spalten der Liste umsortieren, oder
- statt mit SVERWEIS mit VERWEIS arbeiten (das aber zwingend eine
sortierte Liste voraussetzt), oder
- die Spalten /vor/ der Preis-Spalte nochmal /hinter/ diese spiegeln
(kannst Du ja z. B. ausblenden), oder
- statt mit SVERWEIS mit VERGLEICH arbeiten.

Ich würde in Deinem Fall letzteres empfehlen: Zuerst ermittelst Du in
einer Hilfszelle (z. B. E2) den Index des betreffenden Datensatzes:

| =VERGLEICH(MIN(C3:C2000);C3:C2000;0)

Und die betreffenden Werte bekommst Du dann am einfachsten mit z. B. für
den "Zoll"-Wert in der Zelle A2:

| =INDEX(A3:A2000;$E$2;SPALTE(A2))

oder

| =VERSCHIEBUNG(A2;$E$2;0)

oder ...

usw. A2 ist dabei weniger die Zelle, in die der ermittelte Wert hinein
geschrieben werden soll, sondern vielmehr die Zelle, die dem Index '0'
in der Tabelle entspricht.

Seltsamerweise hat das dann auch EINMAL funktioniert. Gebe ich dann
weitere Geräte und Preise ein [Wolfgang: Also keine Änderungen bezüglich
der Spalten], erscheint aber statt der Spalte A der Zeile mit dem
min-Preis hier anscheinend der min-Preis selbst :-o

Das liegt vermutlich hauptsächlich daran, daß Du irgendwo irgendwas
suchst, und allerhöchstens *zufällig* mal /das/ bekommst, was Du
eigentlich willst (s. o.).

Wolfgang
-- 


-- 
Informationen zum Abmelden: E-Mail an users+help@de.libreoffice.org
Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.