• DİKKAT

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

makro ile eğer formülü kullanmak

Katılım
21 Ekim 2016
Mesajlar
17
Excel Vers. ve Dili
excell 2010
tablomun A sütununda
41010010
41010020
41010030
.
.
41051430
41051440 sayılardan oluşan 2730 satırlık verim var. yapmak istedim
=eğer(a1="41010010;41010050";"adana"eğer(a1="41010060;41010090";"mersin))
belirleyeceğim belli aralıktaki sayılara bir isim vermek.

yardımcı olabilirmisiniz.
 
Merhaba;
Sayfanın kod bölümüne;

Sub analiz()
Application.ScreenUpdating = False
On Error Resume Next
Set s1 = ThisWorkbook.Worksheets("Sayfa1")
For i = 1 To s1.Range("A65536").End(xlUp).Row
If s1.Cells(i, 1) >= 41010010 And s1.Cells(i, 1) <= 41010050 Then s1.Cells(i, 2) = "adana"
If s1.Cells(i, 1) >= 41010060 And s1.Cells(i, 1) <= 41010090 Then s1.Cells(i, 2) = "mersin"
'yukardaki satırı , sayısal kriter ve karşılığını değiştirerek çoğaltabilirsiniz.
Next i
Application.ScreenUpdating = True
MsgBox "İşlem TAMAM.", vbInformation
End Sub

Kodlarını yerleştirerek bir butona bağlayın.
İyi çalışmalar.
 
Elinize sağlık çok teşekkür ederim. büyük kolaylık oldu.
 
makroda eğer formülüne ek

Merhaba;
Sayfanın kod bölümüne;

Sub analiz()
Application.ScreenUpdating = False
On Error Resume Next
Set s1 = ThisWorkbook.Worksheets("Sayfa1")
For i = 1 To s1.Range("A65536").End(xlUp).Row
If s1.Cells(i, 1) >= 41010010 And s1.Cells(i, 1) <= 41010050 Then s1.Cells(i, 2) = "adana"
If s1.Cells(i, 1) >= 41010060 And s1.Cells(i, 1) <= 41010090 Then s1.Cells(i, 2) = "mersin"
'yukardaki satırı , sayısal kriter ve karşılığını değiştirerek çoğaltabilirsiniz.
Next i
Application.ScreenUpdating = True
MsgBox "İşlem TAMAM.", vbInformation
End Sub

Kodlarını yerleştirerek bir butona bağlayın.
İyi çalışmalar.

Ek olarak ; aynı listede içerisinde harf olan birimlere de bir isim eklemek istiyorum yardımcı olabilirmisiniz.

4400A010 ise "adana"
4410A010 ise "hatay"
4419A010 ise "mersin"
4414A010 ise "konya" gibi
 
Merhaba;
Kodları;

Sub analiz()
Application.ScreenUpdating = False
On Error Resume Next
Set s1 = ThisWorkbook.Worksheets("Sayfa1")
For i = 1 To s1.Range("A65536").End(xlUp).Row

If s1.Cells(i, 1) >= 41010010 And s1.Cells(i, 1) <= 41010050 Then s1.Cells(i, 2) = "adana"
If s1.Cells(i, 1) >= 41010060 And s1.Cells(i, 1) <= 41010090 Then s1.Cells(i, 2) = "mersin"
If s1.Cells(i, 1) = "4400A010" Then s1.Cells(i, 2) = "adana"
If s1.Cells(i, 1) = "4410A010" Then s1.Cells(i, 2) = "hatay"
If s1.Cells(i, 1) = "4419A010" Then s1.Cells(i, 2) = "mersin"
If s1.Cells(i, 1) = "4414A010" Then s1.Cells(i, 2) = "konya"

'yukardaki satırı , sayısal kriter ve karşılığını değiştirerek çoğaltabilirsiniz.
Next i
Application.ScreenUpdating = True
MsgBox "İşlem TAMAM.", vbInformation
End Sub

Şeklinde düzenleyin.
İyi çalışmalar.
 
Merhaba;
Kodları;

Sub analiz()
Application.ScreenUpdating = False
On Error Resume Next
Set s1 = ThisWorkbook.Worksheets("Sayfa1")
For i = 1 To s1.Range("A65536").End(xlUp).Row

If s1.Cells(i, 1) >= 41010010 And s1.Cells(i, 1) <= 41010050 Then s1.Cells(i, 2) = "adana"
If s1.Cells(i, 1) >= 41010060 And s1.Cells(i, 1) <= 41010090 Then s1.Cells(i, 2) = "mersin"
If s1.Cells(i, 1) = "4400A010" Then s1.Cells(i, 2) = "adana"
If s1.Cells(i, 1) = "4410A010" Then s1.Cells(i, 2) = "hatay"
If s1.Cells(i, 1) = "4419A010" Then s1.Cells(i, 2) = "mersin"
If s1.Cells(i, 1) = "4414A010" Then s1.Cells(i, 2) = "konya"

'yukardaki satırı , sayısal kriter ve karşılığını değiştirerek çoğaltabilirsiniz.
Next i
Application.ScreenUpdating = True
MsgBox "İşlem TAMAM.", vbInformation
End Sub

Şeklinde düzenleyin.
İyi çalışmalar.

Bu aşamadan sonra tablo;

41010010 merkez yd borc
41010020 merkez yd thly
41010030 merkez yd müşteri
41010040 merkez yd tknk
41010010 merkez y5 borc
41010020 merkez y5 thly
41010030 merkez y5 müşteri
41010040 merkez y5 tknk şeklinde 2-3 bin satırdan oluşmakta; yapmak istediğim sayfa ikide tabloda

ilgili sütüna çokeğersay uygulayarak; b sütünü merkez olan hemde yd olan borc ve ve tknk leri ilgili sütuna saydırarak toplam sayıyı,

ilgili sütüna çokeğersay uygulayarak; b sütünü merkez olan hemde yd olan thlt ve ve müşteri leri ilgili sütuna saydırarak toplam sayıyı,

ilgili sütüna çokeğersay uygulayarak; b sütünü merkez olan hemde y5 olan borc ve ve tknk leri ilgili sütuna saydırarak toplam sayıyı,

ilgili sütüna çokeğersay uygulayarak; b sütünü merkez olan hemde yd olan thlt ve ve müşteri leri ilgili sütuna saydırarak toplam sayıyı,

akabinde diğer iller için de aynı işlemi yapmak "adana","mersin" gibi


sayfa 2 deki tablodaki ilgili sütünlere getirmek.
 
Merhaba;
"sayfa 2 deki tablodaki ilgili sütünlere getirmek."
Bunlar global terimler...
Örnek dosya ekleyin.
İyi çalışmalar.
 
Bu aşamadan sonra tablo;

41010010 merkez yd borc
41010020 merkez yd thly
41010030 merkez yd müşteri
41010040 merkez yd tknk
41010010 merkez y5 borc
41010020 merkez y5 thly
41010030 merkez y5 müşteri
41010040 merkez y5 tknk şeklinde 2-3 bin satırdan oluşmakta; yapmak istediğim sayfa ikide tabloda

ilgili sütüna çokeğersay uygulayarak; b sütünü merkez olan hemde yd olan borc ve ve tknk leri ilgili sütuna saydırarak toplam sayıyı,

ilgili sütüna çokeğersay uygulayarak; b sütünü merkez olan hemde yd olan thlt ve ve müşteri leri ilgili sütuna saydırarak toplam sayıyı,

ilgili sütüna çokeğersay uygulayarak; b sütünü merkez olan hemde y5 olan borc ve ve tknk leri ilgili sütuna saydırarak toplam sayıyı,

ilgili sütüna çokeğersay uygulayarak; b sütünü merkez olan hemde yd olan thlt ve ve müşteri leri ilgili sütuna saydırarak toplam sayıyı,

akabinde diğer iller için de aynı işlemi yapmak "adana","mersin" gibi


sayfa 2 deki tablodaki ilgili sütünlere getirmek.
link aşağıdadır.

https://docs.google.com/spreadsheet...WILx7YWNySe2DnmB1dRA3436Xs/edit#gid=762942414
 

Sayfa 2 de;

Tali Kesme sütününa ilgili bölgeye ait"merkez"."alaca" "boğazkale" herbiri için;

tali kesme merkez= sayfa1 de b sütünü merkez hemde e sütünü yd olacak ve "thly" ve "mstst" olanları saydırarak toplamı

kesme merkez= sayfa1 de b sütünü merkez hemde e sütünü yd olacak ve "borç"tknk" ve"boş" olanları saydırarak toplamı

diğer bölgeler içinde aynı işlemi yapmak


tali açma merkez= sayfa1 de b sütünü merkez hemde e sütünü y5 olacak ve "thly" ve "mstst""yents" olanları saydırarak toplamı

amça merkez = sayfa1 de b sütünü merkez hemde e sütünü y5 olacak ve "tknk" ve "borç""kaçak" olanları saydırarak toplamı

diğer bölgeler ile de aynı toplamı bulmak
 
Merhaba.

Anladığım kadarıyla, çok kriterli sayma işlemi yapmak istiyorsunuz.
Formül ile çözüm isterseniz aşağıdaki şekilde olabilir.

Örneğin Sayfa2 D2 hücresi için aşağıdaki formülü kullanabilirsiniz (formülü aşağı doğru kopyalayın) .
Mavi olanlar tekli, kırmızı olan ise çoklu kriterler.
(formüle yazılacak kriterlerin Sayfa1'de ilgili sütundaki metnin birebir aynı olmasına dikkat ediniz)
Diğerlerini buna göre düzenleyebilirsiniz.
.
Kod:
=TOPLA.ÇARPIM((Sayfa1!$B$2:$B$1423=[B][COLOR="Blue"]$A2[/COLOR][/B])*(Sayfa1!$E$2:$E$1423=[B][COLOR="blue"]"YD"[/COLOR][/B])*(Sayfa1!$C$2:$C$1423=[B][COLOR="Red"]{"BORC";"TKNK";""}[/COLOR][/B]))
 
Engin Bey Tanımlamanızı;
Sayfa2 sayfasında 2. satır için;
Sayfa1 de B sütunu "merkez" olanlar ve Sayfa1 de E sütunu "yd" olanlar ve Sayfa1 de C sütunu "thly" ve "mstst" olanların sayısı Sayfa2 de B2 hücresine sayılacak.
Şeklinde ve devamında yapsaydınız isteğinizi anlamam kolaylaşacaktı.
Sayfa1 ve Sayfa2 deki başlıklar çok farklı . Hangi sayı nereye yazılacak belli değil?

Alternatif olsun.
İnceleyin.
İyi çalışmalar.

Link:
http://s5.dosya.tc/server3/rkiq5m/Engn1981-FORMUL_YENI.zip.html
 

Ekli dosyalar

Engin Bey Tanımlamanızı;
Sayfa2 sayfasında 2. satır için;
Sayfa1 de B sütunu "merkez" olanlar ve Sayfa1 de E sütunu "yd" olanlar ve Sayfa1 de C sütunu "thly" ve "mstst" olanların sayısı Sayfa2 de B2 hücresine sayılacak.
Şeklinde ve devamında yapsaydınız isteğinizi anlamam kolaylaşacaktı.
Sayfa1 ve Sayfa2 deki başlıklar çok farklı . Hangi sayı nereye yazılacak belli değil?

Alternatif olsun.
İnceleyin.
İyi çalışmalar.

Link:
http://s5.dosya.tc/server3/rkiq5m/Engn1981-FORMUL_YENI.zip.html

formüle ettim ancak sayılarda tutarsızlar ve makroyu çalıştırdığımda uzun süre dönüyor ve sonuçlanmıyor.

sayfa ikide asıl yapmak istediğimi förmülde uyguladım.

sayfa2 de c3 sütünü için;
=TOPLA.ÇARPIM((Sayfa1!$B$2:$B$14976="merkez")*(Sayfa1!$C$2:$C$14976="Y2")*(Sayfa1!$D$2:$D$14976={"BOS";""}))

sayfa2 de d3 sütünü için;
=TOPLA.ÇARPIM((Sayfa1!$B$2:$B$14976="merkez")*(Sayfa1!$C$2:$C$14976="YD")*(Sayfa1!$D$2:$D$14976={"BORC";"TEKNIK";"KACAK";"BOS";""}))

sayfa2 de h3 için;
=TOPLA.ÇARPIM((Sayfa1!$B$2:$B$14976="merkez")*(Sayfa1!$C$2:$C$14976="Y5")*(Sayfa1!$D$2:$D$14976={"BORC";"TEKNIK";"KACAK";"MSTIST";"BOS";""}))

sayfa2 de j3 için;
=TOPLA.ÇARPIM((Sayfa1!$B$2:$B$14976="merkez")*(Sayfa1!$C$2:$C$14976="Y5")*(Sayfa1!$D$2:$D$14976={"THLYE";"YENTST";""}))

diğer bölgeler içinde ayrı ayrı förmül ettim.

ayrıca dosyayı ya ekliyor.


http://s4.dosya.tc/server3/8bb4r0/hesapalama.zip.html
 
DÜZELTME ;
formüle ettim ancak sayılarda tutarsızlar ve makroyu çalıştırdığımda uzun süre dönüyor ve sonuçlanmıyor.

sayfa ikide asıl yapmak istediğimi förmülde uyguladım.

sayfa2 de c3 sütünü için;
=TOPLA.ÇARPIM((Sayfa1!$B$2:$B$14976="merkez")*(Say fa1!$C$2:$C$14976="Y2")*(Sayfa1!$D$2:$D$14976={"BO S";""}))

sayfa2 de d3 sütünü için;
=TOPLA.ÇARPIM((Sayfa1!$B$2:$B$14976="merkez")*(Say fa1!$C$2:$C$14976="YD")*(Sayfa1!$D$2:$D$14976={"BO RC";"TEKNIK";"KACAK";"BOS";""}))

SAYFA2 DE f3 için;
=TOPLA.ÇARPIM((Sayfa1!$B$2:$B$14976="merkez")*(Sayfa1!$C$2:$C$14976="YD")*(Sayfa1!$D$2:$D$14976={"THLYE";"MSTIST";""}))

sayfa2 de h3 için;
=TOPLA.ÇARPIM((Sayfa1!$B$2:$B$14976="merkez")*(Say fa1!$C$2:$C$14976="Y5")*(Sayfa1!$D$2:$D$14976={"BO RC";"TEKNIK";"KACAK";"MSTIST";"BOS";""}))

sayfa2 de j3 için;
=TOPLA.ÇARPIM((Sayfa1!$B$2:$B$14976="merkez")*(Say fa1!$C$2:$C$14976="Y5")*(Sayfa1!$D$2:$D$14976={"TH LYE";"YENTST";""}))

diğer bölgeler içinde ayrı ayrı förmül ettim.

ayrıca dosyayı ya ekliyor.
 
sayfa2 de;

c3 hücresine; sayfa 1 de b sütünü merkez ve c sütünü y2 olmak koşuluyla; merkez olan y2 lerin sayısı getirmek.

d3 hücresine; sayfa1 de b sütünü merkez ve c sütünü yd olmak koşuluyla; merkez olan ve c sütününda BORC";"TEKNIK";"KACAK";"BOS olanaların sayısı getirmek,

f3 hücresine; sayfa1 de b sütünü merkez ve c sütünü yd olmak koşuluyla; merkez olan ve c sütününda "THLYE";"MSTIST olanaların sayısı getirmek,

h3 hücresine; sayfa1 de b sütünü merkez ve c sütünü y5 olmak koşuluyla; merkez olan ve c sütününda BORC";"TEKNIK";"KACAK";"BOS olanaların sayısı getirmek,

j3 hücresine; sayfa1 de b sütünü merkez ve c sütünü y5 olmak koşuluyla; merkez olan ve c sütünüda {"THLYE";"YENTST" olanları toplam sayısı getirmek.
 
Tekrar merhaba.
Sanırım benim verdiğim formüllerden bahsediyorsunuz.
Ben BOŞ ibaresinden hücrenin boş olması seçeneğini anlamıştım.
Verdiğim formülün son kısmını {"BORC";"TKNK";"BOS"}
 
Tekrar merhaba;

yukarda belirtiğim gibi formülün yukarısına BOŞ seçeneğini ekledim. Ancak sayılarda tutarsızlık yani eksik hesaplama var.

Ancak göndermiş olduğunuz makroyu uyguladığımda en fazla 2 dk içinde tamamlıyordu. gönderdiğiniz formülü sayfa2 ye uyguladıktan sonra, makroyu çalıştırdığımda işlemi tamamlamıyor. çok uzun süre bekliyor. dosyayı ekledim sizde deneyebilirsiniz.


http://s4.dosya.tc/server3/8bb4r0/hesapalama.zip.html


sayfa2 deki hesaplamaları da bir makro ile göndermiş olduğunuz makronun devamında başlayarak yapma şansımız var.
 
Merhaba;

Eğer dosyada hem makro hem formül kullanacaksanız Hesaplamayı manuel konuma alın. Böylece makro formüllerden etkilenmez. Daha sonrada F9 tuşu ile hesaplama işini yaptırırsınız.

Yada Ekteki gibi tüm hesaplamaları makrolara yaptırın.

NOT: hatalı sonuç almamak için sayfadaki "BÜYÜKHARF ise BÜYÜKHARF , küçükharf ise küçükharf" uyarısını dikkate alın.

İyi çalışmalar.
Link:
http://s4.dosya.tc/server3/tkh40l/Engn1981-FORMUL_YENI-1.zip.html

NOT2 Excel web.tr ye eklenen dosyadaki datalar azaltılarak eklenmiştir.
 

Ekli dosyalar

Geri
Üst