Microsoft Excel

Herbers Excel/VBA-Archiv

Maximalwert Wenn bestimmter Wert in SpalteA

Betrifft: Maximalwert Wenn bestimmter Wert in SpalteA
von: Christian
Geschrieben am: 12.04.2003 - 16:35:26

Hallo

ich habe in Spalte A Namen stehen. In Spalte B steht ein Datum, von der letzten Aktion der entsprechenden Person.
ich möchte nun in einem Feld (bzw. ein paar feldern). die letzte Aktion einer bestimmten Person herausfinden. (Ausgabe: entweder das Datum von Spalte B oder die Zeilennummer)

kann mir jemand weiterhelfen?
Vielen Danke im Vorraus!
Christian

  

Re: Maximalwert Wenn bestimmter Wert in SpalteA
von: Marcus
Geschrieben am: 12.04.2003 - 17:02:22

Hallo, ist da was für dich bei? Zeile und aktion sind vorhanden.

Tabelle1
 ABCDEF
1Mampfred31.10.1932Rennt   
2Paula01.01.2003ißt   
3Petra02.01.2003schläft Aktion:holly
4Irrsinn03.01.2003pennt   
5Quarktasche04.01.2003hungert   
6Er ich05.01.2003hat spass   
7holly06.01.2003tanzt   
8      
9Zeile Aktion31.10.1932  
107 tanztRennt  
Formeln der Tabelle
A10 : =VERGLEICH(F3;A1:A7;0)
C10 : =SVERWEIS(F3;A1:C7;3;0)
D10 : =SVERWEIS(D9;B1:C7;2;0)
Excel Tabellen einfach im Web darstellen   Excel Jeanie HTML  2.0    Download  

Marcus

Die neue Excel-Homepage für Anfänger

  

Re: Maximalwert Wenn bestimmter Wert in SpalteA
von: Christian
Geschrieben am: 12.04.2003 - 17:13:02

fast :)
Das von A10 ergibt keinen sinnvollen wert :(
Bei C10 stimmt es theoretisch, nur hab ich das problem, dass "holly" nicht nur am 06.1. tanzt sondern evtl. am 7.1. auch noch hungert...
mit deiner formel gibt er immer den ersten wert aus, den er findet. ich bräuchte aber den letzten wert, da die tabelle bei mir chronologisch geordnet ist und ich so die aktuellest aktion habe.

  

Re: Maximalwert Wenn bestimmter Wert in SpalteA
von: Ramses
Geschrieben am: 12.04.2003 - 17:32:02

Hallo,

Der Wert in A10 ergibt schon einen sinnvollen Wert, weil es die Zeile des gefundenen Suchbegriffes zurückgibt ;-)

Hier eine Lösung:

Tabelle1
 ABCDEF
1NameDatumEreignis   
2Maria01.02.2003hüpft   
3Werner02.02.2003tanzt   
4Hubert03.02.2003springt   
5Maria04.02.2003rennt   
6Werner05.02.2003läuft   
7Hubert06.02.2003trinkt   
8Maria07.02.2003hüpft   
9Werner08.02.2003tanzt   
10Hubert09.02.2003springt   
11Maria10.02.2003rennt   
12Werner11.02.2003läuft   
13Hubert12.02.2003trinkt   
14Maria13.02.2003hüpft   
15Werner14.02.2003tanzt   
16Hubert15.02.2003springt   
17Maria16.02.2003rennt   
18Werner17.02.2003läuft   
19Hubert18.02.2003trinkt   
20Maria19.02.2003hüpft   
21Werner20.02.2003tanzt   
22Hubert21.02.2003springt   
23Maria22.02.2003rennt   
24Werner23.02.2003läuft   
25Hubert24.02.2003trinkt   
26Maria25.02.2003hüpft   
27Werner26.02.2003tanztSuchbegriffMaria 
28Hubert27.02.2003springtErgebnis25.02.2003hüpft
Formeln der Tabelle
E28 : {=INDEX(B1:B1000;MAX((A1:A1000=E27)*ZEILE(A1:A1000)))}
F28 : {=INDEX(C1:C1000;MAX((A1:A1000=E27)*ZEILE(A1:A1000)))}
Excel Tabellen einfach im Web darstellen   Excel Jeanie HTML  2.0    Download  

Basiert auf www.excelformeln.de

Gruss Rainer


  

Re: Maximalwert Wenn bestimmter Wert in SpalteA
von: Arnim
Geschrieben am: 12.04.2003 - 17:55:30

Hallo Christian,
der Suchbegriff (Name) steht in D1.
Array-Formel für das letzte Datum:
=MAX((A2:A100=D1)*B2:B100)
Eingabe der Formel mit Strg/Shift/Enter
oder für Zeilen-Nr. (wenn das Datum fortlaufend ist):
=MAX((A2:A100=D1)*ZEILE(2:100))
ebenfalls Eingabe mit Strg/Shift/Enter

Gruß Arnim

  

Re: Maximalwert Wenn bestimmter Wert in SpalteA
von: bjoern
Geschrieben am: 12.04.2003 - 18:49:38

Huhu Arnim,

kann man die Zeile auch bestimmen, wenn das Datum nicht fortlaufend wäre? Bezieht die Formel Max(...) sich immer auf den letzten Bereich?

Viele Grüße

Björn

  

Re: Maximalwert Wenn bestimmter Wert in SpalteA
von: Arnim
Geschrieben am: 12.04.2003 - 20:30:58

Hallo,

Maximum bezieht sich immer auf den höchsten Wert!
Sind die Daten in Spalte durcheinander, so kannst Du die Position, bzw. Zeilen-Nr. mit meiner obigen Formel so ermitteln:

=VERGLEICH(MAX((A2:A100=D1)*B2:B100);B2:B100;0)+1
oder beginne mit dem Zellbezug mit Zeile 1:
=VERGLEICH(MAX((A1:A100=D1)*B1:B100);B1:B100;0)
Eingabe der Formeln mit Strg/Shift/Enter

Gruß Arnim

  

Re: Maximalwert Wenn bestimmter Wert in SpalteA
von: Björn
Geschrieben am: 12.04.2003 - 20:49:10

Huhu Arnim,

hmm...der Ansatz über Vergleich liefert aber doch nur die erste Zelle, in der sich das Datum befindet. Wenn nun in Beispiel von Ramses etwa Maria und Hubert beide zuletzt an ein und demselben Tag gehüpft / gerannt oder was auch immer sind, dann würde die Vergleichsformel doch immer den ersten Wert liefern. Das hat sich auch im Test noch einmal bestätigt. Die Zeilennummer auszugeben dürfte noch einmal eine Ecke komplexer sein.

Vielen Dank und noch schönen Abend!

Björn

  

Re: Maximalwert Wenn bestimmter Wert in SpalteA
von: Christian
Geschrieben am: 12.04.2003 - 21:06:52

Dankesehr. mit deiner formel funktioniert es wunderbar. ka. warum es bei den anderen beiden lösungen nicht so hingehauen hat.
Vielen Danke euch dreien!
gruss
Christian

  

Re: Maximalwert Wenn bestimmter Wert in SpalteA
von: Arnim
Geschrieben am: 12.04.2003 - 23:01:34

Hallo Björn,
was heißt "würde die Vergleichsformel doch immer den ersten Wert liefern" ?
Christian hat in Spalte A die Namen und in Spalte B die Daten. Wenn ein Name an einem Tag x-mal auftaucht, bleibt es beim selben Datum, egal ob morgens oder abends!
Wenn noch Uhrzeiten oder Tätigkeiten zu berücksichtigen sind, dann liefern die Formeln von Markus und Rainer die entsprechenden Ergebnisse!
Gruß Arnim

  

Re: Maximalwert Wenn bestimmter Wert in SpalteA
von: Bjoern
Geschrieben am: 13.04.2003 - 09:11:13

Huhu Arnim,

Deine erste Formel =max((Bereich1="Suchkriterium")*Bereich2) liefert den höchsten Zahlwert aus der Spalte Bereich2, deren Nachbarzelle im Bereich1 = Suchkriterium ist. Das ist auch unabhängig von der Reihenfolge der Werte in der Tabelle.
Wenn jedoch nicht der Wert, sondern die Zellposition (Zeilennumme) gefragt wäre, würde Deine zweite Formel =VERGLEICH(MAX((A2:A100=D1)*B2:B100);B2:B100;0)+1 das Suckriterium ignorieren und nur die erste Zeile ausgeben, in der sich der Zahlenwert aus dem Bereich2 findet. Sofern diese Zahlenwerte immer eindeutig nur einem Wert aus Bereich1 zuordnenbar sind, würde das natürlich das richtige Ergebnis liefern. Sobald aber der gesuchte Wert aus MAX((A2:A100=D1)*B2:B100) mehrfach in B2:B100 vorkommt, spuckt die Formel den ersten Zeilenwert aus.

Beispiel:
Name Datum
Werner 11.02.2003
Werner 08.02.2003
Werner 25.02.2003
Werner 02.02.2003
Maria 25.02.2003
Maria 22.02.2003
Maria 19.02.2003

MAX((A2:A100="Maria")*B2:B100) liefert hier den 25.02.2003. Der Wert steht in der Zeile 6. Die Formel VERGLEICH(MAX((A2:A100=D1)*B2:B100);B2:B100;0)+1 würde jedoch die Zeile 4 ausgeben. Denn die Formel sucht nur nach der ersten Zeile mit dem Wert 25.02.2003. Und da am 25.02.2003 eben auch Werner gehüpft, getanzt, gerannt, gewastauchimmer ist, ist das Zeile 4.
Ich habe ehrlich gesagt keine Idee, wie die Formel lauten müßte,damit sie die richtige Zeile ausgibt. Allerdings hatte ich mir auch schon über die erste Formel vergeblich den Kopf zerbrochen ;-).

Viele Grüße

Björn



  

sollte hier stehen, sorry
von: Björn
Geschrieben am: 13.04.2003 - 09:13:21

Huhu Arnim,
Deine erste Formel =max((Bereich1="Suchkriterium")*Bereich2) liefert den höchsten Zahlwert aus der Spalte Bereich2, deren Nachbarzelle im Bereich1 = Suchkriterium ist. Das ist auch unabhängig von der Reihenfolge der Werte in der Tabelle.
Wenn jedoch nicht der Wert, sondern die Zellposition (Zeilennumme) gefragt wäre, würde Deine zweite Formel =VERGLEICH(MAX((A2:A100=D1)*B2:B100);B2:B100;0)+1 das Suckriterium ignorieren und nur die erste Zeile ausgeben, in der sich der Zahlenwert aus dem Bereich2 findet. Sofern diese Zahlenwerte immer eindeutig nur einem Wert aus Bereich1 zuordnenbar sind, würde das natürlich das richtige Ergebnis liefern. Sobald aber der gesuchte Wert aus MAX((A2:A100=D1)*B2:B100) mehrfach in B2:B100 vorkommt, spuckt die Formel den ersten Zeilenwert aus.

Beispiel:
Name Datum
Werner 11.02.2003
Werner 08.02.2003
Werner 25.02.2003
Werner 02.02.2003
Maria 25.02.2003
Maria 22.02.2003
Maria 19.02.2003

MAX((A2:A100="Maria")*B2:B100) liefert hier den 25.02.2003. Der Wert steht in der Zeile 6. Die Formel VERGLEICH(MAX((A2:A100=D1)*B2:B100);B2:B100;0)+1 würde jedoch die Zeile 4 ausgeben. Denn die Formel sucht nur nach der ersten Zeile mit dem Wert 25.02.2003. Und da am 25.02.2003 eben auch Werner gehüpft, getanzt, gerannt, gewastauchimmer ist, ist das Zeile 4.
Ich habe ehrlich gesagt keine Idee, wie die Formel lauten müßte,damit sie die richtige Zeile ausgibt. Allerdings hatte ich mir auch schon über die erste Formel vergeblich den Kopf zerbrochen ;-).

Viele Grüße

Björn


  

Re: sollte hier stehen, sorry
von: Arnim
Geschrieben am: 13.04.2003 - 13:34:19

Hallo Björn,
die Frage war doch gar nicht so gestellt. Du hättest einen neuen Thread aufmachen sollen, dann hättest Du eher Antwort bekommen.
Du brauchst meine 1. Formel nur etwas erweitern
Schreibe in D1 den Namen (z.B.Maria).
In C2 schreibe meine Array-Formel:
=MAX((A2:A100=D1)*B2:B100)
in C3 die Formel:
=MAX((A2:A100=D1)*(B2:B100=C2)*ZEILE(2:100))
beide Formeln mit Strg/Shift/Enter eingeben.

Gruß Arnim

  

Re: sollte hier stehen, sorry
von: Björn
Geschrieben am: 16.04.2003 - 21:10:41

Huhu Arnim,

Wollte nur wissen, ob Du es auch weißt ;-) Offensichtlich ist das so. Klasse!

Danke und Gruß

Björn

 

Beiträge aus den Excel-Beispielen zum Thema "Maximalwert Wenn bestimmter Wert in SpalteA"