• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Metnin içinden parça almak

berkeartar

Altın Üye
Katılım
9 Mayıs 2017
Mesajlar
120
Excel Vers. ve Dili
2019
Arkadaşlar merhaba,

Ekteki excelde b sütununda metinler var. Bu metinlerin içinde en sonda ebatlar var (600x450 gibi). C sütununa bu metinde yazan 600 değerini D sütununa ise 450 değerini yazdırmak istiyorum. Yardımcı olabilirseniz çok sevinirim.
 

Ekli dosyalar

Merhaba,

=SAĞDAN(SOLDAN(B2;31);4) formülünü c sütünuna, =SAĞDAN(SOLDAN(B2;36);3) formülünü d sütünuna yazarak çoğaltabilirsiniz. ancak metin karakter sayısı aynı olmalıdır.
 
Merhaba,

=SAĞDAN(SOLDAN(B2;31);4) formülünü c sütünuna, =SAĞDAN(SOLDAN(B2;36);3) formülünü d sütünuna yazarak çoğaltabilirsiniz. ancak metin karakter sayısı aynı olmalıdır.

Cevap için teşekkür ederim ancak benim ihtiyacım olanda metin karakter sayısı aynı olmayanlarda formülü doğru çalıştırabilmek :)
 
=SOLDAN(B1;BUL("x";B1)-1)*1
=SAĞDAN(B1;UZUNLUK(B1)-BUL("x";B1))*1
 
Son düzenleme:
Merhaba.

Metin içerisinde ölçüler arası dışında da "X" olabilceğini düşünerek, uzun da olsa aşağıdaki formüller istenilen sonuçları verecektir.
Formül sonuçları METİN'dir, sayı olarak istiyorsanız formüllerin başına = işaretinden sonra 0+ veya 1* ekleyin.

>> C2 hücresine
=PARÇAAL(B2;BUL("|";YERİNEKOY(B2;" ";"|";UZUNLUK(B2)-UZUNLUK(YERİNEKOY(B2;" ";""))))+1;BUL("X";PARÇAAL(B2;BUL("|";YERİNEKOY(B2;" ";"|";UZUNLUK(B2)-UZUNLUK(YERİNEKOY(B2;" ";""))))+1;255))-1)
>> D2 hücresine;
=PARÇAAL(B2;BUL("|";YERİNEKOY(B2;" ";"|";UZUNLUK(B2)-UZUNLUK(YERİNEKOY(B2;" ";""))))+BUL("X";PARÇAAL(B2;BUL("|";YERİNEKOY(B2;" ";"|";UZUNLUK(B2)-UZUNLUK(YERİNEKOY(B2;" ";""))))+1;255))+1;255)
 
Merhaba.

Metin içerisinde ölçüler arası dışında da "X" olabilceğini düşünerek, uzun da olsa aşağıdaki formüller istenilen sonuçları verecektir.
Formül sonuçları METİN'dir, sayı olarak istiyorsanız formüllerin başına = işaretinden sonra 0+ veya 1* ekleyin.

>> C2 hücresine
=PARÇAAL(B2;BUL("|";YERİNEKOY(B2;" ";"|";UZUNLUK(B2)-UZUNLUK(YERİNEKOY(B2;" ";""))))+1;BUL("X";PARÇAAL(B2;BUL("|";YERİNEKOY(B2;" ";"|";UZUNLUK(B2)-UZUNLUK(YERİNEKOY(B2;" ";""))))+1;255))-1)
>> D2 hücresine;
=PARÇAAL(B2;BUL("|";YERİNEKOY(B2;" ";"|";UZUNLUK(B2)-UZUNLUK(YERİNEKOY(B2;" ";""))))+BUL("X";PARÇAAL(B2;BUL("|";YERİNEKOY(B2;" ";"|";UZUNLUK(B2)-UZUNLUK(YERİNEKOY(B2;" ";""))))+1;255))+1;255)

Ömer bey tam istediğim gibi olmuş, emeğinize sağlık. Öğrenmek için soruyorum "|" işaretinin anlamı nedir ?
 
