Eu tenho uma pasta de trabalho do Excel com várias folhas intitulada "Week1", "Week2", "Week3" ... "Week7". A cada semana, eu insiro os IDs de clientes de pessoas que compram meu produto na coluna C e - como estou interessado em saber se são clientes de retorno ou se são novos - escrevi uma função para verificar se os clientes que insumo na Semana2-Semana7 são novos clientes ou se compraram anteriormente o meu produto.
Para esse fim, desenvolvi a seguinte fórmula que insiro na coluna F da Semana 2:
=IF(COUNTIF(Week1!$C$3:$C$100,C3)>=1,"Old","New")
Com a parte relevante de "Week1" semelhante a:
_|-----C-----|-----F-----|
3| ValPot1 | *blank* |
Com a parte relevante de "Semana2" parecida com:
_|-----C-----|-----F-----|
3| ValPot1 | Old |
Agora, embora isso funcione bem, torna-se um pouco complicado na semana 7, quando eu tenho que usar a seguinte função:
=IF(OR(COUNTIF(Week1!$C$3:$C$100,C3)>=1,COUNTIF(Week2!$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),"Old","New")
Consequentemente, tenho tentado (sem sucesso) usar a seguinte função do 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
Incorporando-o na planilha "Semana2", célula F3
, da seguinte maneira:
=IF(COUNTIF(SHEETOFFSET(-1,$C$3):SHEETOFFSET(-1,$C$100),C3)>=1,"Old","New")
Na verdade, estou apenas substituindo minha referência de planilha anterior (de Week1!$C$3:$C$100
) por minha nova função SHEETOFFSET
....
Infelizmente, isso não funciona e simplesmente retorna um erro #VALUE!
. O que estou fazendo de errado e como posso consertar minha função?