Hitta några siffror - Excel-tips

Innehållsförteckning

Excel - hur man bara håller siffrorna från en cell, inte bokstäverna.

Kolla på video

  • Kontrollera en kolumn för att se om det finns några siffror i koden
  • Räkningsmetod 1:
  • Blixtfyllning
  • Mike Method:
  • Använd SUBSTITUTE-funktionen med en Array Constant.
  • Du behöver inte använda Ctrl + Skift + Enter eftersom det är en arraykonstant
  • Detta tar bort en siffra åt gången
  • Använd OCH-funktionen för att se om varje objekt i den resulterande matrisen är lika med det ursprungliga objektet
  • Bill Method 3:
  • Använd en VBA-funktion för att söka efter siffror

Videoutskrift

Bill: Hej. Välkommen tillbaka. Det är dags för ytterligare en Duelling Excel Podcast. Jag är Bill Jelen från. Jag får sällskap av Mike Girvin från ExcelIsFun. Det här är vårt avsnitt 186: ja, om det finns några siffror i cellen. Dagens fråga skickas in av Jen, har 13 000 rader med data, måste titta igenom en cell, om någon karaktär är en siffra, markera den som Ja, annars Nej. Tja, Mike, jag hoppas att du har ett fantastiskt sätt att göra detta för att jag inte gör det.

Jag ska använda flashfyllning och, i flashfyllning, ska jag bara ge det ett mönster här med några bokstäver och siffror. Jag vill se till att jag inkluderar alla möjliga siffror så att den förstår vad jag gör och 0 så. Så det finns de ursprungliga uppgifterna, och då ska jag få flashfyllning för att fixa det för mig, och i den fasta versionen kommer vi att bli av med alla siffror. Så jag ska titta och se om det finns en siffra. Om det finns, bli av med det så och tryck sedan på CONTROL + E för att blixtfylld, och vad vi borde ha är nu bara bokstäverna, bara bokstäverna.

Och då är frågan, ändrades det? Så = OM detta är = vad vi letar efter, så betyder det att det inte fanns några ändringar, inga siffror, då säger vi Nej, annars Ja, så och dubbelklicka, kopiera det ner, okej och då har allt med nej inga siffror där. Vi blir av med vår ursprungliga rad, och när vi kopierar den här, CONTROL + C, ALT + E, S, V, och vi kan bli av med flashfyllningen. Okej, Mike. Låt oss se vad du har. (= IF (A2 = B2, "Nej", "Ja"))

Mike: Wow ,. Det måste vara den mest fantastiska kreativa unika användningen av flashfyllning som jag tror jag någonsin har sett. Du uppfann en text, tog ut de faktiska siffrorna, CONTROL + E, och den extraherade omedelbart alla siffror och levererade en ny textsträng utan siffrorna och sedan gjorde du din IF. Helt vackert.

OK. Jag kommer över till det här bladet här och jag kommer att använda SUBSTITUTE-funktionen. Nu, ersättare, jag ska säga att den ska titta på den texten där, och OLD_TEXT jag vill hitta och ta bort, ja, de är alla siffror. Så jag ska skapa en arraykonstant (1, 2, 3, 4, 5 alla siffror och). Nu är det en arraykonstant och den sitter i OLD_TEXT eftersom jag inte lägger ett enda objekt där utan istället lägger jag en massa objekt. Detta är en funktionsargumentmatningsoperation. Det finns tio olika artiklar här som kommer att instruera SUBSTITUTE att leverera 10 separata artiklar, rätt, och om den hittar en av dessa artiklar, vad vill jag ha? "". Det kommer att berätta för funktionen att sätta ingenting där,). (= SUBSTITUT (A2, (1,2,3,4,5,6,7,8,9,0), “”))

Nu är min markör i slutet. När jag trycker på F9-tangenten, säkert eftersom det bara finns ett 0, är ​​alla dessa exakt lika förutom den sista. För den sista hittade SUBSTITUTE 0 och lade inget på sin plats. Nu, CONTROL-Z, CONTROL-ENTER och jag ska kopiera ner det direkt hit, F2 och F9. Så om vi går till 6, finns 5-versionen, den tog bort 5 där, den tog bort 6 där och den tog bort 8 där, så det kommer att finnas 1, 2, 3 olika objekt som är olika. Först när alla artiklar är exakt lika med originalet kommer det att berätta att det inte finns några siffror. FLY.

