Excel - Finden Sie das Dokument eines bestimmten Typs mit dem nächstgelegenen Fälligkeitsdatum

431
Marcin

Ich arbeite an 2 Tischen.

"Tabelle 1" ist eine Liste der aktuellen Dokumente, die ich importiere und unverändert lassen möchte. Die Datei ist in keiner Weise formatiert.

Tabelle 2 enthält eine Liste der Kunden, für die ich tätig bin, und ist eine Excel-Tabelle.

Nun versuche ich, eine Formel in Tabelle 2 zu erstellen, die für jeden Kunden seine Rechnungen in Tabelle 1 nachschlagen und eine auswählen wird, die dem jeweiligen Fälligkeitsdatum am nächsten kommt (oder auf andere Weise die Rechnung, die fällig ist.) Datum am nächsten zu heute).

Was ich versucht habe war:

Column F - Due dates Column A - Customer number Column C - Document type   {=MIN(IF([Documents.XLSX]Sheet1!$F$2:$F$30000>TODAY();[Documents.XLSX]Sheet1!$F$2:$F$30000))} 

Das gab mir den insgesamt engsten Termin, der einen Tag entfernt war, wurde aber aus allen Dokumenten von allen Kunden übernommen, was nicht zufriedenstellend ist.

Ich habe dann versucht, eine zweite Bedingung hinzuzufügen, um nur die Rechnungen herauszufiltern

{=MIN(IF(AND([Documents.XLSX]Sheet1!$C$2:$C$30000="INVOICE";[Documents.XLSX]Sheet1!$F$2:$F$30000>TODAY());[Documents.XLSX]Sheet1!$F$2:$F$30000))} 

Dann begannen die Dinge unglücklich zu werden.

Natürlich könnte ich auch eine dritte Bedingung mit Kundennummern einwerfen, aber das würde trotzdem nicht funktionieren.

{=MIN(IF(AND([Documents.XLSX]Sheet1!$C$2:$C$30000="INVOICE";[Documents.XLSX]Sheet1!$F$2:$F$30000>TODAY();[Documents.XLSX]Sheet1!$F$2:$F$30000=[@CustomerNumber]);[Documents.XLSX]Sheet1!$F$2:$F$30000))} 

Ich habe auch versucht, mit einer Funktion in einer Form umzugehen, die dieser ähnelt:

=INDEX(AD3:AD9;MATCH(1;INDEX((AG3=AA3:AA9)*(AG4=AB3:AB9)*(AG5=AC3:AC9);0;1);0)) 

In welchen AD sind Werte AG sind Eingaben, AA AB und AC sind verschiedene Arrays für Bedingungen (wie Dokumenttypen, Kundenname usw.). Solange die ersten beiden Bedingungen wie AG3 und AG4 aussehen können, gehe ich davon aus, dass die letzte Bedingung sein muss anders formuliert, so dass der Eingabedatenbereich auch der Ausgabebereich ist.

Beispiel: https://i.stack.imgur.com/S8HCs.png

In diesem Beispiel sollte die Formel für Bob jetzt den Wert 30.10.2018 zurückgeben, da es sich um die nächste Rechnung von heute handelt. Während für John sollte es nichts zurückgeben, da seine Rechnung bereits überfällig ist.

EDIT: Am Ende habe ich es selbst herausgefunden. Posting der resultierenden Formel für alle, die in der Zukunft auf dieses Thema stoßen könnten:

{=MIN(IF(([Documents.XLSX]Sheet1!$C$2:$C$30000="Invoice")*([Documents.XLSX]Sheet1!$F$2:$F$30000>TODAY())*(TEXT([@Customer];0)=[Documents.XLSX]Sheet1!$A$2:$A$30000);[Documents.XLSX]Sheet1!$F$2:$F$30000))} 

Dies ist eine Matrixformel, also natürlich Strg + Shift + Enter

Wenn jedoch jemand eine Idee hat, wie man mit der Index-Match-Kombination ähnliche Ergebnisse erzielt, wäre ich mehr als glücklich zu lernen.

0
ist $ C $ 2: $ C $ 30000-Inhalt ist mit AD3: AD9-Daten identisch? Coz, scheint die Begründung (von beiden Formeln) schwer zu verbinden .. || Ich denke, das Teilen einiger Beispieldaten wird dazu beitragen, den Fall zu klären. p._phidot_ vor 5 Jahren 0
Nein ist es nicht. Die zweite Funktion habe ich im Internet gefunden, hatte aber keine Ahnung, wie man sie wirklich auf die Daten anwendet. https://exceljet.net/formula/index-and-match-with-multiple-criteria Marcin vor 5 Jahren 0
Willkommen bei Super User und vielen Dank, dass Sie den Fragebogen geschlossen haben. Die Site stützt sich auf Frageposts, die nur die Frage enthalten, und Lösungen, die Antworten enthalten. Können Sie Ihre Lösung nicht in die Frage einschließen, sondern sie in eine Antwort aufteilen. Sie können dann auch angeben, dass das Problem gelöst ist, indem Sie Ihre eigene Antwort akzeptieren (die Sie zwei Tage nach dem Absenden der Frage tun können, indem Sie auf das Kontrollkästchen daneben klicken). fixer1234 vor 5 Jahren 0
Möchten Sie einige Beispieldaten austauschen? Da wir nicht sehen können, wo / was Ihre Eingabezeile / -spalte ist und die Zielausgabespalte / -zeile Ihrer Dateien .. || Sie können Google Drive oder Ondrive verwenden. || Sie können Ihre Spalte umbenennen oder die Daten erneut eingeben, um sie zu anonymisieren. || Nur um klar zu sein .. Ich glaube, ich bekomme deine Frage .. Ich habe die Details des Falls nicht bekommen. p._phidot_ vor 5 Jahren 0

1 Antwort auf die Frage

0
Neve

Sie können eine ...

  • die Rechnungsnummern in den "Zeilenetiketten"
  • die Fälligkeiten im Bereich "Werte".

Stellen Sie sicher, dass die Wertfeldeinstellungen auf "Max" gesetzt sind, damit Sie für jede Rechnungsnummer das späteste Fälligkeitsdatum extrahieren.

Dann können Sie diese über einen "vlookup" in Ihrer Tabelle nachschlagen.