Formülleri Sıralama

afk

Katılım
15 Ekim 2018
Mesajlar
34
Excel Vers. ve Dili
Excel 2016 - Türkçe
Değerli Üstadlar merhaba; çalıştığım şirketteki hak edişlerle alakalı küçük bir dosya hazırladım. Hak ediş türleri biraz fazla olduğu için birkaç sayfaya paylaştırmak durumunda kaldım.
Sorum şudur: Liste sayfasında personelin genel bilgileri var. Diğer sayfalar bu sayfadan bilgi çekiyor. Maaş sayfasında ise personelin toplam hak edişleri hesaplanıyor. Şimdi diyelim ki biz maaş sayfasına tc numaralarını yapıştırdık hesaplamalarımızı yaptık, ay ortasında yeni bir personel geldi, onu liste sayfasına ekledik, isme göre sıraladık, aynı tc numarasını Maaş sayfasına kopyaladık, bilgileri çekti problem yok fakat Maaş sayfasında ada göre sıralama yaptığımız zaman Düşeyara formülleri sabit kalmasına karşın etopla ve çoketopla formülleri sıralandığı için çektiği bilgiler karışıyor. Bunun önüne nasıl geçebilirim. Yardımlarınızı bekliyorum.
(Kendimi ifade edemediysem özür dilerim.)


Dosya : https://s2.dosya.tc/server10/qhzwwe/ornek.xlsx.html
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Dolaylı ad tanımlamaları kullanarak dinamik adlar oluşturup kullanabilirsiniz.

Örneğin liste sayfası için ad tanımlama bölümünde alan adını liste ve formülünü de aşağıdaki gibi ayarlayabilirsiniz:

=DOLAYLI("Liste!$B$1:$N$"&BAĞ_DEĞ_DOLU_SAY(Liste!$B:$B))

Bu formülle liste sayfasına veri ekledikçe ya da sildikçe formülleri değiştirmenize gerek kalmaz.

işlem türü için yine ad tanımlama bölümünde işlem adı liste, formül olarak da

=DOLAYLI("'Masraf-Avans'!$F$2:$F$"&BAĞ_DEĞ_DOLU_SAY('Masraf-Avans'!$B:$B))

Kullanabilirsiniz.

Kişi için kisi adlı ve

=DOLAYLI("'Masraf-Avans'!$c$2:$c$"&BAĞ_DEĞ_DOLU_SAY('Masraf-Avans'!$B:$B))

formüllü alan kullanılabilir.

Tutar için tutar adlı ve

=DOLAYLI("'Masraf-Avans'!$j$2:$j$"&BAĞ_DEĞ_DOLU_SAY('Masraf-Avans'!$B:$B))

formüllü alan kullanılabilir.

Bunun gibi tanımları yaptıktan sonra örneğin Taban maaş için aşağıdaki formülü kullanabilirsiniz (Maaş sayfası E2 hücresi):

=EĞERHATA((DÜŞEYARA(B2;liste;3;YANLIŞ));"")

Aynı şekilde Avans için kullanacağınız formül şu olacaktır(Maaş sayfası F2 hücresi):

=ÇOKETOPLA(tutar;kisi;Maaş!B2;islem;F$1)
 

afk

Katılım
15 Ekim 2018
Mesajlar
34
Excel Vers. ve Dili
Excel 2016 - Türkçe
Yusuf Bey cevabınız için çok teşekkür ederim. Biraz karıştırmaya çalıştım fakat işin içinden çıkamadım. Acemiliğime verin. Acaba benim gönderdiğim örnek dosyaya en azından birkaç tanesini yazma şansınız olabilir mi? Ben oradan devamını getirsem.
 

afk

Katılım
15 Ekim 2018
Mesajlar
34
Excel Vers. ve Dili
Excel 2016 - Türkçe

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
5 nolu mesajımda dosyayı değiştirdim.
 
Üst