0047

In questo articolo, proveremo a ottenere la posizione della prima corrispondenza parziale in un intervallo.

Come sappiamo che link: / lookup-formas-excel-match-function [MATCH function] restituisce l’indice o la posizione della prima corrispondenza in un intervallo.

Quindi, è ovvio utilizzare questa funzione per ottenere la posizione della prima corrispondenza in un intervallo. Dato che supporta link: / tips-excel-wildcards [operatori jolly], possiamo anche usare MATCH per eseguire corrispondenze parziali.

Una volta ottenuta la posizione di prima posizione, possiamo fare varie cose. Come recuperare quel valore o un valore adiacente o non adiacente usando link: / lookup-formas-excel-index-function [INDEX function], o creare una funzione dinamica. Dipende dalle tue necessità e dalla tua creatività.

Formula generica per la prima partita parziale trovata

Per la stringa hardcode:

=MATCH("str",range,0)

Per riferimento cellulare:

=MATCH(""&cell&"",range,0)

Str: è il testo o la stringa che vuoi far corrispondere parzialmente nell’intervallo. Può essere qualsiasi cosa, una cella o una stringa codificata.

Range: è l’intervallo in cui cercherai str.

0: è il parametro per la corrispondenza esatta. Puoi anche usare FALSE.

Nota che eravamo soliti (astrisks) all’inizio e alla fine della stringa str. Questo è l’operatore jolly per la corrispondenza di qualsiasi valore con una stringa prima e dopo di esso .. *

Vediamo un esempio.

Qui ho un record di vittoria, sconfitta e pareggio. Vogliamo ottenere la prima posizione di vittoria, sconfitta e pareggio.

0048

Quindi, se codifico in modo rigido, la formula per trovare la prima posizione di corrispondenza parziale in ogni cella sarà:

=MATCH("won",A2:A10,0)

=MATCH("loss",A2:A10,0)

=MATCH("tie",A2:A10,0)

0050

=MATCH(""&C2&"",$A$2:$A$10,0)

0051

Come funziona

Utilizza semplicemente la funzionalità di Excel per eseguire corrispondenze parziali. MATCH cerca qualsiasi stringa che contenga la stringa fornita tra * (asterischi) e restituisce la prima posizione trovata.

Trova la posizione della prima corrispondenza parziale nell’intervallo utilizzando la funzione VBA FirstPartMatch Se copi sotto il codice vba nel modulo vba in Excel, puoi utilizzare questa funzione per ottenere la prima posizione della corrispondenza parziale. Per l’esempio sopra, scrivi semplicemente questa formula:

=FirstPartMatch(C2,$A$2:$A$10)

Otterrai la posizione della prima partita. Come questo.

0052

Come funziona

Il primo argomento è la stringa che vuoi cercare per una corrispondenza parziale.

Il secondo argomento è l’intervallo in cui vuoi ottenere la posizione della tua stringa.

=FirstPartMatch(str,range)

Per utilizzare questa formula per la corrispondenza parziale, copia il codice sottostante nel modulo VBA.

Function FirstPartMatch(str As String, rng As Range)

Dim tmp, position As Long

position = 0

tmp = 0

For Each cll In rng

tmp = tmp + 1

If InStr(1, LCase(cll.Value2), LCase(str)) > 0 Then

position = tmp

Exit For

End If

Next cll

If position Then

FirstPartMatch = position

Else

FirstPartMatch = "#NA"

End If

End Function

0055

Corrispondenza parziale con distinzione tra maiuscole e minuscole per la posizione

La funzione sopra definita dall’utente per trovare la prima corrispondenza parziale non farà distinzione tra maiuscole e minuscole. Se vuoi che sia sensibile al maiuscolo / minuscolo, rimuovi la funzione Lcase dalla riga 7.

0056

Quindi il codice per la distinzione tra maiuscole e minuscole sarà:

Function FirstPartMatchCASE(str As String, rng As Range)

Dim tmp, position As Long

position = 0

tmp = 0

For Each cll In rng

tmp = tmp + 1

If InStr(1, cll.Value2, str) > 0 Then

position = tmp

Exit For

End If

Next cll

If position Then

FirstPartMatchCASE = position

Else

FirstPartMatchCASE = "#NA"

End If

End Function

0057

Puoi vedere che “vinto” e “pareggio” in questo caso non vengono trovati. Dal momento che non ci sono vinte o pareggi in minuscolo.

Quindi sì ragazzi, questi sono i modi per trovare la posizione della prima partita parziale in Excel. Ti ho detto che puoi trovare la prima posizione di corrispondenza parziale utilizzando la funzione MATCH predefinita e utilizzando la funzione di corrispondenza definita dall’utente.

Se hai altre idee o domande, condividile con noi qui nella sezione commenti qui sotto.

Articoli correlati:

link: / lookup-formas-excel-match-function [Come usare la funzione MATCH in Excel]

link: / lookup-formas-excel-index-function [Come usare la funzione INDICE in Excel]

link: / lookup-formas-vlookup-top-5-values-with-duplicate-values-using-index-match-in-excel [Vlookup Top 5 Values ​​with Duplicate Values ​​Using INDEX-MATCH in Excel]

Articoli popolari:

link: / formule-e-funzioni-introduzione-di-vlookup-funzione [La funzione CERCA.VERT in Excel]

link: / tips-countif-in-microsoft-excel [CONTA.SE in Excel 2016]

link: / excel-formula-and-function-excel-sumif-function [Come usare la funzione SUMIF in Excel]