Herhangi Bir Basamağı Bul - Excel İpuçları

İçindekiler

Excel - Harfler yerine yalnızca hücredeki rakamlar nasıl saklanır.

Video izle

  • Kodda herhangi bir rakam olup olmadığını görmek için bir sütunu kontrol edin
  • Fatura Yöntemi 1:
  • Flaş Dolgu
  • Mike Yöntemi:
  • Bir Array Constant ile SUBSTITUTE işlevini kullanın.
  • Bir dizi sabiti olduğu için Ctrl + Shift + Enter tuşlarını kullanmanız gerekmez.
  • Bu, her seferinde bir basamak kaldıracak
  • Ortaya çıkan dizideki her öğenin orijinal öğeye eşit olup olmadığını görmek için AND işlevini kullanın
  • Fatura Yöntemi 3:
  • Basamakları kontrol etmek için bir VBA Fonksiyonu kullanın

Video Metni

Bill: Merhaba. Tekrar hoşgeldiniz. Başka bir Düello Excel Podcast zamanı. Ben Bill Jelen'liyim. ExcelIsFun'dan Mike Girvin'e katılacağım. Bu bizim bölüm 186: Hücredeki herhangi bir rakam varsa evet. Bugünün sorusu Jen tarafından gönderildi, 13.000 veri satırı var, bir hücreye bakılması gerekiyor, herhangi bir karakter bir rakamsa, Evet olarak işaretleyin, aksi takdirde Hayır. Pekala. Mike, umarım bunu yapmak için harika bir yolun vardır çünkü ben yok.

Flaş dolgusu kullanacağım ve flash dolgusunda, ona sadece bazı harf ve rakamlarla bir desen vereceğim. Olası tüm sayıları dahil ettiğimden emin olmak istiyorum, böylece ne yaptığımı anlasın ve 0 böyle. Yani, orijinal veriler var ve sonra benim için flash dolgu düzeltmesini isteyeceğim ve sabit sürümde, tüm rakamlardan kurtulacağız. O yüzden bakacağım ve bir rakam var mı bakacağım. Varsa, ondan bu şekilde kurtulun ve sonra flaş doldurmak için CONTROL + E tuşlarına basın ve sahip olmamız gereken şey artık sadece harfler, sadece harfler.

Ve sonra soru şu, değişti mi? Öyleyse = EĞER bu = aradığımız şeye, o zaman bu değişiklik olmadığı, rakam olmadığı anlamına gelir, o zaman Hayır diyoruz, aksi takdirde Evet, böyle ve çift tıklayın, aşağıya kopyalayın, tamam ve o zaman Hayır olan herhangi bir şeyin orada rakamı yoktur. Orijinal satırımızdan kurtuluruz ve bunu kopyaladığımızda CONTROL + C, ALT + E, S, V ve flash dolgudan kurtulabiliriz. Pekala, Mike. Bakalım neye sahipsin. (= EĞER (A2 = B2, "Hayır", "Evet"))

Mike: Vay canına ,. Bu şimdiye kadar gördüğüm en şaşırtıcı yaratıcı benzersiz flaş dolgusu olmalı. Bir metin icat ettiniz, gerçek sayıları, CONTROL + E'yi çıkardınız ve anında tüm sayıları çıkardınız ve sayılar olmadan yeni bir metin dizisi gönderdiniz ve sonra IF'nizi yaptınız. Kesinlikle güzel.

Peki. Tam burada bu sayfaya geleceğim ve SUBSTITUTE işlevini kullanacağım. Şimdi, SUBSTITUTE, ona şuradaki metne bakmasını söyleyeceğim ve bulup kaldırmak istediğim OLD_TEXT, pekala, hepsi rakamlar. Yani, bir dizi sabiti oluşturacağım (1, 2, 3, 4, 5 tüm rakamlar ve). Şimdi bu bir dizi sabiti ve OLD_TEXT'te oturuyor çünkü oraya tek bir öğe koymuyorum, bunun yerine bir sürü öğe koyuyorum. Bu bir işlev bağımsız değişken dizisi işlemidir. Burada, SUBSTITUTE'a 10 ayrı öğe teslim etme talimatı verecek 10 farklı öğe var ve bu öğelerden birini bulursa, ne istiyorum? "". Bu, işleve oraya hiçbir şey koymamasını söyleyecektir). (= YEDEK (A2, (1,2,3,4,5,6,7,8,9,0), ""))

