• DİKKAT

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

Koşula göre değer atama

Katılım
10 Aralık 2014
Mesajlar
2
Excel Vers. ve Dili
2007
Selamlar...
Değerli Arkadaşlar;
Excelde bir sütunda ''x'' yazıyorsa öbür sütunda aynı satırda ''y'' değeri atasın, yazsın....
Bunun formülü nedir ?
 
Aşağıdaki kodları ilgili sayfanın kod bölümüne yapıştırırsanız:
A sütunundaki herhangi bir hücre x ya da X ise sağındaki hücrenin Y olmasını sağlar:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
If Target = "x" Or Target = "X" Then Target.Offset(0, 1) = "Y"
End Sub

Bunu formülle yapmak isterseniz örneğin A1 hücresi x iken B1 hücresinin y olmasını istiyorsanız B1 hücresine aşağıdaki formülü yazmalısınız:

Kod:
=EĞER(A1="x";"y";"")
 
YUSUF hocam çok teşekkür ederim...Peki formülle yazdığınız kısımda sadece b1 ve a1 hücreleri değilde tüm a sütununda x yazılı yerlere b sütununda aynı satıra y değeri atasın dersek formülü nasıl değiştirmeliyiz ?
 
Merhaba;
yeni konu açmamak için buradan sorsam hemen hemen benzer isteğim.
a2 de GARAN yazıyorsa
a3 e GARAN yazınca onu GARAN1 e çevirecek kod arıyorum.
 
YUSUF hocam çok teşekkür ederim...Peki formülle yazdığınız kısımda sadece b1 ve a1 hücreleri değilde tüm a sütununda x yazılı yerlere b sütununda aynı satıra y değeri atasın dersek formülü nasıl değiştirmeliyiz ?

B1'e yukardaki formülü yazdıktan sonra başka hangi hücrelerde olmasını istiyorsanız B1'i kopyalayıp o hücrelere yapıştırabilirsiniz.
 
Merhaba;
yeni konu açmamak için buradan sorsam hemen hemen benzer isteğim.
a2 de GARAN yazıyorsa
a3 e GARAN yazınca onu GARAN1 e çevirecek kod arıyorum.

Aşağıdaki kodu deneyiniz:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A3")) Is Nothing Then Exit Sub
If Target = "GARAN" And [A2] = "GARAN" Then Target = "GARAN1"
End Sub
 
Sayın Yusuf44
Soruyu eksik sorduğum için kusura bakmayın.
A2 garan
A3 garan1 oldu sizin kodla fakat
A4 e gelince garan2 olmalı
A5 erd yazdığımda daha üstte olmadığı için birşey yapmıcak
A6 ya erd yazarsam erd1 yazacak

Yani hücre 65xxx e kadar değişik değerler olabiliyor.
Ben target daki yada hücre değeri ni bir arttıracak kod arıyorum.
Kod içinde tekrar teşekkür ederim.
 
Bunu makroyla nasıl yaparız bilemedim. Ancak yardımcı sütun kullanarak formülle yapılabilir. Örneğin a sütununda verileriniz varsa B1 hücresine aşağıdaki formülü girerseniz B sütununda sizin istediğiniz sonuçlar çıkacaktır. Yalnız bu durumda A sütununda sadece metin girmelisiniz. Yani GARAN için GARAN1, GARAN2 vs girmenize gerek yok, A sütununda GARAN, GARAN, GARAN olduğunda bu formülle B sütununda GARAN, GARAN1, GARAN2 sonuçları çıkacaktır:

Kod:
=EĞER(EĞERSAY($A$1:A1;A1)=1;A1;A1&EĞERSAY($A$1:A1;A1))
 
Teşekkürler Sayın Yusuf44,
Formülü b den a ya yaparım o zaman :)
Bu arada BJK için tebrikler..
 
Teşekkürler :)

Kolay gelsin.
 
Aşağıdaki kodları ilgili sayfanın kod bölümüne yapıştırırsanız:
A sütunundaki herhangi bir hücre x ya da X ise sağındaki hücrenin Y olmasını sağlar:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
If Target = "x" Or Target = "X" Then Target.Offset(0, 1) = "Y"
End Sub

Bunu formülle yapmak isterseniz örneğin A1 hücresi x iken B1 hücresinin y olmasını istiyorsanız B1 hücresine aşağıdaki formülü yazmalısınız:

Kod:
=EĞER(A1="x";"y";"")

Selamlar herkese,

konunun üzerinden baya zaman geçmiş ama takıldığım bir yer var yardımcı olursanız sevinirim
Yapmak istediğimi formülle bir yere kadar yapabiliyorum ama ondan sonraki detaylarda tıkandım. Formül ya da kodlama ile bana bu konuda yardımcı olabilirseniz çok sevinirim.

Örneğin;

G8 Sütunundaki her bir satıra ayrı ayrı MG, MD, MA gibi bilgi girdim. Ama bu sütun içerisinde CE, AB, ED gibi farklı kısatmalar da olacak. K8 sütununda da o kısaltmanın baş harfi ne ise onun açıklaması yazacak. Şöyleki G8'de MD yazıyorsa K8'de Mimari yazacak. EB yazıyorsa Elektrik yazacak. Baş harfinden sonraki harf önemli değil benim için. Yardımlarınızı bekliyorum arkadaşlar.
 
Hangi baş harf için hangi açıklamanın yazılacağı belli ise işlem yapılabilir. Bunun için o açıklamaların neler olduğunu belirtmelisiniz.
 
Hangi baş harf için hangi açıklamanın yazılacağı belli ise işlem yapılabilir. Bunun için o açıklamaların neler olduğunu belirtmelisiniz.

