Ho una cartella di lavoro di Excel con numerosi fogli dal titolo "Settimana1", "Settimana2", "Settimana3" ... "Settimana7". Ogni settimana inserisco gli ID dei clienti delle persone che acquistano il mio prodotto nella colonna C e, poiché sono interessato a sapere se si tratta di clienti di ritorno o se sono nuovi, ho scritto una funzione per verificare se i clienti che inserisco in Week2-Week7 sono nuovi clienti o se hanno già acquistato il mio prodotto.
A tal fine, ho sviluppato la seguente formula che ho inserito nella colonna F per Week2:
=IF(COUNTIF(Week1!$C$3:$C$100,C3)>=1,"Old","New")
Con la parte rilevante di "Week1" simile a:
_|-----C-----|-----F-----|
3| ValPot1 | *blank* |
Con la parte rilevante di "Week2" simile a:
_|-----C-----|-----F-----|
3| ValPot1 | Old |
Ora, sebbene funzioni bene, diventa piuttosto ingombrante dal Week7, quando devo usare la seguente funzione:
= SE (OR (COUNTIF (Week1 $ C $ 3: $ C $ 100, C3)> = 1, COUNTIF (settimana2 $ C $ 3: $ C $ 100, C3)> = 1, COUNTIF (Week3 $ C $ 3: $ C $ 100, C3)> = 1, COUNTIF (Week4 $ C $ 3: $ C $ 10> 0, C3)> = 1, COUNTIF (Week5 $ C $ 3: $ C $ 100, C3)> = 1, COUNTIF (Week6 ! $ C $ 3: $ C $ 100, C3)> = 1), "vecchio", "Nuovo")
Di conseguenza, ho provato (senza successo) a utilizzare la seguente funzione VBA:
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
Incorporandolo nel foglio "Week2", cella F3
, nel modo seguente:
=IF(COUNTIF(SHEETOFFSET(-1,$C$3):SHEETOFFSET(-1,$C$100),C3)>=1,"Old","New")
In effetti, sto solo sostituendo il mio precedente riferimento del foglio di lavoro (di Week1!$C$3:$C$100
) con la mia nuova SHEETOFFSET
funzione ....
Sfortunatamente, questo non funziona e restituisce semplicemente un #VALUE!
errore. Cosa sto sbagliando e come posso correggere la mia funzione?