Sayısal veri aratmak

Katılım
6 Mayıs 2011
Mesajlar
172
Excel Vers. ve Dili
TR
Merhaba,

A1-A20 hücrelerin içinde B1 hücresindeki değeri arattıp C1 hücresine yazdırtmak istiyorum,
Fakat B1 hücresindeki değer sayı da olabilir metin de olabilir. A1-A20 arasında yer alan verilerin, B1 hücresindeki veriyi içinde bulunduruyorsa C1 ye yazdırsın istiyorum.

( Örnek; B1 hücresinde 45 sayısal değer olsun, Bu değeri .....içinde geçenleri bul şeklinde A1-A20 hücrelerinde bulalım.

A1-A20 hücrelerinde
A5 hücresinde 124512 olsun,
A6 hücresinde 4599 olsun,
B1 deki değerin .....içinde geçtiği A hücreleri A5 ve A6 dır ve
bu değerleri C1-C2 ye yazdırsın.

Bu komutlar işe yaramadı;
=DÜŞEYARA("*"&B1&"*";A1:A20;1;YANLIŞ)


Not: vereceğiniz cevap dizi ve makro ile yapılmış olmasın lütfen.Örnek
dosya ektedir ssKitap2.xls


Saygılarımla,
 

Ekli dosyalar

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,218
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
yanıt

Makro ile çözüm isterseniz bunu kullanın.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim sat As Integer
Dim s As Integer
If Intersect(Target, [b1]) Is Nothing Then Exit Sub
[c1:c100] = ""
s = 1
    For sat = 1 To Cells(65536, "a").End(xlUp).Row
        If Cells(sat, "a") Like "*" & [b1] & "*" Then
            Cells(s, "c") = Cells(sat, "a").Value
            s = s + 1
        End If
    Next
End Sub
 

Ekli dosyalar

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
Merhaba,

A1-A20 hücrelerin içinde B1 hücresindeki değeri arattıp C1 hücresine yazdırtmak istiyorum,
Fakat B1 hücresindeki değer sayı da olabilir metin de olabilir. A1-A20 arasında yer alan verilerin, B1 hücresindeki veriyi içinde bulunduruyorsa C1 ye yazdırsın istiyorum.

( Örnek; B1 hücresinde 45 sayısal değer olsun, Bu değeri .....içinde geçenleri bul şeklinde A1-A20 hücrelerinde bulalım.

A1-A20 hücrelerinde
A5 hücresinde 124512 olsun,
A6 hücresinde 4599 olsun,
B1 deki değerin .....içinde geçtiği A hücreleri A5 ve A6 dır ve
bu değerleri C1-C2 ye yazdırsın.

Bu komutlar işe yaramadı;
=DÜŞEYARA("*"&B1&"*";A1:A20;1;YANLIŞ)


Not: vereceğiniz cevap dizi ve makro ile yapılmış olmasın lütfen.Örnek
dosya ektedir ssKitap2.xls


Saygılarımla,
.

Dosyanız ekte.

Daha geniş bilgi için:

http://www.excel.web.tr/f122/formulle-suzme-uygulamalary-t86938.html

.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Yardımcı sütun kullanarak dizi özelliğini kullanmadan çözüm üretebiliriz. Ekteki örnek dosyayı incelermisiniz.
 

Ekli dosyalar

Katılım
6 Mayıs 2011
Mesajlar
172
Excel Vers. ve Dili
TR
.

Dosyanız ekte.

Daha geniş bilgi için:

http://www.excel.web.tr/f122/formulle-suzme-uygulamalary-t86938.html

//////////////////////////////////////////////////////////////////////////////////////

Teşekkür ederim, güzel şeyler yapmışsınız, formül tıkır tıkır işliyor, fakat dizi söz konusu olunca 5000 satıra uyguladığımızda çok yavaşlatıyor, anladığım kadarıyla dizi olmadan yapılamiyor bu işlem. Bunu uygulayacağım ama yazdığım proğramda bir çok formüllerim değişeceğinden şu sorularıma da cevap verirseniz sanırım problem çözülmüş olur.

verdiğiniz formül, ....içinde geçeni buluyor,
1) .....ile başlayanı nasıl bulurum ?
2) .....ile başlayanın satır numarasını nasıl bulabilirim ?

Teşekkür ederim,
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
.

Dosyanız ekte.

Daha geniş bilgi için:

http://www.excel.web.tr/f122/formulle-suzme-uygulamalary-t86938.html

//////////////////////////////////////////////////////////////////////////////////////

Teşekkür ederim, güzel şeyler yapmışsınız, formül tıkır tıkır işliyor, fakat dizi söz konusu olunca 5000 satıra uyguladığımızda çok yavaşlatıyor, anladığım kadarıyla dizi olmadan yapılamiyor bu işlem. Bunu uygulayacağım ama yazdığım proğramda bir çok formüllerim değişeceğinden şu sorularıma da cevap verirseniz sanırım problem çözülmüş olur.

verdiğiniz formül, ....içinde geçeni buluyor,
1) .....ile başlayanı nasıl bulurum ?
2) .....ile başlayanın satır numarasını nasıl bulabilirim ?

Teşekkür ederim,
.

