Neyse, zaten anlamadığımı, anladığım kadarıyla bir şeyler yapmaya çalıştığımı belirtmiştim. Sanıyorum, hata yapmışım cevap vermekle...
Yine de yazdıklarınıza cevap vereyim...
Siz isterseniz öyle yapın.
Dosyanızı açtığımda ilk gördüğüm olay,
12-1 gibi bir skorda değerlendirmeyi doğru yapmıyor ibaresi oldu.
O nedenle de, SOLDAN(B3;1)
(ilk rakamı alır 12 - 1 için sonuç 1) yerine ARA(999;--SOLDAN(B3;SATIR($1:$10)))
(Başlangıçtaki sayıyı alır 12 - 1 için 12) formülü kullanıldı. Aynı olay 1 - 12 olayında da ARA(999;--SAĞDAN(B3;SATIR($1:$10))) formülüyle sondaki sayı bulunuyor Sonuç da 12 oluyor.
Yine de bir öneri
Eğer 12-1 ya da 12 - 1 gibi aralarda
hep "-" varsa
--SOLDAN(YERİNEKOY(B3;"-";" ");2) Yani "-" yerine " " (1 boşluk) konulabilir
--SAĞDAN(YERİNEKOY(B3;"-";" ");2)
Buradaki SATIR(1:10)
normalde çok büyük bir performans kaybı yaratmaz. Ama sizin dosyanız normal değil. Satır adedi
100.000 den fazla diyorsunuz. Bu bilgiyi, ilk soru mesajınızda yazsaydınız, kesinlikle cevap vermezdim. Çünkü hangi formülü yazarsanız yazın,
EĞER işlevi bile, bu kadar satırda performans kaybına neden olacaktır.
100.000 gibi çok satırda, çözümü, dizi yöntemleri olan makroda aramalısınız.
Not : SATIR(1:10) anlamını görmek istiyorsanız eğer, formülün bulunduğu hücreyi seçin. Formül çubuğunda, formülde, SATIR(1:10) yazan kısmı seçip F9 basın. Göreceğiniz olay {1\2\3\4\5\6\7\8\9\10} dizisidir. Bu da şu demektir. 12-1 için 4 karakter vardır ve {1\2\3\4\5\6\7\8\9\10} dizisi kullanılarak sonuç üretecektir. Yani SOLDAN için 12-1 için çalışıp 1, 12, 12-, 12-1, 12-1..... değerleri üretecek demektir. ARA ile de HATA dan önceki son sayı bulunacağından 12 ibaresine kadar (yani 2. üretilen değer) bakacak ve 12 sonucunu verecektir. İşte SATIR(1:10) anlamı.... 1-0 için SATIR(1:3) yeterli. Örneğin 12 - 10 için SATIR(1:7) yeterli... Ancak sizin verilerde bir standart var mıdır bilinmediğinden (belirtmediğinizden) dolayı SATIR(1:10) alındı...
Önceki mesajımda da dediğim gibi, açıklamalarınızı defalarca okumama rağmen anlayamıyorum... Kendi yorumuma göre cevap yazmaya çalıştım.
Bu mesajınızda da aynı olayım var maalesef... Anlayamıyorum...
Belki şöyle olabilir.
İstemeseniz de yine ARA işlevleriyle.....
HTML:
Ben burada bırakıyorum konuyu...
Siz istediğiniz yönde formüle edebilir / makro çözümü arayabilirsiniz.
Kolay gelsin...