Ana içeriğe atla

Excel'de bir karakterin n'inci geçtiği yeri bulma – 3 hızlı yol

Excel'de bir metin dizesinde belirli bir karakterin n'inci oluşumunu bulmak, belirli sınırlayıcılara veya kalıplara dayalı olarak dizeleri ayrıştırmanız veya bilgileri ayıklamanız gerekebileceği veri analizinde özellikle yararlı olabilir. Örneğin, bir metin dizesinde "-" karakterinin 2. veya 3. geçişini bulalım. Bu görevi verimli bir şekilde gerçekleştirmek için basit teknikler göstereceğim.


Formülle metin dizesinde bir karakterin n'inci oluşumunu bulun

Bir karakterin n'inci oluşumunu bulmak için bir formül oluşturabilirsiniz. Lütfen şunu yapın:

1. Sonucu almak istediğiniz hücreye aşağıdaki formülü girin veya kopyalayın:

=FIND(CHAR(1),SUBSTITUTE(A2,"-",CHAR(1),2))
not: Yukarıdaki formülde:
  • A2: Dizeyi içeren hücre.
  • -: Aradığınız karakter.
  • 2: Bulmak istediğiniz 2. oluşumu ihtiyacınıza göre 3,4… olarak değiştirebilirsiniz.

2. Ardından, formülü diğer hücrelere doldurmak için formül dolgusunu aşağı sürükleyin ve karakterin 2. konumu aynı anda görüntülenir, ekran görüntüsüne bakın:

Formülün açıklaması:
  • VEKİL karakterin n'inci tekrarını yazdırılamayan bir karakterle (CHAR(1)) değiştirir.
  • BUL Bu yazdırılamayan karakteri arar ve n'inci geçtiği konumu verir.

Kutools for Excel ile metin dizesindeki bir karakterin n'inci oluşumunu bulun

Formül veya VBA kullanmanın hayranı değilseniz, uygun bir alternatifi düşünebilirsiniz: Kutools for Excel. Formül gruplarında yararlı bir yardımcı program bulacaksınız – Karakterin bir dizede N'inci sırada göründüğü yeri bulun Bu, hücredeki herhangi bir karakterin n'inci konumunu hızlı bir şekilde tanımlar ve döndürür.

Kutools for Excel'i yükledikten sonratık Kutools > Formül Yardımcısı > Formül Yardımcısı açmak için Formül Yardımcısı iletişim kutusu. Sonucu eklemek istediğiniz hücreye tıklayın. Daha sonra aşağıdakileri yapın:

  1. seç Arama açılır listeden Formül Türü Bölüm;
  2. Klinik Karakterin bir dizede N'inci sırada göründüğü yeri bulun in Bir formül seçin Bölüm;
  3. Kullandığınız dizeyi içeren hücreyi seçin, ardından belirtilen karakteri ve n. örneğini metin kutularına yazın. Bağımsız değişken girişi Bölüm;
  4. Sonunda, tıklayın OK sonuç almak için düğmesine basın.
İpuçları: Bu özellik ilginizi çekiyorsa lütfen 30 gün boyunca ücretsiz deneme almak için indirmek için tıklayın.

Kullanıcı Tanımlı İşlev ile metin dizesinde bir karakterin n'inci oluşumunu bulun

Bu bölümde, bir karakterin Excel'de n'inci tekrarını bulmak için bir UDF'nin nasıl oluşturulacağını ve kullanılacağını keşfedeceğiz ve veri işlemenizi optimize etmenize yardımcı olacak adım adım bir kılavuz sunacağız.

  1. basılı tutun ALT + F11 anahtarlar ve açılır Uygulamalar için Microsoft Visual Basic pencere.
  2. Tıkla Ekle > modülve aşağıdaki makroyu Modül Penceresine yapıştırın.
     Function FindN(sFindWhat As String, _
    sInputString As String, N As Integer) As Integer
    'Updateby Extendoffice
    Dim J As Integer
    Application.Volatile
    FindN = 0
    For J = 1 To N
    FindN = InStr(FindN + 1, sInputString, sFindWhat)
    If FindN = 0 Then Exit For
    Next
    End Function
  3. Daha sonra vba penceresini kapatın. Çalışma sayfasına geri dönün, aşağıdaki formülü bir hücreye girin ve ardından formülü diğer hücrelere doldurmak için doldurma tutamacını aşağı sürükleyin, ekran görüntüsüne bakın:
    =FindN("-",A2,3)

  4. İlgili Makaleler:

    • Bir kelimenin bir sütunda kaç kez geçtiğini sayın
    • Aşağıda gösterilen ekran görüntüsü gibi bazı yinelenen değerleri içeren bir sütun veriniz varsa ve şimdi yapmak istediğiniz şey, bu sütundaki belirli bir kelimenin geçtiği sayıları saymaktır. Şimdi bu eğitimle, Excel'de hızlı bir şekilde çözmek için bazı püf noktaları tanıtıyorum.
    • Bir dizeden n'inci karakteri çıkarma
    • Genel olarak, belirli bir karakterden sonra dize çıkarmak isteyebilirsiniz, ancak bu durumda, aşağıda gösterilen ekran görüntüsü gibi bir dizeden n'inci karakteri çıkarmak istiyorum.
    • Dizeden ilk/son n karakteri çıkar
    • Örneğin, her hücrede uzun dizeleri olan bir liste var ve her dizenin ilk 3 karakteri gibi yalnızca her dizeden ilk n karakteri çıkarmak istiyorsunuz ve şimdi bunu Excel'de çözmek için aşağıdaki yöntemleri kullanabilirsiniz. .