Güzel şeyler yapıyoruz da incelenmedikten sonra ne anlamı var?

1. Sorunuzun cevabı verdiğim linkteki dosyanın S6 sayfasında var.

2. Sorunuza gelince sözkonusu sayfada F2 hücresine;

=MATCH(E2;liste;0)+1 yazıp aşağıya çekerseniz size satır numaralarını verecektir.

.
 
Katılım
6 Mayıs 2011
Mesajlar
172
Excel Vers. ve Dili
TR
.

Güzel şeyler yapıyoruz da incelenmedikten sonra ne anlamı var?

1. Sorunuzun cevabı verdiğim linkteki dosyanın S6 sayfasında var.

2. Sorunuza gelince sözkonusu sayfada F2 hücresine;

=MATCH(E2;liste;0)+1 yazıp aşağıya çekerseniz size satır numaralarını verecektir.

.
///////////////////////////////////////////////////////////////////////////////

Haklısınız ama o formülleri incellediğimde anlamakatan zorlanıyorum ve promlemlerimi çözdeme kullanamiyorum, en ufak bir ipucu açıklama yok, mesela S6 SAYFASINDA formül o kadar uzun ki hangi aralığa uygulayacağmı çözemedim, misal s6 sayfası A38 satırına Ahhmet yazıyorum ve C2 satırına T yerine Ahh yazıyorum, Ahh ile başlayanı bulamiyor. A sütunu neye göre belirlenmiş anlayamadım. Bilmeyen biri olarak buyrun deneyin...

Yani belki öz eleştiri yapıyorum ama, bir proğramın Mükemmel yazmak kadar basit, anlaşılr ve kolay olması da elzemdır.

herneyse boşverin,

verdiğiniz =MATCH(E2;liste;0)+1 çalışmadı, ben Office 2010 Türkçe kullaniyorum,


Saygılarımla,
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
///////////////////////////////////////////////////////////////////////////////

Haklısınız ama o formülleri incellediğimde anlamakatan zorlanıyorum ve promlemlerimi çözdeme kullanamiyorum, en ufak bir ipucu açıklama yok, mesela S6 SAYFASINDA formül o kadar uzun ki hangi aralığa uygulayacağmı çözemedim, misal s6 sayfası A38 satırına Ahhmet yazıyorum ve C2 satırına T yerine Ahh yazıyorum, Ahh ile başlayanı bulamiyor. A sütunu neye göre belirlenmiş anlayamadım. Bilmeyen biri olarak buyrun deneyin...

Yani belki öz eleştiri yapıyorum ama, bir proğramın Mükemmel yazmak kadar basit, anlaşılr ve kolay olması da elzemdır.

herneyse boşverin,

verdiğiniz =MATCH(E2;liste;0)+1 çalışmadı, ben Office 2010 Türkçe kullaniyorum,


Saygılarımla,
.

Özeleştiri tamam da...

Özeleştiri tutarlı ve mantıklı olmalı.

1. Ben insanlara işkence olsun diye zor formüller yazmıyorum. Kolay ve basit bir şey olsa neden yazmıyayım? Sizce ben sadist miyim?

2. Ben bu formülleri açıklamaya kalksam, Bu konuda yarım olmasa çeyrek bir kitap yazmalıyım. Buna da zamanım yok. Böyle bir şeyi benden beklemezsiniz herhalde...

3. Olmuyor, yapamadım, Türkçe Excel kullanıyorum dediğiniz konu ile ilgili dosyayı ekte gönderiyorum. Nasıl oluyor muymuş?

4. MATCH =KAYDIR fonksiyonunun İngilizcesini verdim. Siz onu araştırmadan Excel Türkçe kullanıyorum diyorsunuz. Ben sizden tüm İngilizce Fonksiyonların Türkçesini istemedim. sadece bir fonksiyonun Türkçesini bulup yazacaktınız. Excel Dersanesinde de bu konu ile ilgili çalışmalar var.

Sonra ben araştırmıyorsunuz, incelemiyorsunuz dediğimde bana kızıyorsunuz.

Ben ne yapabilirim?


.
 

Ekli dosyalar

Katılım
6 Mayıs 2011
Mesajlar
172
Excel Vers. ve Dili
TR
Selamlar,

Yardımcı sütun kullanarak dizi özelliğini kullanmadan çözüm üretebiliriz. Ekteki örnek dosyayı incelermisiniz.
/////////////////////////////////////////////////////////////////////////////////

merhaba,
uyguladığınız mantık ve formül işe yaradı ve dizi formülüne göre çok daha hızlı çalışıyor. Teşekkür ederim, peki .....ile başlayanları nasıl bulabilirim ?


Saygılarımla,
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

#4 nolu mesajımdaki örnek dosyada D1 yerine C1 hücresini formül içinde kullanmışım. Hatalı olmuş. Mesaj ekindeki dosyayı güncelledim.

İle başlayanlar için B1 hücresindeki formülü aşağıdaki şekilde değiştirip alt hücrelere sürükleyiniz.

Kod:
=EĞER(A1="";"";EĞER(SOLDAN(A1;UZUNLUK($D$1))=""&$D$1;EĞER(SATIR()=1;1;MAK(DOLAYLI("B$1:B"&SATIR()-1))+1);""))
 
Üst