2016-03-28 26 views
0

Düzenli olarak işlenmesi gereken bir excel belgesine sahibim, bu arada firmamı bunun için otomatik bir süreç oluşturmaya bekliyorum ve son zamanlarda bulduğum sorun şu ki formülü kullanıyorum: t # VALUE dışında bir sonuç döndürme! FIND formülüne ihtiyacım olan metni bulmamaya başladım. Şu anda elimizde bulunanExcel - IF Formula with FIND

formüldür:

=IF(FIND("-",M2,3),RIGHT(M2,2)) 

hücreleri bu formül kontrolleri devletleri, yani "CA-ON" veya "ABD-NV" gibi görünen onları & iller var. Sorun şu ki Birleşik Krallık bölgeleri "İngiltere-XX" diye fillout yapmadığı için gerçek ilçeyi örneğin "Essex" veya "Merchant" olarak giriyor

Yapılması gereken formülü ne yapabilir? t hücredeki tire (-) 'yi bulup, o zaman her hangi bir değeri almalı ve formülde bulunan hücreye yazmalıdır.

Ayrıca bazı hücrelerin de boş olduğundan bahsetmeliyim isteğe bağlı bir alandır. Bu formülü çalıştırmak için yine de orada "-" bulunmazsa sadece orada ne yazıyor?

+0

Başka bir "if" ifadesi mi içelim? – findwindow

cevap

3

üçüncü karakter ise orta kullanma hakkında() görmek için "-" ne

=IF(MID(A1,3,1)="-",RIGHT(A1,2),A1) 

enter image description here

Eğer gerçekten o zaman bulmak() fonksiyonunu kullanmak isterseniz:

=IF(ISNUMBER(FIND("-",A1)),RIGHT(A1,2),A1) 

enter image description here

0

IFERROR İşlevi burada yardımcı olmalıdır. Ve şimdi if ifadesini kullanmak için bir sebep yok. Aşağıdaki formül, ilk 3 karakterde tire bulur ve dizenin uzunluğunu kısa çizginin yerini bulur ve bu dizgiyi döndürür. IFERROR, tire olmayan ve orijinal hücrenize geri dönen örnekleri yakalar.

=IFERROR(RIGHT(M2,LEN(M2)-FIND("-",LEFT(M2,3),1)),M2) 
+0

Bu bir işe yaramaz, eğer bir ilçenin adında kısa çizgi varsa, o zaman ilçenin ikinci yarısını alırdım. –

+0

Formülümü güncelledim. Kendim veya @ScottCraner'ın yayınladığı 3'ten herhangi biri çalışmalıdır. –