Finne Nth Forekomst av en karakter

June 5 by andy

Barry finner ofte seg selv som ønsker å identifisere Nth forekomsten av et tegn i en tekststreng. Han vet han kan bruke søke og finne regnearkfunksjoner for å finne en innledende forekomst, men er usikker på hvordan du skal finne, si, den tredje forekomsten av bokstaven "B" i en tekststreng.

Egentlig kunne SØK funksjonen brukes til å finne ønsket forekomst, på følgende måte:

= SEARCHB ("b", G20, (SEARCHB ("b", G20, (SEARCHB ("b", G20,1) 1)) + 1))

Legg merke til hvordan den SEARCHB funksjonen brukes i en nestet måte. Formelen angir hva som blir søkte på (bokstaven "b") og antall hekkende nivåer indikerer hvilken forekomst i cellen du ønsker å finne. Formelen gir posisjonen til det ønskede tegn i cellen.

Problemet med en slik formel, selvfølgelig, er at det er vanskelig å vedlikeholde og kan raskt få ubrukelig hvis du ønsker å finne, si, den syvende forekomst.

En mer fleksibel formel vil være følgende:

= FINN (CHAR (1), ERSTATNINGS (A1, "B", CHAR (1), 3))

Denne formelen undersøker verdien i A1. Det erstatter CHAR (1) kode for den tredje forekomsten av "B" i cellen. FINN-funksjonen ser deretter innen den resulterende strengen for posisjonen der CHAR (1) oppstår. Hvis ønsket forekomst ikke eksisterer, så formelen returnerer en #VERDI feil.

Hvis du foretrekker det, kan du opprette en brukerdefinert funksjon som vil se etter Nth posisjon av en karakter. Følgende er en veldig enkel makro som tar tre argumenter: Strengen skal søkes, teksten å matche, og ønsket posisjon.

Funksjon FindN (sFindWhat As String, _
sInputString As String, N As Integer) As Integer
Dim J As Integer

Application.Volatile
FindN = 0
For J = 1 Til N
FindN = InStr (FindN + 1, sInputString, sFindWhat)
Hvis FindN = 0 Then Exit For
Neste
End Function

Funksjonen er store og små bokstaver i hva den søker etter, og den returnerer posisjonen innenfor den angitte strengen hvor oppstår sFindWhat verdi. Hvis det ikke kan oppstå ved angitte forekomsten, og deretter funksjonen returnerer en 0. Det følgende viser hvordan funksjonen kan brukes i et regneark:

= FindN ("b", C15,3)

ExcelTips er din kilde for kostnadseffektiv Microsoft Excel trening. Dette tipset (3324) gjelder for Microsoft Excel 97, 2000, 2002, og 2003. Du kan finne en versjon av dette tipset for Båndet av Excel (Excel 2007 og senere) her: Finne Nth Forekomst av en karakter.

In Verbindung stehende Artikel

Finne andre forekomster av Excel i en makro

Hvis du kjører en VBA-programmet fra innenfor en bestemt forekomst av Excel, kan du opprette andre forekomster av Excel, åpne og endre arbeidsbøker i de nyopprettede tilfeller, og deretter lukke disse forekomstene. Men kanskje du lurer på hvordan du  More..

Finne forrige forekomst

Jeg bruker Søk-funksjonen i Word ganske ofte. Jeg mistenker at jeg ikke er alene i at bruk; det er utvilsomt en av de mest brukte funksjonene i programmet. Som jeg søker gjennom et dokument med Finn og erstatt dialogboksen vises, bruker jeg ofte Alt  More..

Finne alle forekomster av en verdi

Mike bruker Ctrl + F for å finne informasjon i cellene. Dette fungerer bra med tekst, men det gjør ikke det han trenger den til å gjøre når du søker etter tall. For eksempel, hvis han søker for "1500" da vil det finne en celle som inneholde  More..

Finne Nth roten av et tall

Du lurer kanskje på hvordan du bruker Excel til å utlede forskjellige røtter av et nummer. Finne en kvadratrot er enkelt: du bare bruke ROT-funksjonen. For eksempel er følgende returnerer kvadratroten av verdien i celle B7: = SQRT (B7) Hva med de for  More..

Finne en ukjent tegn

Word-dokumenter kan inneholde omtrent alle tegn du kan tenke på-og mange du kan. Hvis du arver dokumenter fra andre mennesker, eller klippe og lime inn informasjon fra andre kilder, er det mulig å ende opp med tegn i Word som du ikke vet hvordan å id  More..

Finne Sitert tekst i VBA

Jennifer trenger en måte, i en makro, for å finne en streng omgitt av enten smart eller rette anførselstegn (eller en blanding av de to). Hun kan ikke synes å finne den riktige blandingen av kommandoer for Finn-metode for å finne alle forekomster av  More..

Finne tekst Ikke bruke en bestemt Font

Hilary bemerker at de fleste av dokumentene deres selskap bruker er standardisert på en Times Roman font. Men en gang i blant noen vil redigere et dokument og bruke en annen font til noe av teksten den inneholder. Hun ønsker å enkelt finne de "f  More..

Beregne Intervall mellom Forekomster

Roger spurt om det var en måte å beregne tiden mellom forekomst av verdier i en liste. For eksempel har han flere tusen tall i kolonne A. Ser på verdien i celle A351, siste gang denne verdien skjedde i listen var i celle A246. Han ønsker en formel so  More..

Finne Wayward Lenker

Mange mennesker står overfor oppgaven med å oppdatere arbeidsbøker arvet fra andre mennesker i sine kontorer. Faktisk kan du bli møtt med en slik utfordring. For eksempel, la oss si du arver to arbeidsbøker som inneholder koblinger til hverandre. Du  More..