En İyi Ofis Üretkenlik Araçları

🤖 Kutools AI Yardımcısı: Aşağıdakilere dayalı olarak veri analizinde devrim yaratın: Akıllı Yürütme   |  Kodunu oluşturun  |  Özel Formüller Oluşturun  |  Verileri Analiz Edin ve Grafikler Oluşturun  |  Kutools İşlevlerini Çağır...
Popüler Özellikler: Yinelenenleri Bul, Vurgula veya Tanımla   |  Boş Satırları Sil   |  Veri Kaybı Olmadan Sütunları veya Hücreleri Birleştirin   |   Formülsüz Tur ...
Süper Arama: Çoklu Ölçütlü VLookup    Çoklu Değer VLookup  |   Birden Çok Sayfada VLookup   |   Bulanık Arama ....
Gelişmiş Açılır Liste: Hızla Açılır Liste Oluşturun   |  Bağımlı Açılır Liste   |  Çoklu Seçim Açılır Liste ....
Sütun Yöneticisi: Belirli Sayıda Sütun Ekleme  |  Sütunları Taşı  |  Gizli Sütunların Görünürlük Durumunu Değiştir  |  Aralıkları ve Sütunları Karşılaştırın ...
Öne Çıkan Özellikler: Izgara Odağı   |  Tasarım görünümü   |   Büyük Formül Çubuğu    Çalışma Kitabı ve Sayfa Yöneticisi   |  Kaynak Kütüphanesi (Otomatik metin)   |  Tarih Seçici   |  Çalışma Sayfalarını Birleştirin   |  Hücreleri Şifrele/Şifresini Çöz    E-postaları Listeye Göre Gönder   |  Süper Filtre   |   Özel Filtre (kalın/italik/üstü çizili filtre...) ...
En İyi 15 Araç Seti12 Metin Tools (Metin ekle, Karakterleri Kaldır, ...)   |   50+ Grafik Türleri (Gantt şeması, ...)   |   40+ Pratik Formüller (Yaşı doğum gününe göre hesapla, ...)   |   19 sokma Tools (QR Kodunu Girin, Yoldan Resim Ekle, ...)   |   12 Dönüştürme Tools (Sayılardan Kelimelere, Para Birimi Dönüştürme, ...)   |   7 Birleştir ve Böl Tools (Gelişmiş Kombine Satırları, Bölünmüş hücreler, ...)   |   ... ve dahası

Kutools for Excel ile Excel Becerilerinizi Güçlendirin ve Daha Önce Hiç Olmadığı Gibi Verimliliği Deneyimleyin. Kutools for Excel, Üretkenliği Artırmak ve Zamandan Tasarruf Etmek için 300'den Fazla Gelişmiş Özellik Sunar.  En Çok İhtiyacınız Olan Özelliği Almak İçin Buraya Tıklayın...

Açıklama


Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir

  • Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
  • Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
  • Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!
Comments (28)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Your formula to find the Nth occurrence of a character in a string does not work. Using your example, adding 2 to the results of the imbedded find ensures a starting position for the initial find of a position beyond the 1st two c's but changing the +2 to +3 does not yield the position of the 4th "c", it simply starts the search one character deeper into the string and the result is still the 3rd "c". To find the 4th "c" the search must begin beyond the position of the 3rd "c". I look forward to your new solution.
This comment was minimized by the moderator on the site
Hello, David

Yes, as you said, the first formula does not work correctly, you can apply the second formula:
=FIND(CHAR(1),SUBSTITUTE(A2,"c",CHAR(1),2))

Note: The number "2" in the formula means the second "c", if you want to get the third, fourth "c", just change the number 2 to 3,4 as you need.
Please try, hope it can help you!
This comment was minimized by the moderator on the site
Find formula1 is imperfect. It will be a great help if it is removed. I have lost lot of time trying for 4th occurance of "a" in "vedanarayanan" Thanks.
This comment was minimized by the moderator on the site
To handle the exception of the formula, you can use same with if and iserro
=IF(ISERR(FIND("c",A1,FIND("c",A1)+2)),FIND("c",A1,FIND("c",A1)+0),FIND("c",A1,FIND("c",A1)+2))
This comment was minimized by the moderator on the site
"Substitute" lets you find the Nth occurrence of a term, so combine it with "find" as follows (where 5=5th occurrence):