Jag kommer tillbaka till toppen. Det låter som, F2, detta är ett OCH-logiskt test. OCH-funktion. Jag vill kontrollera om var och en av de här objekten i den resulterande matrisen är = originalobjektet. När alla är sanna, kommer det att berätta att det inte finns några siffror i den textringen. ), CONTROL + ENTER, jag får FALSK eftersom en av dem internt saknar 0. Jag ska kopiera det här nere. Den här kommer naturligtvis att bli SANT - samma med dessa - för att alla de internt genererade objekten, om jag F2 just här, alla dessa, F9, är exakt lika med originalet. FLY. Nu kommer jag upp till toppen. Förresten, jag behövde inte använda CONTROL + SHIFT + ENTER för när du använder denna arraykonstant i din arrayformel behöver du inte använda CONTROL + SHIFT + ENTER. (= OCH (SUBSTITUT (A2, (1,2,3,4,5,6,7,8,9,0), “”) = A2))

OK. Jag kommer till början. Det är mitt logiska test. Om alla dessa verkar vara sanna, värdera om de är sanna, i ”NEJ”, annars sätt ett JA, ”). CONTORL + ENTER. Dubbelklicka på det. Jag måste dubbelklicka på den här och skicka ner den. OK. Det var lite roligt med SUBSTITUTE, en arraykonstant, ett OCH logiskt test och IF, men jag säger er vad, jag kan fortfarande inte tro att flashfyllningen, hur du använde den för att i huvudsak extrahera allt siffror från det. Okej, jag ska kasta tillbaka det till dig, MrExcel. (= OM (OCH (SUBSTITUT (A2, (1,2,3,4,5,6,7,8,9,0), "") = A2), "Nej", "Ja"))

Bill: Tja, den formeln med SUBSTITUTE och arrayen konstant och AND, det är freaking fantastiskt. Jag var tvungen att använda flashfyllning eftersom jag inte kunde ha räknat ut den här. Det är lysande. Nu har jag en tredje väg. Låt oss ta en titt på det.

Nu, här är det sätt som jag verkligen skulle lösa detta, bara lite VBA. Så jag gör ALT + F11 för att byta till VBA, INSERT, MODULE och sedan skriva den här koden. Vi ska skapa en ny funktion som heter HASNUMBERS och vi kommer att vidarebefordra den till cellvärde, och vi ska börja med ordet ALPHA. Vi tittar på varje enskilt tecken, och om den koden, om (ASC-koden - 06:35) för den karaktären är mellan 48 och 57, säger vi att det är NUMMER, EXIT-FUNKTION, och fortsätter bara. Rätt, så det ser ut tills den hittar en siffra. När det gör det returnerar det HASNUMBERS. Så här ska vi säga = HASNUMBERS, peka på den cellen och dubbelklicka för att kopiera den ner. Varje gång den ser en siffra där borta kommer siffrorna, ALPHA, att få reda på dem. (= HasNumbers (A2))

Okej, snabb episod sammanfattning. Mål: kontrollera kolumnen för att se om det finns några siffror i teckenkoden, koden i cellen. Jag använde flashfyllning för att ta bort siffrorna och sedan längdfunktionen för att se om den ändrades eller inte. Mike hade en lysande formel, SUBSTITUTE-funktion med en arraykonstant. Du behöver inte CONTROL + SHIFT + ENTER. Du måste ta bort en siffra åt gången och sedan använda OCH-funktionen för att titta på alla tio resultaten för att se om var och en är lika med originalobjektet. Fantastiskt sätt att gå, och sedan, min reserv, använd en VBA-funktion för att söka efter siffror.

Men Hej. Jag vill tacka alla för att de kom förbi. Vi ses nästa gång för en ny netcast från och ExcelIsFun.

Nedladdning fil

Ladda ner exempelfilen här: Duel186.xlsm

Intressanta artiklar...