Skifte tegn på slutten av en Cell

March 22  by Eliza

Sam har et stort antall adresser i et regneark. I disse adressene må han sørge for at alle himmelretninger (NE, SE, NW, og SW) er alle store bokstaver. Det ville være svært nyttig hvis Sam kunne finne ut hvordan du kan endre noen av disse små bokstaver (eller blandet sak) retninger som vises kun på slutten av en celle med sine store kolleger. Han kan ikke bare søke etter en plass etterfulgt av "ne", som det ville endre Newton Newton, så han lurer på hvordan han kan være sikker på at utskifting oppstår bare når bokstavene vises på slutten av en celle.

Det er ingen måte å utføre denne oppgaven med Søk og erstatt verktøy i Excel. Det betyr at du må bruke en formel eller en makro til å gjøre oppgaven. Formler kan brukes til å sørge for at de to siste tegnene i en celle er store bokstaver:

= VENSTRE (A1, LEN (A1) -2) og STORE (HØYRE (ã1,2))

Problemet med en slik formel er imidlertid at det er ikke-diskriminerende. Så lenge en hvilken som helst celle den brukes på har en kompassretning som dens to siste figurer, er det ikke noe problem. Men hvis noen celler ikke har kompassretningen, så du får problemer virkelig fort. I så fall må du faktisk har formelen sjekke de siste tegnene:

= HVIS (HØYRE (A1,3) = "ne", VENSTRE (A1, LEN (A1) -2) og "NE",
IF (HØYRE (A1,3) = "se", VENSTRE (A1, LEN (A1) -2) og "SE",
IF (HØYRE (A1,3) = "nw", VENSTRE (A1, LEN (A1) -2) og "NW",
IF (HØYRE (A1,3) = "sw", VENSTRE (A1, LEN (A1 -2)) og "SW", A1))))

Denne formelen sjekker de siste tre tegnene for å se om de er en plass etterfulgt av enten ne, se, nw, eller sw. Hvis dette er tilfelle, så de to siste tegnene er gjort store bokstaver. Formelen kan forkortes hvis du nærmer deg det på en annen måte:

= HVIS (OR (HØYRE (A1,3) = "ne", HØYRE (A1,3) = "se", HØYRE (A1,3) = "nw",
HØYRE (A1,3) = "sw"), VENSTRE (A1, LEN (A1) -2) og STORE (HØYRE (ã1,2)), A1)

Du kan forkorte det enda mer ved å bruke en rekke himmelretninger i formelen:

= HVIS (OR (HØYRE (A1,3) = {"ne", "se", "sw", "nw"}),
VENSTRE (A1, LEN (A1) -2) og STORE (HØYRE (ã1,2)), A1)

Hvis du foretrekker å ikke bruke en formel, kan du enkelt lage en makro som vil gjøre kontroll og konvertering for deg:

Sub CapDirections ()
For Hver Rceii i utvalg
CText = UCase (Høyre (RCell.Value, 3))
Hvis CText = "NE" Eller CText = "SE" _
Eller CText = "SW" Eller CText = "NW" Da
RCell.Value = Left (RCell.Value, _
Len (RCell.Value) - 3) + CText
End If
Neste
End Sub

Å bruke makroen, velger du bare cellene som inneholder adresser, og deretter kjøre den. Den sjekker for å se om en av de fire kompasspunkter er ved enden av cellen verdi, og hvis det er da det gjør at kompassretningen er store.

Du bør være oppmerksom på at disse løsningene er basert på for det er bare fire mulige himmelretninger i adressene. Hvis adressen har mer vidtrekkhimmelretninger (som N eller SSE) så vil du definitivt ønsker å bruke et makro-basert løsning fordi den sjekker raskt blir veldig komplisert for en formel.

ExcelTips er din kilde for kostnadseffektiv Microsoft Excel trening. Dette tipset (9746) gjelder for Microsoft Excel 2007, 2010, og 2013. Du kan finne en versjon av dette tipset for den eldre menygrensesnittet av Excel her: Skifte tegn på slutten av en celle.