Analysera varje tecken i en cell i Excel med triaden av indirekt (), rad () och mitten ()

Innehållsförteckning

Idag ska jag ge dig en kraftfull formelcocktail. Den mindre använda INDIRECT () och ROW () -funktionen tillsammans med MID () -funktionen kan skapa en magnifik hopkok.

Denna triad gör att du kan komma in i innehållet i en cell. och analysera varje tecken separat. Anta till exempel att du har Excel123 i en cell och du vill identifiera om den innehåller ett numeriskt värde eller inte (vilket det gör !!). Excel inbyggda formler kan inte hjälpa dig här eftersom Excel betraktar detta som text (Testa och använd funktionen () för att se själv).

Det du behöver här är ett sätt att kontrollera varje tecken separat och sedan identifiera om det innehåller ett nummer. Låt oss först titta på formeln som kan skilja varje tecken:

= MIDD (B2, RAD (INDIRECT ("1:" & LEN (B2))), 1)

Här fungerar detta:

Nu när du har dissekerat allt, kan du analysera varje karaktär separat.

Observera att denna teknik används bäst när den kombineras med andra formler (som du kommer att se senare i detta inlägg). Som en fristående teknik kunde det knappast vara till någon nytta. Indirect () är också en flyktig funktion, så använd försiktigt. [Läs mer om flyktig formel]

Här är några exempel där denna teknik kan vara till hjälp:

1. Så här identifierar du celler som innehåller ett numeriskt tecken:

Antag att du har en lista som visas nedan, och du vill identifiera (eller filtrera) alla celler som innehåller ett numeriskt tecken var som helst i cellen

För att göra detta, använd följande formel. Det returnerar a Sann om en cell innehåller ett numeriskt tecken och Falsk om det inte gör det.

= ELLER (ISNUMBER (MIDD (A2, RAD (INDIRECT (“1:” & LEN (A2))), 1)*1))

Använd Ctrl + Skift + Enter för att ange denna formel (i stället för Enter), eftersom det är en matrisformel.

2. För att identifiera positionen för den första förekomsten av ett nummer

För att göra detta, använd följande formel. Det returnerar positionen för den första förekomsten av ett tal i en cell. Till exempel, om en cell innehåller ProductA1, kommer den tillbaka 9. Om det inte finns något nummer återkommer det ”Inget numeriskt tecken finns”

= IFERROR (MATCH (1, -ISNUMBER (MID (B3, RAD (INDIRECT (“1:” & LEN (B3))), 1)*1), 0), ”No Numeric Character Present”)

Använd Ctrl + Skift + Retur för att ange denna formel

Hoppas detta sparar tid och ansträngning. Om du kommer på något annat sätt att använda denna teknik, dela den med mig också.

wave wave wave wave wave