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
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
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.
.
 
Katılım
24 Aralık 2010
Mesajlar
11
Excel Vers. ve Dili
office 2008
ö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
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
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));"")
 
Katılım
24 Aralık 2010
Mesajlar
11
Excel Vers. ve Dili
office 2008
ç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));"")
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
ç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.
 
Katılım
24 Aralık 2010
Mesajlar
11
Excel Vers. ve Dili
office 2008
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.
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
1 er harften oluşur ise yapılabilir.Formül uzar.Bundan fazlası konusunda bilgim yok.Fakat forumda çözüm bulan arkadaşlar olur.
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,634
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
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;";")
 
Katılım
24 Aralık 2010
Mesajlar
11
Excel Vers. ve Dili
office 2008
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.
 
Üst