Şimdi, imlecim sonunda. F9 tuşuna bastığımda, elbette yeterli çünkü sadece bir 0 var, sonuncusu hariç bunların hepsi tam olarak eşit. Sonuncusu için, SUBSTITUTE 0'ı buldu ve yerine hiçbir şey koymadı. Şimdi, CONTROL-Z, CONTROL-ENTER ve onu buraya, F2 ve F9'a kopyalayacağım. Yani, 6'ya gidersek, 5 versiyonu var, oradan 5'i çıkardı, 6'yı oradan çıkardı ve 8'i oradan çıkardı, yani 1, 2, 3 farklı öğe olacak. Yalnızca tüm öğeler orijinal öğeye tam olarak eşit olduğunda, bize rakam olmadığını söyleyecektir. KAÇIŞ.

Ben zirveye geri döneceğim. F2 gibi geliyor, bu VE mantıksal bir test. VE işlevi. Sonuç dizisindeki bu öğelerin her birinin orijinal öğeye = olup olmadığını kontrol etmek istiyorum. Hepsi doğru olduklarında, bana o metin halkasında numara olmadığını söyleyecektir. ), CONTROL + ENTER, bir YANLIŞ alıyorum çünkü içlerinden biri bu 0 eksik. Bunu buraya kopyalayacağım. Bu tabii ki bir DOĞRU elde edecek - bunlarla aynı - çünkü dahili olarak üretilen tüm öğeler, eğer tam burada F2 ise, bunların tümü, F9, tamamen orijinaline eşittir. KAÇIŞ. Şimdi zirveye çıkıyorum. Bu arada, CONTROL + SHIFT + ENTER kullanmak zorunda değildim çünkü dizi formülünüzde bu dizi sabitini kullandığınızda, o zaman CONTROL + SHIFT + ENTER tuşlarını kullanmak zorunda değilsiniz. (= VE (YEDEK (A2, (1,2,3,4,5,6,7,8,9,0), "") = A2))

Peki. Başa geleceğim. Bu benim mantıksal testim. Bunların hepsi doğru çıkarsa, "HAYIR" olarak doğruysa değer verin, aksi takdirde lütfen EVET girin "). CONTORL + ENTER. Bunun üzerine çift tıklayın. Bunu çift tıklayıp aşağıya göndermem gerekecek. Peki. Bu, SUBSTITUTE, bir dizi sabiti, bir AND mantıksal testi ve IF ile biraz eğlenceliydi, ama size söyleyeyim, hala bu flash dolgusuna, onu nasıl kullandığınıza, özünde, tüm ondan sayılar. Pekala, onu size geri atacağım MrExcel. (= EĞER (VE (YEDEK (A2, (1,2,3,4,5,6,7,8,9,0), "") = A2), "Hayır", "Evet"))

Bill: Pekala, SUBSTITUTE ve dizi sabiti ve AND içeren formül, bu inanılmaz şaşırtıcı. Flash dolgu kullanmak zorunda kaldım çünkü bunu çözemezdim. Bu harika. Şimdi, üçüncü bir yolum var. Şuna bir bakalım.

Şimdi, işte bunu gerçekten çözmemin yolu, sadece biraz VBA. Bu yüzden, VBA, INSERT, MODULE'a geçmek için ALT + F11 yapıyorum ve sonra bu kodu yazıyorum. HASNUMBERS adında yeni bir işlev oluşturacağız ve bunu hücre değerine aktaracağız ve ALPHA kelimesiyle başlayacağız. Her bir karaktere bakarız ve eğer bu kod, eğer bu karakterin (ASC kodu - 06:35) 48 ile 57 arasındaysa, o zaman NUMBERS, EXIT FUNCTION deriz ve devam ederiz. Doğru, yani bir rakam bulana kadar bakar. Olduğunda HASNUMBERS döndürür. Yani burada = HASNUMBERS diyeceğiz, o hücreye gelin ve onu kopyalamak için çift tıklayacağız. Orada bir rakam gördüğünde, onları sıralamak için ALFA, NUMARALARI alacaktır. (= HasNumber (A2))

Pekala, kısa bölüm özeti. Hedef: karakter kodunda, hücredeki kodda herhangi bir rakam olup olmadığını görmek için sütunu kontrol edin. Rakamları kaldırmak için flash dolgu kullandım, ardından değişip değişmediğini görmek için uzunluk işlevini kullandım. Mike'ın parlak bir formülü vardı, bir dizi sabiti olan YERİNE ALMA işlevi. CONTROL + SHIFT + ENTER'a ihtiyacınız yok. Her seferinde bir basamak çıkarmanız ve ardından AND işlevini kullanarak her birinin orijinal öğeye eşit olup olmadığını görmek için 10 sonucun tümüne bakmanız gerekir. Harika bir yol ve sonra, benim geri dönüşüm, rakamları kontrol etmek için bir VBA işlevi kullanın.

Peki, merhaba. Uğradığınız için herkese teşekkür etmek istiyorum. Bir dahaki sefere ExcelIsFun'dan başka bir netcast için görüşürüz.

Dosyayı indir

Örnek dosyayı buradan indirin: Duel186.xlsm

Ilginç makaleler...