Excel Problema de correspondência com expressão lógica

0

Eu tenho um bloco de dados que representa as etapas de um processo e os possíveis erros:

ProcessStep   Status
FeesPaid      OK
FormRecvd     OK
RoleAssigned  OK
CheckedIn     Not Checked In.
ReadyToStart  Not Ready for Start

Eu quero encontrar o primeiro status que não seja "OK".

Eu tentei isso:

=Match("<>""OK""", StatusRange, 0)
que deve retornar o índice do primeiro elemento no intervalo que é NOT-EQUAL (< >) para "OK"
Mas isso não funciona, em vez de retornar #N/A .

Espero que ele retorne 4 (índice # 4, em um índice baseado em 1, representando que CheckedIn é o primeiro elemento não OK)

Alguma ideia de como fazer isso?

    
por abelenky 10.04.2010 / 00:24

2 respostas

2

Suponha que as células a serem verificadas estejam em A1: A10. Então, basta usar a seguinte fórmula:

=MATCH(0,IF(A1:A10="OK",1,0),0)

a ser inserido por Ctrl+Shift+Enter

    
por 10.04.2010 / 12:37
0

Há pelo menos uma maneira fácil de fazer isso, desde que você não se importe de configurar outro bloco de células (possivelmente ocultas) em algum lugar. Por exemplo, você pode adicionar uma coluna de fórmula da seguinte maneira, que testa se a célula à esquerda é igual a "OK":

|   | A              | B        | C        |
|---+----------------+----------+----------|
| 1 | "ProcessStep"  | "Status" |          |
| 2 | "FeesPaid"     | "OK"     | =B2="OK" |
| 3 | "FormRecvd"    | "OK"     | =B3="OK" |
| 4 | "RoleAssigned" | "OK"     | =B4="OK" |
| 5 | "CheckedIn"    | "OK"     | =B5="OK" |
| 6 | "ReadyToStart" | "OK"     | =B6="OK" |

Agora você pode usar =MATCH(FALSE,C2:C6,0) para encontrar a linha que contém o primeiro status não OK.

EDIT: Toc tem uma solução melhor.

    
por 10.04.2010 / 02:17