"Week1", "Week2", "Week3" ... "Week7" başlıklı çok sayıda sayfa içeren bir Excel çalışma kitabım var. Her hafta, müşterilerimi ürünümü satın alan kişilerin kimliğini C sütununa giriyorum ve - bunların müşterinin iade edilip edilmediğini veya yeni olup olmadıklarını bilmekle ilgilendiğim için - girdiğim müşterilerin olup olmadığını kontrol etmek için bir işlev yazdım 2. haftada 7. hafta yeni müşteriler veya daha önce ürünümü satın alıp almadıkları.
Bu amaçla, Hafta 2 için F sütununa girdiğim aşağıdaki formülü geliştirdim:
=IF(COUNTIF(Week1!$C$3:$C$100,C3)>=1,"Old","New")
"Week1" in ilgili kısmı şöyle:
_|-----C-----|-----F-----|
3| ValPot1 | *blank* |
"Week2" nin ilgili kısmı şöyle:
_|-----C-----|-----F-----|
3| ValPot1 | Old |
Şimdi, bu iyi çalışsa da, aşağıdaki işlevi kullanmak zorunda kaldığımda Hafta 7'de oldukça hantallaşıyor:
= EĞER (OR (EĞERSAY (Week1 $ C $ 3:! $ C $ 100, C3)> = 1, EĞERSAY (Week2 $ C $ 3:! $ C $ 100, C3)> = 1, EĞERSAY (Week3 $ C $ 3: $ Cı $ 100, C3)> = 1, EĞERSAY (Week4 $ c $ 3: $ c $ 10> 0-C3)> = 1, EĞERSAY (Week5 $ c $ 3: $ c $ 100, C3)> = 1, EĞERSAY (Week6 ! $ C $ 3: $ C $ 100, C3)> = 1), "Eski", "Yeni")
Sonuç olarak, aşağıdaki VBA işlevini kullanmaya çalışıyorum (başarısız olarak):
Function SHEETOFFSET(offset, Ref)
' Returns cell contents at Ref, in sheet offset
Application.Volatile
With Application.Caller.Parent
SHEETOFFSET = .Parent.Sheets(.Index + offset) _
.Range(Ref.Address).Value
End With
End Function
Hücre F3, aşağıdaki şekilde "Hafta 2" sayfasına dahil edilerek :
=IF(COUNTIF(SHEETOFFSET(-1,$C$3):SHEETOFFSET(-1,$C$100),C3)>=1,"Old","New")
Aslında, önceki çalışma sayfası referansımı (of Week1!$C$3:$C$100) yeni SHEETOFFSETfonksiyonumla değiştiriyorum.
Ne yazık ki, bu işe yaramaz ve sadece bir #VALUE!hata döndürür . Neyi yanlış yapıyorum ve fonksiyonumu nasıl düzeltebilirim?