Verwenden einer teilweisen Übereinstimmung mit Filter und VSTACK

Verwenden einer teilweisen Übereinstimmung mit Filter und VSTACK

Mithilfe einiger Vorschläge dieser Site konnte ich die folgende Formel aus mehreren Arbeitsblättern extrahieren:

=FILTER(VSTACK(FRR:SOD!G3:M200),
  (VSTACK(FRR:SOD!K3:K200)<>"")*
  (VSTACK(FRR:SOD!K3:K200)="ABC XXXX"))

Gibt es eine Möglichkeit, nach einer teilweisen Übereinstimmung innerhalb von „ABC XXXX“ zu filtern? Stellen Sie sich ABC als einen Ort und XXXX als einen Job/eine Position an diesem Ort vor. Ich möchte alle Personen, die ABC zugewiesen sind, in ein neues Arbeitsblatt ziehen und dann nach Job/Position filtern können. Ist das möglich?

Antwort1

So kann man das tun:

=LET(
     α, VSTACK(FRR:SOD!G3:M200), 
     δ, INDEX(α,,5), 
     FILTER(α, (δ<>"")*(1-ISNA(XMATCH("ABC *",δ,2))),"Not Found"))

  • Die Verwendung von LET()Funktionen erleichtert die Definition von Variablen und erleichtert das Lesen, ohne dieselben Formeln zu wiederholen.
  • αVariable wird definiert als die Verwendung VSTACK(), die mehrere Tabellendaten zu einer zusammenfügt, die aus dem Bereich G3:M200von Tabellen FRRundSOD
  • δDie Variable wird als Funktion definiert , die aus dem in zurückgegebenen Array INDEX()extrahiert wird5thα
  • Verwendung XMATCH()mit einem PlatzhalteroperatorAsterix*, was bedeutet Zero, dass eine beliebige Anzahl von Zeichen vorhanden ist. In diesem Anwendungsfall wird der Standort verwendet ABC *und es wird nach jedem Standort gesucht, der mit einem beliebigen zugewiesenen Standort aus dem Array beginnt ABCund endet .job/positionδ
  • Wenn eine Übereinstimmung gefunden wird, können wir entweder ISNUMBER()zurückgeben TRUEoder 1-ISNA()auch verwenden, was dasselbe tut, d. h. zuerst gibt es den Fehler ISNA()zurück , dann wird von abgezogen, was zu dem Ergebnis führt, was dasselbe ist wie mitTRUE#N/ATRUEISNUMBER()
  • Zum Schluss das Umschließen innerhalb FILTER()der Funktion, um zu extrahieren, wo sich welche befinden TRUE.

Anmerkungen:

• Excel hat3 WildcardsSie können in Ihren Formeln Folgendes verwenden:

  1. Sternchen( *) --> Null oder mehr Zeichen.
  2. Fragezeichen( ?) --> ein beliebiges Zeichen.
  3. Tilde( ~) --> Escape für wörtliche Zeichen ( ~*), ein wörtliches Fragezeichen ( ~?) oder eine wörtliche Tilde ( ~~).

Antwort2

Im Falle einer teilweisen Übereinstimmung dürfte es viele Kombinationen geben. Nachfolgend finden Sie eine, die ich Ihnen gerne mitteilen möchte.

=FILTER(VSTACK(FRR:SOD!G3:M200),
  (VSTACK(FRR:SOD!K3:K200<>"")*
  ((ISNUMBER(SEARCH("NEW*", VSTACK(FRR:SOD!K3:K200)))) +
  (ISNUMBER(SEARCH("*MANAGER", VSTACK(FRR:SOD!K3:K200)))) > 0))
  • Lassen Sie mich nun etwas über ((ISNUMBER(SEARCH("NEW*" erklären.
  • Hier in NEW* ist ,, * das Platzhalterzeichen und nimmt mehr als die Einserzeichen an.
  • Es können Standorte wie Neu-Delhi, New York, New Jersey und andere sein.
  • Eine andere ist (ISNUMBER(SEARCH("*MANAGER" , wobei *MANAGER für EDP MANAGER, SALES MANAGER und andere stehen kann.

Achtung

Antwort3

Ich bin für jeden Beitrag dankbar, auch wenn einiges davon etwas kompliziert ist, da ich noch Stück für Stück lerne. Diese Formel aus einem anderen Forum hat genau funktioniert, was ich brauchte, und ich konnte sie leicht verstehen:

=FILTER(VSTACK(FRR:SOD!G3:M200),LINKS(VSTACK(FRR:SOD!K3:K200),3)="ABC")

Danke für deine Hilfe!

verwandte Informationen