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 ?
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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";"")
 
Katılım
10 Aralık 2014
Mesajlar
2
Excel Vers. ve Dili
2007
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 ?
 
Katılım
31 Ağustos 2004
Mesajlar
146
Excel Vers. ve Dili
iş:Office 2003 Tr/office 2016trk
ev:office 2003 tr/office 2016trk
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.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Katılım
31 Ağustos 2004
Mesajlar
146
Excel Vers. ve Dili
iş:Office 2003 Tr/office 2016trk
ev:office 2003 tr/office 2016trk
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.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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))
 
Katılım
31 Ağustos 2004
Mesajlar
146
Excel Vers. ve Dili
iş:Office 2003 Tr/office 2016trk
ev:office 2003 tr/office 2016trk
Teşekkürler Sayın Yusuf44,
Formülü b den a ya yaparım o zaman :)
Bu arada BJK için tebrikler..
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Teşekkürler :)

Kolay gelsin.
 

D.Ozsahin

Altın Üye
Katılım
25 Mart 2020
Mesajlar
20
Excel Vers. ve Dili
Profesyonel Plus 2016 - Türkçe
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.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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.
 

D.Ozsahin

Altın Üye
Katılım
25 Mart 2020
Mesajlar
20
Excel Vers. ve Dili
Profesyonel Plus 2016 - Türkçe
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")))
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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")
 

D.Ozsahin

Altın Üye
Katılım
25 Mart 2020
Mesajlar
20
Excel Vers. ve Dili
Profesyonel Plus 2016 - Türkçe
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.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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?
 

D.Ozsahin

Altın Üye
Katılım
25 Mart 2020
Mesajlar
20
Excel Vers. ve Dili
Profesyonel Plus 2016 - Türkçe
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
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Bunu örnek excel dosyası şeklinde paylaşır mısınız?
 
Üst