M

Çözüldü eğer formülü yada makrolu çözüm

  • Konuyu başlatan Konuyu başlatan muhsar
  • Başlangıç tarihi Başlangıç tarihi
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

muhsar

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
merhaba;ekteki nöbet listemi oluşturduğumda veri sayfasına bağ yapıyorum.veri sayasındaki verilere göre puantaj ve icmal oluşturuyorum.yapamadığım ve yardımınızı rica ettiğim konu;icmal listesinde son sütunda görülen toplam fazla mesai tutarı kadar veri yazması.
benim yaptığım eğer formülü ile veri sayfasındaki nöbet olan günlere nöbet saatini yazdırıyorum,benim istediğim sadece fazla mesai saati kadar yazması(5 nöbet var 64 saat toplamı tutmuş,çalışma saati 40 olsun,icmalde ilk 40 saat olan günleri boş geçip sonrasını yazacak,yani nöbet parasını hangi günler için alacaksa sadece onlar görünecek
not:son sütundaki fazla mesai kadar sonda bırakıp ilk kayıtları temizleyen makro çözümde olabilir
 

Ekli dosyalar

Çözüm
Tekrar merhaba.
Birkaç gün forumla pek ilgilenemedim.
-- icmal sayfası C8:AG22 hücre aralığındaki formülleri silin (bu formüller kod tarafından uygulanacak).
-- icmal isimli sayfanın adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçin,
-- açılan VBA ekranında sağdaki boş alana aşağıdaki kod blokunu yapıştırın ve VBA ekranını kapatın.
-- icmal sayfasında sol üstte bulunan KURUM LOGOSUna fareyle sağ tıklayıp MAKRO ATAyı seçin ve açılacak küçük ekranda
aşağıdaki kod'un adını ( SARI_BOYA ) seçerek işlemi onaylayın.

Artık KURUM LOGOSUna tıkladığınızda istediğiniz işlem gerçekleşecektir.
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(4 satır)
Merhaba Sayın @muhsar .

Sorunuzu tam olarak anlamadım sanırım.
icmal sayfasındaki sayısal veriler yerine, bu sayıların 8 saati aşan kısımlarının yazılmasını istiyorsunuz gibi görünüyor.
Eğer isteğiniz bu ise aşağıda vereceğim formülün son kısmını })-8;"") olarak değiştirmeniz yeterli olur.
Böylece formül sonuçları; boş ise nöbet günü omadığını, 0 ise 8 saat çalışıldığını, 0'dan büyükse de fazla mesai kısmını gösterir,

Bence; mevcut verilere göre olması gereken sonuçları; ilgili sayfada sağda uygun boş sütunlara ya da
ilgili sayfanın bir kopyasını hazırlayıp kopya sayfaya, elle yazarak belgenizi kaydedip foruma yeni halini eklemeniz yararlı olur.

Şimdilik sadece; icmal isimli sayfada kullandığınız formül yerine bir alternatif formül önerisinde bulunayım.
icmal isimli sayfa C8 hücresinde birçok EĞER işlevinin kullanıldığı uzun formül yerine aşağıdaki formülü uygulayıp, sağa ve aşağı doğru kopyalayınız.

NOT: VERİ sayfası 5'inci satırdaki AD SOYADlar ile icmal sayfası B sütunundaki AD SOYADların aynı sırayla yazılmış olduğu varsayıldı.
Örnek belgelerin, VBA kısmının veya sayfaların şifrelenmemiş olmasına özen gösteriniz veya şifresini konu sayfasında veriniz.


▼ Formül içerisinde kullanılan ARA işlevinin yapısına ilişkin açıklama yazayım dedim: ▼
Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(1 satır)
Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(1 satır)
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(1 satır)
 
Merhaba Sayın @muhsar .

Sorunuzu tam olarak anlamadım sanırım.
icmal sayfasındaki sayısal veriler yerine, bu sayıların 8 saati aşan kısımlarının yazılmasını istiyorsunuz gibi görünüyor.
Eğer isteğiniz bu ise aşağıda vereceğim formülün son kısmını })-8;"") olarak değiştirmeniz yeterli olur.
Böylece formül sonuçları; boş ise nöbet günü omadığını, 0 ise 8 saat çalışıldığını, 0'dan büyükse de fazla mesai kısmını gösterir,

Bence; mevcut verilere göre olması gereken sonuçları; ilgili sayfada sağda uygun boş sütunlara ya da
ilgili sayfanın bir kopyasını hazırlayıp kopya sayfaya, elle yazarak belgenizi kaydedip foruma yeni halini eklemeniz yararlı olur.

Şimdilik sadece; icmal isimli sayfada kullandığınız formül yerine bir alternatif formül önerisinde bulunayım.
icmal isimli sayfa C8 hücresinde birçok EĞER işlevinin kullanıldığı uzun formül yerine aşağıdaki formülü uygulayıp, sağa ve aşağı doğru kopyalayınız.