=FIND(CHAR(1),SUBSTITUTE(A1,"c",CHAR(1),5))
This comment was minimized by the moderator on the site
Excellent! I am glad I scrolled up to review other comments after posting my own.
This comment was minimized by the moderator on the site
This is the correct answer! please replace this whole article with this one line of code.....
This comment was minimized by the moderator on the site
The first formula is completely useless and wrong but it works just correct for this example as the first and second "c"s are adjacent. The correct formula is:


For 2nd occurence -
=FIND("c",A1,FIND("c",A1)+1)

For 3rd occurence -
=FIND("c",A1,FIND("c",A1,FIND("c",A1)+1)+1) and so on...
This comment was minimized by the moderator on the site
Absolutely agree. The +2, or +3 etc.....entirely depends on the spacing between the n and (n+1) occurences of "c". Thus you would have to manually adjust for every cell if you were trying to copy this formula down a column for instance. Essentially the same as manually counting.


Ex. Let's try to find the 4th occurrence of "c" in cell A1 using the provided formula. Per the article we should use +3 in our nested FIND function to find the 4th occurrence.


Text in Cell A1:

"cab car abc cole cube"

Manually counting, the 4th occurrence is the "c" in cole in the character position of 13.


=FIND("c",A1,FIND("c",A1)+3)

The nested function, FIND("c",A1) will find the first occurrence of "c" in position 1.

Therefore,

FIND("c",A1)+3 = 1+3 = 4

Plugging that back into our formula,

=FIND("c",A1,FIND("c",A1)+3) = FIND("c",A1,1+3) = FIND("c",A1,4)

This new formula will look for the first occurrence of "c" beginning from character position 4. The 4th character in the string is the space just after cab.

Therefore, the formula will find the "c" in car and return the value of 5 for our formula. As we know from manually counting we are looking for 13 as the output.
This comment was minimized by the moderator on the site
The firs formula works correct in my version, in the note, it has explained how to find the third or forth or nth "c".

Note: You can change the 2 in the formula based on your needs. For example, if you want to find the fourth position of "c", you can change the 2 to 3. And if you want to find the first position of "c", you shuold change 2 to 0.
This comment was minimized by the moderator on the site
Try to find out the position of the second c with the first sentence of my above comment as the string using the first formula. You'll get to know how correct it is!
This comment was minimized by the moderator on the site
Hello all,

I have a text in an Excel cell " BY TRANSFER-NEFT*HDFC0000001*N08745987123546*J0032331*KUMAR--"

I need a function to extract just "N08745987123546"

Thanks
This comment was minimized by the moderator on the site
Hello, do you want to extract the numbers after No and the number of numbers are fixed? If so, you can use Kutools for Exccel's Extract text function, type No????to extract.
This comment was minimized by the moderator on the site
HI ALL,
I have a text in an Excel cell " BY TRANSFER-NEFT*HDHC0065431*N053112345624801*K0038331*krishna--"
I need a function to extract just "N053112345624801"
This comment was minimized by the moderator on the site
Formula 1 doesn't work on fourth, fifth, sixth etc. so (+3,4,5) will always show third position of letter "c" which is 19 second formula is working though.
This comment was minimized by the moderator on the site
Hello all, I have a text in an Excel cell "23 floyd lane, longville,KN 14564" I need a function to extract just "longville" Thanks
This comment was minimized by the moderator on the site
If you must use a function, try: =TRIM(MID(A1,SEARCH(",",A1)+1,SEARCH("!@#",SUBSTITUTE(A1,",","!@#",2))-SEARCH(",",A1)-1)) Otherwise, you might consider Data > Text to Columns > Delimited (using a comma as the separator).
This comment was minimized by the moderator on the site
Try this: =INDEX(SMALL(IF(MID(A1,MATCH(ROW(INDIRECT(1&":"&LEN(A1))),ROW(INDIRECT(1&":"&LEN(A1))),0),1)="c",MATCH(ROW(INDIRECT(1&":"&LEN(A1))),ROW(INDIRECT(1&":"&LEN(A1))),0),""),MATCH(ROW(INDIRECT(1&":"&LEN(A1)-LEN(SUBSTITUTE(A1,"c","")))),ROW(INDIRECT(1&":"&LEN(A1)-LEN(SUBSTITUTE(A1,"c","")))),0)),2) where "c" is the character required and 2 is the position. Note this is an array formula.
This comment was minimized by the moderator on the site
this is simpler: =INDEX(SMALL(IF(MID(A1,ROW(INDIRECT(1&":"&LEN(A1))),1)="c",ROW(INDIRECT(1&":"&LEN(A1))),""),ROW(INDIRECT(1&":"&LEN(A1)-LEN(SUBSTITUTE(A1,"c",""))))),2)
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations