• DİKKAT

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

sütun içindeki iki değeri sınıflandırma

Katılım
24 Aralık 2010
Mesajlar
11
Excel Vers. ve Dili
office 2008
herkese iyi günler arkadaşlar.

benim bir sorunum var.
a hücresindeki ikili sınıfı b hücresinde nasıl gösterebilirim.
arayıp karşınına olması gereken değeri yazdırabilirim.

resimlere göre açıklayayım
kaynak listesinde alfabetik sıralar var.
yapmam gereken listede düşey ara yapınca örneğin a veya b nin karşındaki business buluyor ama aynı hücrede ab olunca bulamıyor.
yardımlarınızı bekliyorum.


https://hizliresim.com/mo8QB2
https://hizliresim.com/r1dArz
https://hizliresim.com/ODdGQ0
 
Merhaba, foruma hoşgeldiniz.

Öncelikle sorularınızı; ekran görüntüsü yerine, gerçek belgenizin özel bilgi içermeyen küçük boyutlu bir kopyası
şeklinde hazırlayacağınız örnek belge üzerinden sorarsanız daha hızlı sonuç alacağınızı belirteyim.
Örnek belgenize, olması gereken sonuçları elle yazıp, bu sonuca nasıl ulaştığınıza ilişkin kısa açıklama da ekleyin.
Aynı hücreye yazdığınız iki harfin düşeyara karşılıkları farklı ise ne yapılacağını mutlaka örneklendirin.

Örnek belge yükleme yöntemine ilişkin kısa açıklama cevabımın altındaki İMZA bölümünde var.
.
 
öncelikle forum kurallarına uymadıysam özür dilerim.
mesaj yazarken dosya ekle bulamadığım ve acil sonuç beklediğim için aklıma bir anda resim geldi. nedense doysa yüklemek gelmedi.
örnek dosyam ektedir.
yardımlarınız için teşekkürler.

http://dosya.co/619qk36v5pdh/DENEME.xlsx.html
 
liste B2 hücresine kopyalayınız.Aşağı çekerek çoğaltınız.
Kod:
=EĞERHATA(EĞER(UZUNLUK(KIRP($A2))-UZUNLUK(YERİNEKOY($A2;" ";""))>0;DÜŞEYARA(KIRP(SOLDAN($A2;BUL(" ";$A2)));kaynak!$A$2:$B$25;2;0)&" / "&DÜŞEYARA(KIRP(PARÇAAL($A2;BUL(" ";$A2);UZUNLUK($A2)));kaynak!$A$2:$B$25;2;0);DÜŞEYARA($A2;kaynak!$A$2:$B$25;2;0));"")
 
çok teşekkür ederim ÇITIR. gerçekten çok işime yaradı. sanıyorum ben daha yeni ufak formüllerle başlıyorum. bu formül için 40 fırın ekmek yemem gerekliydi.




liste B2 hücresine kopyalayınız.Aşağı çekerek çoğaltınız.
Kod:
=EĞERHATA(EĞER(UZUNLUK(KIRP($A2))-UZUNLUK(YERİNEKOY($A2;" ";""))>0;DÜŞEYARA(KIRP(SOLDAN($A2;BUL(" ";$A2)));kaynak!$A$2:$B$25;2;0)&" / "&DÜŞEYARA(KIRP(PARÇAAL($A2;BUL(" ";$A2);UZUNLUK($A2)));kaynak!$A$2:$B$25;2;0);DÜŞEYARA($A2;kaynak!$A$2:$B$25;2;0));"")
 
çok teşekkür ederim ÇITIR. gerçekten çok işime yaradı. sanıyorum ben daha yeni ufak formüllerle başlıyorum. bu formül için 40 fırın ekmek yemem gerekliydi.

Rica ederim.Formülü uzunluğundan dolayı gözünüzde büyütmeyin sizde benzer formül oluşturabilirsiniz.Parçaal ve düşeyara formülünün birleştirilerek uygulanması.Dönüş yaptığınız için teşekkür ederim.Kolay gelsin.
 
Sayın çıtır.
bu yazmış olduğunuz formülde dörtlü kombinasyon yapabilir miyiz?
R R R R gibi birde boşlukları kaldırabilir miyiz? RRRR gibi.

teşekkürler.
 
1 er harften oluşur ise yapılabilir.Formül uzar.Bundan fazlası konusunda bilgim yok.Fakat forumda çözüm bulan arkadaşlar olur.
 
Merhaba,

Kullanıcı tanımlı fonksiyon çözüm aşağıdaki gibidir.
VBA tarafında modül ekleyerek, aşağıdaki kodu yapıştırın.

Kod:
Function rzv(baslık As Long, hedef As Range, imlec As String)

Application.Volatile

Set con = VBA.CreateObject("adodb.Connection")

con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=no"""

ss = Split(hedef, " ")

For Each met In ss

ss(x) = "'" & met & "'"

x = x + 1
Next met

met = Join(ss, ",")

sut = baslık + 1

For a = 2 To sut

sut1 = sut1 & "," & "f" & a


Next a

sut = VBA.Mid(sut1, 2, 99)

sorgu = "select " & sut & " from[kaynak$] where f1 IN (" & met & ") "
Set rs = con.Execute(sorgu)

deg = rs.getrows

For Each met In deg

met1 = met & imlec & met1

Next met

met = VBA.Left(met1, Len(met1) - 1)
rzv = met

End Function

Kullanımı

baslık = kullanılmasını istediğiniz sütun sayısı. Ben yanyana sütunlar olabileceğini düşünerek öyle yaptım. Eğer yoksa oraya 1 diyebilirsiniz.

hedef = Kaynakta aramak istediğiniz sınıf türü

imlec= sonuçları göstermek için kullanacağınız ayraç. Eğer girilmezse otomatik olarak "/" kullanılır.

Kod:
=rzv(1;A3;";")
 
yardımlarınız için teşekkür ederim kuvari.

sanıyorum ben beceremedim bu makroyu.
excel de öğrenmem gereken daha çok şey var.
 
Geri
Üst