2015-03-05 33 views
6

Ho questa semplice affermazione in excel. Confronto due date. Se la data 2 è maggiore o uguale alla data 1, quindi visualizzo . Altrimenti, mostro .excel - se cella non è vuota, quindi fare istruzione IF

Tuttavia, vorrei applicare questa funzione solo quando le cellule contiene testo:

IF(NOT(ISBLANK((Q2<=R2;"1";"0"))) 

Questo mi dà un errore - cosa faccio di sbagliato?

+0

Quale cella non deve essere vuota? Q2? R2? Entrambi? – Taosique

+0

Entrambe le celle dovrebbero contenere dati. – oliverbj

risposta

10

La tua formula è sbagliata. Probabilmente dire qualcosa come:

=IF(AND(NOT(ISBLANK(Q2));NOT(ISBLANK(R2)));IF(Q2<=R2;"1";"0");"") 

Un altro equivalente:

=IF(NOT(OR(ISBLANK(Q2);ISBLANK(R2)));IF(Q2<=R2;"1";"0");"") 

O ancora più breve:

=IF(OR(ISBLANK(Q2);ISBLANK(R2));"";IF(Q2<=R2;"1";"0")) 

O ancora più breve:

=IF(OR(ISBLANK(Q2);ISBLANK(R2));"";--(Q2<=R2)) 
+0

Poiché l'output è 0 o 1, potrebbe anche essere: '= (Q2 <>" ") * (R2 <>" ") * (Q2 <= R2)' Questo valuterà ogni istruzione in paranthes come TRUE o FALSE che equivale a 0 o 1. Quindi moltiplicale insieme. Tutte e tre le affermazioni devono essere vere per ottenere un 1. – JNevill

+0

Beh, sì ma ... Non mi sento di moltiplicare le espressioni booleane ... '*' appartiene all'aritmetica. Credo. – Taosique

+0

È un computer; Tutto è aritmetico. Mi piacciono le tue risposte, probabilmente sono più adatte al livello di comfort dell'OP e sono più facili da cambiare. Se nel futuro OP volesse avere output "Sì" o "No" invece di 1 o 0, allora gli IF annidati sono la strada da percorrere. – JNevill

1

È bisogno di usare AND dichiarazione nella formula

= SE (E (IF (NOT (ISBLANK (Q2)); VERO; FALSO); Q2 < = R2); "1", "0")

E se entrambe le condizioni sono soddisfatte, restituire 1.

È inoltre possibile aggiungere più condizioni nella propria istruzione AND.

+0

Questo potrebbe essere abbreviato in '= IF (AND (NOT (ISBLANK (Q2)); Q2 <= R2);" 1 ";" 0 ")'. '= IF (booleano; TRUE; FALSE)' è equivalente a '= boolean'. Inoltre, la tua variante ** restituirà sempre un valore, anche se una o entrambe le celle sono vuote. – Taosique

Problemi correlati