SORU
8 Aralık 2008, PAZARTESİ


Nasıl VBA kullanmadan Excel ters dize bir arama yapabilir miyim?

Excel elektronik dizeleri içeren bir liste var. Her dize birkaç kelimeden oluşur, ama her dizede sözcük sayısı farklıdır.

Fonksiyonları kullanarak Excel (VBA) yılında inşa edilmiş, her dizesinde son sözü izole etmek için bir yolu var mı?

Örnekler:

  Are you classified as human? -> human?
Negative, I am a meat popsicle -> popsicle
                  Aziz! Light! -> Light!

CEVAP
8 Aralık 2008, PAZARTESİ


Bu bir test ve çalışma (Brad orijinal yazıya göre):

=RIGHT(A1,LEN(A1)-FIND("|",SUBSTITUTE(A1," ","|",
     LEN(A1)-LEN(SUBSTITUTE(A1," ","")))))

Eğer özgün dizeleri "|" karakteri, her iki kaynak içinde görünmez o başka bir karakter ile yukarıda değiştirin. bir boru içerir diye (Brad orijinal basılabilecek bir karakter çeviri kaldırıldığından kırık olmasından şüpheleniyorum).

Bonus: çalışır (soldan sağa):

LEN(A1)-LEN(SUBSTITUTE(A1," ","")) - özgün dize boşluk Sayısı
SUBSTITUTE(A1," ","|", ... ) - sadece Değiştirirson| bir boşluk
FIND("|", ... ) - | yerini kesin yerini Bulur (son alan)
Right(A1,LEN(A1) - ... )) - 12 ** sonra tüm karakterleri Verir

DÜZENLEME:kaynak metin boşluk bulunduğu durum için hesap için, formülün başına şunu ekleyin:

=IF(ISERROR(FIND(" ",A1)),A1, ... )

şimdi tüm formül:

=IF(ISERROR(FIND(" ",A1)),A1, RIGHT(A1,LEN(A1) - FIND("|",
    SUBSTITUTE(A1," ","|",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))))

Veya başka bir sürümü =IF(COUNTIF(A1,"* *") sözdizimi kullanabilirsiniz.

Özgün dize son pozisyonda bir boşluk bulunabilir tüm alanlarda sayım sırasında trim fonksiyonu Ekle: işlevi aşağıdaki:

=IF(ISERROR(FIND(" ",B2)),B2, RIGHT(B2,LEN(B2) - FIND("|",
    SUBSTITUTE(B2," ","|",LEN(TRIM(B2))-LEN(SUBSTITUTE(B2," ",""))))))

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ionized Digital Air Studios

    Ionized Digi

    20 HAZİRAN 2009
  • Learn word 2013 tutorials

    Learn word 2

    5 AĞUSTOS 2014
  • RobertDuskin

    RobertDuskin

    12 HAZİRAN 2008