Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1364to1368
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
"Freien Termin" ermitteln
11.06.2014 17:18:30
Spenski
Hallo
in Spalte A Datum (aufsteigend)
in Spalte B ist ein "X" kenner
ich möchte in einer zelle ein datum eingeben das mir dann die 2 nahesten termine sagt , wenn das erwünschte datum kein "X" kenner hat.
termine richtung heute haben priorität.
im beispiel sind alle möglichen Szenarien (4stk) aufgezeigt um es besser zu verstehen
danke
christian

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
nicht als VBA lösung gesucht .......owT
11.06.2014 17:25:11
Spenski

mittels KKLEINSTE() ...
11.06.2014 17:30:08
der
Hallo Christian,
.. so z.B.:
 ABCDE
108.06.2014  Datum16.06.2014
209.06.2014x 1. freier Termin14.06.2014
310.06.2014  2. freier Termin17.06.2014
411.06.2014x   
512.06.2014x   
613.06.2014x   
714.06.2014    
815.06.2014x   
916.06.2014x   
1017.06.2014    
1118.06.2014x   
1219.06.2014x   
1320.06.2014    
1421.06.2014x   
1522.06.2014    
1623.06.2014    
1724.06.2014    

Formeln der Tabelle
ZelleFormel
E2{=KKLEINSTE(WENN((A$1:A$99>=HEUTE())*(B$1:B$99<>"x"); A$1:A$99); ZEILE(A1))}
E3{=KKLEINSTE(WENN((A$1:A$99>=HEUTE())*(B$1:B$99<>"x"); A$1:A$99); ZEILE(A2))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...

Anzeige
AW: mittels KKLEINSTE() ...
11.06.2014 18:11:21
Spenski
allo werner
danke für deine antwort. bin immer wieder begeistert was man mit matrixformeln anstellen kann...muss das ungbedingt mal lernen.
leider ist es noch nicht zu 100% das was ich suche aber auf jedenfall schon ein sehr guter anfang für mich.
ich geh jetzt mal von deinem aufbau aus :
das abfragedatum (E1) ist immer das optimale Datum.
das nächstmögliche muss so nah wie möglich am abfragedatum sein.
zb
wenn ich in E1 20.6.14 eingebe spuckt er 8.6.14 und 10.6.14 aus.
optimal wäre aber 20.6.14
oder
wenn ich in E2 19.6.14 eingebe spuckt er 8.6.14 und 10.6.14 aus.
optimal wäre aber 17.6.14 und 14.6.14
deine formeln sagen mir den frühsten zeitpunkt..ich suche aber den spätmöglichen zeitpunkt vor dem abragedatum, wenn es den nicht gibt den frühesten nach dem eingabedatum.
zur erklärung wofür ich das brauche.
wir sind eine grosser industrieproduktionsbetrieb mit ca 30000 Paletten auf lager. die ware muss daher so spät wie nötig produziert werden um lagerkosten zu sparen
gruss

Anzeige
nicht HEUTE() sondern E1
11.06.2014 19:29:28
WF
Hi,
nach heute hast Du doch überhaupt nicht gefragt ?
Schreib in E2:
{=KGRÖSSTE(WENN((A$1:A$99<=E$1)*(B$1:B$99<>"x"); A$1:A$99); ZEILE(A1))}
Eine Zelle runterkopieren.
Salut WF

AW: nicht HEUTE() sondern E1
11.06.2014 20:02:48
Spenski
hab mich schon gewundert warum E2 nicht in den formeln vorkommt...dachte das hat mit ZeileA1... zu tun^^
ok jetzt bin ich der 100% schon näher.
problem ist jetzt das wenn mein wunschtermin nicht frei ist und keiner richtung heute frei ist bekomm ich als ergebnis = 00.01.1900
- wenn er kein termin in der vergangenheit findet soll er als termin1 den nahesten termin in der zukunft sagen und bei termin2 den 2 nahesten termin ausspucken.
- ist nur ein termin in richtung heute frei soll der in termin1 stehen , termin2 soll frei bleiben.
gruss

Anzeige
AW: nicht HEUTE() sondern E1
11.06.2014 20:35:42
Spenski
so ihr beiden...danke nochmal
so gehts in etwa
hilfzeile in C (runterkopiert): =WENN(B2="";A2;"")
E2 : =WENN(KGRÖSSTE(WENN((A$1:A$99<=$E$1)*(B$1:B$99<>"X");A$1:A$99);ZEILE(A1))=0;MIN(WENN(C2:C19>=E1;C2:C19));KGRÖSSTE(WENN((A$1:A$99<=$E$1)*(B$1:B$99<>"X");A$1:A$99);ZEILE(A1)))
E3 : =WENN(E2>=E1;"";KGRÖSSTE(WENN((A$1:A$99<=$E$1)*(B$1:B$99<>"X");A$1:A$99);ZEILE(A2)))
hier nochmal die datei. wenn jemand noch ne idee hat es ohne hilfzeile darzustellen wäre ich sehr dankbar ansonsten darf das thema auch geschlossen werden.
danke für eure mühe

Anzeige
ohne Hilfsspalte
11.06.2014 20:54:33
WF
Hi,
{=WENN(KGRÖSSTE((A$1:A$99<=E$1)*(B$1:B$99<>"x")* A$1:A$99; ZEILE(A1))=0; KKLEINSTE(WENN((A$1:A$99>0)*(B$1:B$99<>"x");A$1:A$99);ZEILE(A1));KGRÖSSTE((A$1:A$99<=E$1) *(B$1:B$99<>"x")* A$1:A$99; ZEILE(A1))) }
runterkopieren
Salut WF

AW: ohne Hilfsspalte
11.06.2014 21:27:25
Spenski
super..
danke euch dreien
gruss

AW: ohne Hilfsspalte
11.06.2014 22:34:58
Spenski
hab die formel jetzt in meine richtige datei eingebaut zumindetsens versucht.
klappt das mit dyn tabellen nicht oder hab ich da irgendwo n fehler drin...bin die formel jetzt 20x durch aber find nix
=WENN(KGRÖSSTE((Tabelle1[Datum]"x") *Tabelle1[Datum]; ZEILE(A1))=0; KKLEINSTE(WENN((Tabelle1[Datum]>0)*(Tabelle1[Frei]"x");Tabelle1[Datum]);ZEILE(A1)); KGRÖSSTE((Tabelle1[Datum]=B$11) *(Tabelle1[Frei]"x") *Tabelle1[Datum]; ZEILE(A1)))
in B11 steht mein wunschdatum
in B12 soll die formel stehemn , also termin1
gruss

Anzeige
und wie sieht Deine Tabelle aus? ...
12.06.2014 16:16:03
der
Hallo Christian,
... warum hast Du diese nicht hier eingestellt?
Gruß Werner
.. , - ...

auch ohne Hilfsspalte, allerdings ...
12.06.2014 17:02:52
der
Hallo Christian,
... vorab muss ich schon noch feststellen, dass mein gestrigen Lösungsformel bezogen auf Deine Aussage in der Eingangsfragestellung: "... termine richtung heute haben priorität." (d.h. der Wunschtermin spielte keine wirkliche Rolle sondern nur die zwei nächsten freien Termine) schon richtig war.
Aus Deiner nachträglichen Präzisierung habe ich nun nachfolgende hilfsspaltenfreien Formelvorschlag entwickelt, die vom Ergebnis Deiner Hilfsspaltenlösung entspricht. WF hat mit seiner Formel eine andere Interpretation vorgenommen, die aber diesmal mE nicht richtig war.
 ABCD
1 Belegt = XWunsch:23.06.2014
212.06.2014XTermin 1:22.06.2014
313.06.2014XTermin 2:20.06.2014
414.06.2014X  
515.06.2014   
616.06.2014X  
717.06.2014X  
818.06.2014X  
919.06.2014X  
1020.06.2014   
1121.06.2014X  
1222.06.2014   
1323.06.2014X  
1424.06.2014   
1525.06.2014X  
1626.06.2014   
1727.06.2014X  

Formeln der Tabelle
ZelleFormel
D2{=WENN((ZEILE(A1)=2)*(D1>=D$1); "";WENN(ZÄHLENWENN(B$2:INDEX(B:B;VERGLEICH(D$1;A:A;)); "X")<D$1-A$2;INDEX(A:A;KGRÖSSTE(WENN((A$2:A$99<=D$1)*(B$2:B$99<>"x")*(A$2:A$99<>""); ZEILE($2:$99)); ZEILE(A1))); INDEX(A:A;MIN(WENN((B$2:B$99<>"x")*(A$2:A$99<>""); ZEILE($2:$99))))))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...

Anzeige
AW: auch ohne Hilfsspalte, allerdings ...
15.06.2014 15:46:58
Spenski
hallo werner
natürlich hätte ich interesse an der formel :D
gruss
chritian

die zwei Varianten ...
15.06.2014 16:02:29
der
Hallo Christian,
... mal gegenübergestellt.
Die Formel in I12 ist meine vom 12.06; beispielhaft an hier vorliegenden Datenbereich angepasst.
Die Formel in B12 ist die gewünschte für eine "dyn. Tabelle" (hier in E4:F23; kann aber beliebig eingeordnet sein):
 ABCDEFGHI
2         
3         
4    DatumFrei   
5    15.06.2014X   
6    16.06.2014X   
7    17.06.2014X   
8    18.06.2014    
9    19.06.2014X   
10für "dynamischeTabelle":  20.06.2014X zellenbezogene Auswert.
11Wunschtermin:26.06.2014  21.06.2014X Wunschtermin:26.06.2014
12Termin 1:25.06.2014  22.06.2014X Termin 1:25.06.2014
13Termin 2:23.06.2014  23.06.2014  Termin 2:23.06.2014
14    24.06.2014X   
15    25.06.2014    
16    26.06.2014X   
17    27.06.2014    
18    28.06.2014X   
19    29.06.2014    
20    30.06.2014X   
21    01.07.2014    
22    02.07.2014    
23    03.07.2014    
24         

Formeln der Tabelle
ZelleFormel
E5=HEUTE()
E6=E5+1
I11=B11
B12{=WENN((ZEILE(X1)=2)*(B11>=B$11); "";WENN(ZÄHLENWENNS(Tabelle1[Frei];"X";Tabelle1[Datum];"<="&B$11)<B$11-MIN(Tabelle1[Datum]); INDEX(Tabelle1[Datum];KGRÖSSTE(WENN((Tabelle1[Datum]<=B$11)*(Tabelle1[Frei]<>"x"); ZEILE(Tabelle1[Datum])-MIN(ZEILE(Tabelle1[Datum]))+1); ZEILE(X1))); INDEX(Tabelle1[Datum];MIN(WENN((Tabelle1[Datum]<>"x")*(Tabelle1[Datum]<>""); ZEILE(Tabelle1[Datum]))))))}
I12{=WENN((ZEILE(E1)=2)*(I11>=I$11); "";WENN(ZÄHLENWENN(F$5:INDEX(F:F;VERGLEICH(I$11;E:E;)); "X")<I$11-E$5;INDEX(E:E;KGRÖSSTE(WENN((E$5:E$99<=I$11)*(F$5:F$99<>"x")*(E$5:E$99<>""); ZEILE($5:$99)); ZEILE(E1))); INDEX(E:E;MIN(WENN((F$5:F$99<>"x")*(E$5:E$99<>""); ZEILE($5:$99))))))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Ich geh jetzt allerdings gleich offline. Schönen Restsonntag noch.
Gruß Werner
.. , - ...

Anzeige
AW: die zwei Varianten ...
15.06.2014 16:16:55
Spenski
danke für deine mühe.
ich hatte an dem abend noch diese zusammengefummelt. auch für die dynamische
=WENN(D15=0;"";WENN(KGRÖSSTE((K$3:K$254<=D$15)*(U$3:U$254<>"x")*K$3:K$254;ZEILE(A1))=0; KKLEINSTE(WENN((K$3:K$254>0)*(U$3:U$254<>"x");K$3:K$254);ZEILE(A1));KGRÖSSTE((K$3:K$254< =D$15)*(U$3:U$254<>"x")*K$3:K$254;ZEILE(A1))))
wünsch dir noch einen schönen abend
gruss
christian

AW: die zwei Varianten ...
15.06.2014 21:28:33
Spenski
oh man :(
hab gerade bei rumtesten einen gravierenden fehler meiner seits entdeckt.
das ergebnis darf nicht kleiner gleich heute()+3 sein ... habe die durchlaufzeit eines auftrages voll vergessen ...
ich versuch es aber erstmal selber rauszubekommen . keiner arbeitet gerne für nix
gruss

Anzeige
und wie ist der Stand der Dinge ...
17.06.2014 19:50:03
der
Hallo Christian,
... Du hast die zusätzliche Bedingung nun sicher eingebaut, oder?
Gruß Werner
.. , - ...

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige