• DİKKAT

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

Hücrede virgül yoksa şunu yap

  • Konbuyu başlatan Konbuyu başlatan bybyby
  • Başlangıç tarihi Başlangıç tarihi
Katılım
6 Aralık 2007
Mesajlar
33
Excel Vers. ve Dili
Excel 2007 Türkçe
=PARÇAAL(A1;1;MBUL(",";A1;1)-1)

formülü ile A1 hücresindeki verinin soldan ilk virgülden önceki kısmını alıp B1 hücresine yazdırıyorum. Hücrede virgül yoksa hücreyi aynen B1 hücresine kopyalamasını istiyorum.

=PARÇAAL(A1;BUL(",";A1)+1;UZUNLUK(A1)-BUL(",";A1))

formülü ile soldan ilk virgülün sağında kalan kısmı alıp C1 hücresine yazdırıyorum. A1 hücresinde virgül yoksa hata vermeyip boş bırakmasını istiyorum.

Sütunda binlerce veri var. Eğer virgül değeri bulunamazsa #DEGER olarak ekrana hatayı basıyor. Daha sonra çalıştıracağım makro bu yüzden hata veriyor.

Yardımlarınızı rica ediyorum.
 
=EĞERHATA(PARÇAAL(A1;BUL(",";A1)+1;UZUNLUK(A1)-BUL(",";A1));0)

Bu şekilde hatalı olanları 0 yapabilirsiniz, makro çalışabilir belki.
 
Hocam yönlendirmeniz doğrultusunda ilk formülü

=EĞERHATA(PARÇAAL(D1;1;MBUL(",";D1;1)-1);D1)

ikinci formülü;

=EĞERHATA(PARÇAAL(D1;BUL(",";D1)+1;UZUNLUK(D1)-BUL(",";D1));"")

şeklinde düzenledim. Şu an sorunsuz çalışıyor. Çok teşekkür ederim yardımınız için. Sağ olun var olun.
 
=EĞERHATA(PARÇAAL(A1;1;MBUL(",";A1;1)-1);A1)

Arkadaşlar bu formülü 0x ile başlayan hücredeki verileri soldan ilk virgüle kadar böl, 0x ile başlamıyorsa aynen kopyala şeklinde nasıl düzenleyebiliriz?
 
Merhaba,
Kod:
=EĞER(SOLDAN(A1;2)="0x";
  SOLDAN(A1;TOPLA((SAĞDAN(SOLDAN(A1;
SATIR(1:[COLOR="Red"]38[/COLOR])))=",")*SATIR(1:[COLOR="Red"]38[/COLOR]))-1);"")
[COLOR="Navy"]Formül dizi formülüdür.CTRL+SHIFT+ENTER ile tamamlayınız.[/COLOR]
Not: Hücre uzunluğunuza göre formül içerisinde yer alan 38 sayısını çoğaltınız.
Saygılar,
Şeşen
 
DEĞER hatası alıyorum maalesef. Dosyayı ekliyorum daha açıklayıcı olması bakımından. yardımlarınız için teşekkürler.

https://www.dropbox.com/s/tma7cepughb4dkq/stringleri_ayir.xlsx?dl=1


Merhaba,
Kod:
=EĞER(SOLDAN(A1;2)="0x";
  SOLDAN(A1;TOPLA((SAĞDAN(SOLDAN(A1;
SATIR(1:[COLOR="Red"]38[/COLOR])))=",")*SATIR(1:[COLOR="Red"]38[/COLOR]))-1);"")
[COLOR="Navy"]Formül dizi formülüdür.CTRL+SHIFT+ENTER ile tamamlayınız.[/COLOR]
Not: Hücre uzunluğunuza göre formül içerisinde yer alan 38 sayısını çoğaltınız.
Saygılar,
Şeşen
 
Sayın bybyby,

bzace'nin çözümü ilk sütun için sonuç veriyor. Dikkat etmeniz gereken formülü yapıştırdıktan sonra yalnızca Enter tuşuna basarak değil "Ctrl + Shift + Enter" tuşlarına basarak hesaplatmanız gerektiğidir.

Başka bir yöntem olarak B1 hücresine;
Kod:
=EĞER(PARÇAAL(A1;1;2)="0x";PARÇAAL(A1;1;MBUL(",";A1)-1);A1)
formülünü, C1 hücresine;
Kod:
=EĞER(PARÇAAL(A1;1;2)<>"0x";"";PARÇAAL(A1;MBUL(",";A1)+1;500))
formünülü yapıştırıp aşağı doğru kopyalayınız.
 
Benden kaynaklanan bir bilgi ve uygulama eksikliği evet. Sizin çözümünüz imdadıma yetişti hocam. Teşekkür ederim size ve bzace hocama. İyi ki varsınız.


Sayın bybyby,

bzace'nin çözümü ilk sütun için sonuç veriyor. Dikkat etmeniz gereken formülü yapıştırdıktan sonra yalnızca Enter tuşuna basarak değil "Ctrl + Shift + Enter" tuşlarına basarak hesaplatmanız gerektiğidir.

Başka bir yöntem olarak B1 hücresine;
Kod:
=EĞER(PARÇAAL(A1;1;2)="0x";PARÇAAL(A1;1;MBUL(",";A1)-1);A1)
formülünü, C1 hücresine;
Kod:
=EĞER(PARÇAAL(A1;1;2)<>"0x";"";PARÇAAL(A1;MBUL(",";A1)+1;500))
formünülü yapıştırıp aşağı doğru kopyalayınız.
 
Geri
Üst