Tamamını belirtmedim bilhassa örnekten devam ederim ben kendim diye. P=Proses, M=Mimari, B=Betonarme, C=Çelik, K=Makine, E=Elektrik, A=Altyapı, T=Tesisat, G=Geoteknik, Y=Yangın, L=Peyzaj . Toplamla 11 adet.
3 tanesi için hazırladım deneme amaçlı ama sadece B yazarsam Betonarme yazıyor açıklamasında. Hücreyi boş bırakırsam da n/a yazıyor.
Ben BG,BD, MA, MZ gibi kısaltmalar yazacağım için sadece baş harfini kıstas alsın istiyorum.
Teşekkürler geri dönüşünüz için.
=EĞER(G8:G26="b";"BETONARME";EĞER(G8:G26="C";"ÇELİK";EĞER(G8:G26="M";"MİMARİ";"n/a")))
 
Aşağıdaki formülü G8'deki değer için deneyin:

=EĞER(G8="";"";ARA(SOLDAN(G8;1);{"A"\"B"\"C"\"E"\"G"\"K"\"L"\"M"\"P"\"T"\"Y"};{"Altyapı"\"Betonarme"\"Çelik"\"Elektrik"\"Geoteknik"\"Makine"\"Peyzaj"\"Mimari"\"Proses"\"Tesisat"\"Yangın"}))

Formül G8 boşsa boş bırakıyor, doluysa ilk harfini dizide arayıp karşılık gelen ifadeyi getiriyor. Yalnız eğer belirtilen kod dizide yoksa en yakın değeri getiriyor.

İsterseniz aşağıdaki formülü de kullanabilirsiniz. Bu formülde ise belirtilen kod dizide yoksa "Hatalı kod" şeklinde sonuç veriyor:

=EĞERHATA(EĞER(G8="";"";ELEMAN(KAÇINCI(SOLDAN(G8;1);{"A"\"B"\"C"\"E"\"G"\"K"\"L"\"M"\"P"\"T"\"Y"};0);"Altyapı";"Betonarme";"Çelik";"Elektrik";"Geoteknik";"Makine";"Peyzaj";"Mimari";"Proses";"Tesisat";"Yangın"));"Hatalı kod")
 
Aşağıdaki formülü G8'deki değer için deneyin:

=EĞER(G8="";"";ARA(SOLDAN(G8;1);{"A"\"B"\"C"\"E"\"G"\"K"\"L"\"M"\"P"\"T"\"Y"};{"Altyapı"\"Betonarme"\"Çelik"\"Elektrik"\"Geoteknik"\"Makine"\"Peyzaj"\"Mimari"\"Proses"\"Tesisat"\"Yangın"}))

Formül G8 boşsa boş bırakıyor, doluysa ilk harfini dizide arayıp karşılık gelen ifadeyi getiriyor. Yalnız eğer belirtilen kod dizide yoksa en yakın değeri getiriyor.

İsterseniz aşağıdaki formülü de kullanabilirsiniz. Bu formülde ise belirtilen kod dizide yoksa "Hatalı kod" şeklinde sonuç veriyor:

=EĞERHATA(EĞER(G8="";"";ELEMAN(KAÇINCI(SOLDAN(G8;1);{"A"\"B"\"C"\"E"\"G"\"K"\"L"\"M"\"P"\"T"\"Y"};0);"Altyapı";"Betonarme";"Çelik";"Elektrik";"Geoteknik";"Makine";"Peyzaj";"Mimari";"Proses";"Tesisat";"Yangın"));"Hatalı kod")

Çok teşekkür ediyorum çok sağolun. Dediğiniz gibi yaptım çalışıyor tıkır tıkır.
Aradığım başka bir konu daha var ama zahmet olmazsa bunda da yardım edebilir misiniz. Forumda arattım benzer bir konu buldum ama tek bir kelime araması için o.
Forumda bulduğum bu formül =EĞER(EHATALIYSA((BUL("ABC";C2)));"HAYIR";"EVET") bu formülde C2 ABC metni içeriyorsa sonuç Evet, içermiyorsa sonuç Hayır yazacak.

Ama benim istediğim ise E8 sütunu içerisinde yanyana olarak PZ,MZ,BZ,CZ,KZ,EH,AZ,TZ,GR,GZ,YZ kısatmaları geçiyorsa L8 sütununa Hesap Raporu, bu kısatmalar geçmiyorsa yine L8 sütununda Çizim yazmasını istiyorum.
Yardımcı olursanız çok sevineceğim teşekkür ediyorum ilginize.
 
Tam olarak anlayamadım. Bu kısaltmalardan herhangi biri mi, tümü birden mi yoksa birkaç tanesi olunca mı işlem yapılacak? Bir de örnekte veri hücrede nasıl geçiyor?
 
Tam olarak anlayamadım. Bu kısaltmalardan herhangi biri mi, tümü birden mi yoksa birkaç tanesi olunca mı işlem yapılacak? Bir de örnekte veri hücrede nasıl geçiyor?

Evet bu kısaltmalardan (PZ,MZ,BZ,CZ,KZ,EH,AZ,TZ,GR,GZ,YZ) herhangi biri için. Ekran görüntüsü koydum daha anlaşılır olsun diye.
Örnekte EH ve BZ kısatmaları geçiyor, karşılığında Hesap Raporu yazıyor. Geçmeyenlerde Çizim yazıyor.
Ekran Alıntısı.PNG
 
Bunu örnek excel dosyası şeklinde paylaşır mısınız?
 
Geri
Üst