A fórmula Excel IF não funciona

0

Estou tentando a seguinte fórmula do excel, preciso da célula C4 na minha planilha para retornar o valor 0 porque A4 é igual a B3. Aqui está o que eu tentei:

=IF(A4='Weekly Input Data'!B$3:B$4,0,1) e seu valor de retorno é 1, mas como A4 faz = B3, Eu preciso disso para retornar o valor 0. O que estou fazendo errado?

    
por user2837038 02.10.2013 / 05:25

3 respostas

1

Ao usar a fórmula

=IF(A4='Weekly Input Data'!B$3:B$4,0,1)

Você está comparando a célula A4 com o intervalo 'Weekly Input Data'!B$3:B$4 , não com a célula 'Weekly Input Data'!B$3 .

Você tem duas opções:

  1. Compare a célula A4 com a célula 'Weekly Input Data'!B$3
  2. Pesquise se a célula A4 corresponde a qualquer célula do intervalo 'Weekly Input Data'!B$3:B$4

Para 1. a fórmula é: =IF(A4='Weekly Input Data'!B$3, 0, 1)

Para 2. a fórmula é: =IF(ISNUMBER(MATCH(A4, 'Weekly Input Data'!B$3:B$4, 0)), 0, 1)

    
por 02.10.2013 / 10:47
1

Tente usar MATCH em vez disso?

=IF(ISNUMBER(MATCH(A4, 'Weekly Input Data'!B$3:B$4, 0)), 0, 1)

MATCH tentará encontrar um valor correspondente ao seu intervalo e, se encontrar um, retornará um número.

Acabei de perceber que você pode mesmo remover o IF:

=ISERROR(MATCH(A4, 'Weekly Input Data'!B$3:B$4, 0))*1

Se MATCH tiver uma correspondência, ISERROR retornará falso, ou seja, 0 e 0 * 1 fornecerá 0. (Você esperava 0 se A4 estiver em B3: B4).

Se MATCH não tiver correspondência, ISERROR retornará verdadeiro, ou seja, 1 e 1 * 1 fornecerá 1.

EDIT: Como por atualização no intervalo em branco, você pode usar isso:

=IF(COUNTBLANK('Weekly Input Data'!B$3:B$4)=ROWS('Weekly Input Data'!B$3:B$4),0,ISERROR(MATCH(A4,'Weekly Input Data'!B$3:B$4,0))*1)

Eu usei COUNTBLANK e ROWS para tornar a fórmula mais flexível para intervalos variados sem torná-la uma fórmula de matriz.

    
por 02.10.2013 / 06:11
0

Na célula C4:

=IF(A4=B3,0,1)

Se o seu A4 (e / ou B3) estiver em uma planilha diferente, então:

=IF(A4='Weekly Input Data'!B$3,0,1)

Edit: Desde agora você mencionou que você precisa comparar RANGE de dados (1 Cell para dados multi-Cell)

Isso é o que eu encontrei neste site link - resposta do DRJ (atualizado para corresponder à sua consulta):

=IF(ISNA(INDEX('Weekly Input Data'!B3:B7,MATCH(A4,'Weekly Input Data'!B3:B7,0))),0,1)
    
por 02.10.2013 / 05:38