Belirttiğiniz | karakterinin özel bir anllamı yok, o karakter yerine,
-- mevcut belgedeki metinler içinde kullanılmayacak herhangi başka bir karakter (1 adet) de olabilir ( @, >, < gibi)
-- formüllerdeki +1 -1 kısımlarını gözden geçirmek koşuluyla, xxx, fff, ggg, abc gibi 1'den fazla karakterlik metinler de kullanlabilir.
Formül mantığı şöyle, YERİNEKOY işlevi kullanılarak en sondaki boşluk karakterini seçtiğimiz özel karakterle değiştiriyoruz,
ardından bu karakterin soldan kaçıncı karakter olduğunu buluyoruz ve bunun üzerinden de en sondaki kısmı alıyoruz.
 
Merhabalar,
Alternatif olsun,
X karakteri sonrasını almak için;
Kod:
=PARÇAAL(B2;ARA(1;--1/(PARÇAAL(B2;SATIR($1:$100);1)="X");SATIR($1:$100))+1;38)
X karateri öncesini almak için; (birinci formül C2 hücresine yazdığınızı farz edelim)
Kod:
=YERİNEKOY(YERİNEKOY(PARÇAAL(B2;ARA(1;--1/(PARÇAAL(B2;SATIR($1:$100);1)="X");SATIR($1:$100))-4;38);C2; );"X"; )
Formülleri [ ] içerisine alamadığım için bu şekilde yazdım. :)
 
Moderatör tarafında düzenlendi:
Alternatif

X sonrası için

Kod:
=ARA(9,99999999999999E+307;--SAĞDAN(B2;SATIR($1:$1024)))

X öncesi için

Kod:
=ARA(9,99999999999999E+307;--SAĞDAN(SOLDAN(B2;MBUL("X";B2)-1);SATIR($1:$1024)))
 

Merhaba, aynı konu olduğu için yeni başlık açmadım üstteki yanıtlardan faydalanarak ili alıyorum bu (sonunu verdiğim) örnekteki gibi uzun adres bilgisi de olsa en sondaki.,
Merkez, Koçkaya Köyü, Narman, Erzurum
yada
Merkez, Koçkaya Köyü, Narman/Erzurum
il değilde ilçeyi ayırmam (çekmem) için formül önerir misiniz?.​
 
@palette

A sütununda adres olduğunu varsayalım;

B2 hücresine

C++:
=İNDİS(KIRP(PARÇAAL(YERİNEKOY(" "&KIRP($A2);" ";YİNELE(" ";255));SATIR(DOLAYLI("$1:"&UZUNLUK(KIRP($A2))-UZUNLUK(YERİNEKOY(KIRP($A2);" ";""))+1))*255;255));UZUNLUK(KIRP($A2))-UZUNLUK(YERİNEKOY(KIRP($A2);" ";""))+SÜTUN(A1)-1)


C2 hücresine

C++:
=İNDİS(KIRP(PARÇAAL(YERİNEKOY(" "&KIRP($A2);" ";YİNELE(" ";255));SATIR(DOLAYLI("$1:"&UZUNLUK(KIRP($A2))-UZUNLUK(YERİNEKOY(KIRP($A2);" ";""))+1))*255;255));UZUNLUK(KIRP($A2))-UZUNLUK(YERİNEKOY(KIRP($A2);" ";""))+SÜTUN(B1)-1)

formüllerini deneyiniz.

İstediğiniz bu değilse harici dosya yükleme sitelerini kullanarak örnek ekleyiniz.
 
SAYIN berkeartar : EGER(UZUNLUK(B2)= X ; SOLDAN(B2;3) ;PARÇAAL(B2;4;4)) SAYGILAR
 
Merhaba Arkadaşlar ;
Aşağıdakilerin soldan "-" ya kadar olan kısımları parça almak istiyorum . herhangi bir standart yok sadece "-" kadar olan kısmı.Bunun için yardımcı olabilecek olan arkadaş var mı ?

XYZT-BG-01
ABCDEF-KL-02
CWE-AB-01
 
Güzel düşünceniz için ben teşekkür ederim.
 
Geri
Üst