NOT: VERİ sayfası 5'inci satırdaki AD SOYADlar ile icmal sayfası B sütunundaki AD SOYADların aynı sırayla yazılmış olduğu varsayıldı.
Örnek belgelerin, VBA kısmının veya sayfaların şifrelenmemiş olmasına özen gösteriniz veya şifresini konu sayfasında veriniz.


▼ Formül içerisinde kullanılan ARA işlevinin yapısına ilişkin açıklama yazayım dedim: ▼
[Gizlenmiş içerik][Gizlenmiş içerik][Gizlenmiş içerik]
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(1 satır)
ömer hocam formül için teşekkür ederim;dosyamı tekrar ekledim ve sona örnek isimli bir sayfa ekleyerek icamalin olması gerektiği şeklini gösterdim.örnek isimli sayfada ilk personelin fazla mesaisi 24 saat görünüyor,o halde icmalde sadece sarı ile işaretlediğim günler yani sondan başlayarak fazla mesai kadar(toplamı 24 olacak)günler kalmalı geri kalan boş görünmeli.
(kısaca icmalde sadece fazla mesai ne kadar ise dolu görünen hücerelerdeki rakamların toplamı eşitolmalı)

formül ile yapılamazsa makro ile hücrelerde yazan rakamların toplamının sondan başlayarak fazla mesai kadar kısmını bırakıp geri kalanı silebilirse buda işimi görür.
 

Ekli dosyalar

Son örnek belgenizdeki örnek sayfasına baktım.
-- Örneğin GÜLSEREN CIVGIN için 3, 7 ve 8'inci günlerin toplamı da 32, sarı renklendirdiğiniz 5 ve 8'inci günün toplamı da 32.
3,7 ve 8 yerine 5 ve 8 'i renklendirirken bir kuralınız mı vardır?
-- Örneğin ŞENGÜL ŞİPAL için sarı renklendirdiğiniz hücrelerin toplamı 32, oysa hedef saat 48,
bu kişi için 5, 7 ve 8'i sarı boyarsak toplamı hedef olan 48'e ulaşıyor.
-- FİGEN ALBAYRAK ve ŞENGÜL ŞİPAL için diğerlerinden farklı olarak 5 değil 6 nöbet mevcut. Hata mı yoksa olabilecek bir durum mu?
-- Tablonuz 31 günlük, tüm günler dolu olduğunda tüm işlemler nasıl gerçekleşecek orası da ayrı bir muamma gibi düşünüyorum.
-- Sarı boyanmayanların toplamı 40 olacak gibi düşündüm ama bazı kişiler için bu kural da tutmuyor.

Yukarıdaki hususları biraz açıklar mısınız?
 
Son örnek belgenizdeki örnek sayfasına baktım.
-- Örneğin GÜLSEREN CIVGIN için 3, 7 ve 8'inci günlerin toplamı da 32, sarı renklendirdiğiniz 5 ve 8'inci günün toplamı da 32.
3,7 ve 8 yerine 5 ve 8 'i renklendirirken bir kuralınız mı vardır?
-- Örneğin ŞENGÜL ŞİPAL için sarı renklendirdiğiniz hücrelerin toplamı 32, oysa hedef saat 48,
bu kişi için 5, 7 ve 8'i sarı boyarsak toplamı hedef olan 48'e ulaşıyor.
-- FİGEN ALBAYRAK ve ŞENGÜL ŞİPAL için diğerlerinden farklı olarak 5 değil 6 nöbet mevcut. Hata mı yoksa olabilecek bir durum mu?
-- Tablonuz 31 günlük, tüm günler dolu olduğunda tüm işlemler nasıl gerçekleşecek orası da ayrı bir muamma gibi düşünüyorum.
-- Sarı boyanmayanların toplamı 40 olacak gibi düşündüm ama bazı kişiler için bu kural da tutmuyor.

Yukarıdaki hususları biraz açıklar mısınız?
sn hocam;son sütunda fazla mesai saati yazıyor;o kadar kısım kalacak geri kalan kısım görünmeyecek;örnekte bir haftalık yaptım bu aylık olacak tabiiki;her personelin fazla mesai saati farklı olabilir yine nöbet sayısı da;şöyle izah edeyim;1.personel ah sütununda çalışması gereken saat 40-aı sütununda çalıştığı saat 64-ak sütununda fazla mesaisi 24 saat;icmalde sarı renkli olan 24 saat görünecek --yine 4.personel gülseren cıvgın ah sütununda çalışması gereken saat 32(1 gün izin görünüyor 40-8=32 );çalıştığı saat 64--fazla mesai 32 saat;icmalde sadece 32 saat görünmeli yani sondan başa doğru gidince 8. ve 5.gün toplamı 32 veriyor;bunlar kalmalı diğer günler boş görünmeli;

umarım anlatabildim;teşekkür edeim
 
O zaman gereksiz uğraşmamak adına, muhtemel en kapsamlı olacak şekilde;
aylık tablo doldurup yine kalması gereken hücreleri sarı, silinmesi gereken hücreleri beyaz zeminli olarak boyayarak
yeni bir örnek belge ekleyebilir misiniz?
Bir de uğraşılması gereken HAFTA/AY ikilemi oluşacak gibi görüyorum.
HAFTA derken kastınız PAZARTESİ-PAZAR arası mı olacak yoksa ayın 1'inden başlayarak 7'şer günlük bir HAFTA mı varsayılacak?
Çünkü haftalık normal çalışma süresi 40 saat, tamam ama HAFTA'nın başlangıcı ne zamandır onun da netleşmesi gerekecek.

1 Haziran ile 8 haziran nasıl aynı hafta içeriinde olarak düşünülecek hafta 7 gün (40 saatlik sınır 7 gün için değil mi?),
ama 1-8 Haziran arası 8 gün.

Maaş / vergileme bakımından TAKVİM AYI na göre düşünmek gerekir, ancak fazla mesai süreleri için ise
TAKVİM HAFTASI (PazartesiPazar) düşünülmeyecek mi?

O nedenle yeni örnek belge eklerken bu HAFTA/AY olayını da dikkate almanızda yarar var bence.
 
O zaman gereksiz uğraşmamak adına, muhtemel en kapsamlı olacak şekilde;
aylık tablo doldurup yine kalması gereken hücreleri sarı, silinmesi gereken hücreleri beyaz zeminli olarak boyayarak
yeni bir örnek belge ekleyebilir misiniz?
Bir de uğraşılması gereken HAFTA/AY ikilemi oluşacak gibi görüyorum.
HAFTA derken kastınız PAZARTESİ-PAZAR arası mı olacak yoksa ayın 1'inden başlayarak 7'şer günlük bir HAFTA mı varsayılacak?
Çünkü haftalık normal çalışma süresi 40 saat, tamam ama HAFTA'nın başlangıcı ne zamandır onun da netleşmesi gerekecek.

1 Haziran ile 8 haziran nasıl aynı hafta içeriinde olarak düşünülecek hafta 7 gün (40 saatlik sınır 7 gün için değil mi?),
ama 1-8 Haziran arası 8 gün.

Maaş / vergileme bakımından TAKVİM AYI na göre düşünmek gerekir, ancak fazla mesai süreleri için ise
TAKVİM HAFTASI (PazartesiPazar) düşünülmeyecek mi?

O nedenle yeni örnek belge eklerken bu HAFTA/AY olayını da dikkate almanızda yarar var bence.
hocam aylık nöbet listesi ekte;örnek güncelledim;olması gereken sarı renkliler kalacak diğerleri görünmemeli;
 

Ekli dosyalar

Tekrar merhaba.
Birkaç gün forumla pek ilgilenemedim.
-- icmal sayfası C8:AG22 hücre aralığındaki formülleri silin (bu formüller kod tarafından uygulanacak).
-- icmal isimli sayfanın adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçin,
-- açılan VBA ekranında sağdaki boş alana aşağıdaki kod blokunu yapıştırın ve VBA ekranını kapatın.
-- icmal sayfasında sol üstte bulunan KURUM LOGOSUna fareyle sağ tıklayıp MAKRO ATAyı seçin ve açılacak küçük ekranda
aşağıdaki kod'un adını ( SARI_BOYA ) seçerek işlemi onaylayın.

Artık KURUM LOGOSUna tıkladığınızda istediğiniz işlem gerçekleşecektir.
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(32 satır)
 
Çözüm
Tekrar merhaba.
Birkaç gün forumla pek ilgilenemedim.
-- icmal sayfası C8:AG22 hücre aralığındaki formülleri silin (bu formüller kod tarafından uygulanacak).
-- icmal isimli sayfanın adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçin,
-- açılan VBA ekranında sağdaki boş alana aşağıdaki kod blokunu yapıştırın ve VBA ekranını kapatın.
-- icmal sayfasında sol üstte bulunan KURUM LOGOSUna fareyle sağ tıklayıp MAKRO ATAyı seçin ve açılacak küçük ekranda
aşağıdaki kod'un adını ( SARI_BOYA ) seçerek işlemi onaylayın.

Artık KURUM LOGOSUna tıkladığınızda istediğiniz işlem gerçekleşecektir.
[Gizlenmiş içerik]

hocam çok teşekkür ederim ,elinize sağlık,
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst