Cercare un valore, a seconda di quale serie di date cade un'altra data


1

e mi scuso se questo è un duplicato - se potessi indicarmi la direzione di eventuali risposte esistenti, sarebbe fantastico.

Ho un set di intervalli di date in Excel, ognuno dei quali ha una sorta di etichetta. per esempio

LabelA  01/01/10  31/01/10
LabelB  01/02/10  28/02/10
LabelC  01/03/10  31/03/10

Se ho un'altra data, vorrei cercare l'etichetta relativa all'intervallo di date entro il quale cade questa data. ad es. per il 15/02/10 vorrei restituire LabelB. So che gli intervalli di date non si sovrapporranno, anche se potrebbe esserci un divario tra la data di fine di uno e la data di inizio di quello successivo.

Risposte:


1

È possibile farlo creando una formula di matrice, che confronta ciascun intervallo di date con la data richiesta. Se la data è l'intervallo, restituisce la data di fine.

Quindi fai una corrispondenza in questa data di fine per trovare la riga appropriata.

Tutto ciò può essere fatto in una singola cella, se necessario.

Se i dati sono in A1: C3 e la data richiesta è in B4, allora questa formula:

=INDEX(A1:A3,MATCH(SUM(IF(B1:B3<B4,1,0)*IF(C1:C3>=B4,C1:C3,0)),C1:C3,0))

Dovresti fare quello che vuoi. Questo deve essere inserito come una formula di matrice.

Se la data non è inclusa in nessuno degli intervalli, verrà restituito # N / D


Ho ragione nel pensare che per inserirlo come una formula di matrice, ho solo bisogno di fare Ctrl + Maiusc + Invio?
Ruffles

Sì, è corretto
JDunkerley,

1

Puoi aggiungere un duplicato (forse nascosto) della colonna A sul lato destro (o spostare la colonna A) e le date sono in ordine?

In tal caso, la funzione VLOOKUP potrebbe essere la risposta. Cerca un valore nella prima colonna e guarda attraverso un numero di colonne. Ecco un esempio

Mi rendo conto che questo potrebbe essere un po 'un brutto modo di farlo, ma è facile e fintanto che i dati sono in ordine, dovrebbe darti quello che vuoi.


Sono felice di presumere che le date siano in ordine e non è un problema avere un duplicato nascosto della colonna A. Ho qualcosa che funziona usando VLOOKUP (E4, B1: D3,3, TRUE), dove B ha l'inizio date, C ha le date di fine e D è la copia nascosta delle etichette. Tuttavia, questo sta effettivamente verificando solo rispetto alle date di inizio. Questo è probabilmente abbastanza buono, ma c'è un modo per adattarlo per convalidare contro entrambi?
Ruffles,

È possibile racchiudere quel VLOOKUP, in un'istruzione IF che include un VLOOKUP simile confrontando la data con il valore della colonna 2; qualcosa come: = if ((VLOOKUP (E4, B1: D3,2, TRUE)> = E4, VLOOKUP (E4, B1: D3,3, TRUE), "Errore"). Non posso fare a meno di sentire che c'è un modo migliore, ma al momento non riesco a pensarne uno.
Neal,

1

È possibile effettuare una somma a più condizioni utilizzando sumproduct. Dovresti usare (supponiamo che la Data1 sia B: B, la Data2 sia C: C, E1 sia la data che desideri trovare)

sumproduct(--(B1:B50<=E1),--(C1:C50>=E1),Row(B1:B50))

Questo ti darà il numero di riga, poiché questa somma di più condizioni è vera solo quando E1 è> = B e <= C, e sommerà il numero di riga di tutte le righe in cui ciò è vero (che hai detto è al massimo 1) . Per cercare l'etichetta puoi:

index(A1:A50,sumproduct(--(B1:B50<=E1),--(C1:C50>=E1),Row(B1:B50)))

Inoltre, se pensi che il tuo numero potrebbe trovarsi in uno degli spazi vuoti, potresti fare:

if(sumproduct(--(B1:B50<=E1),--(C1:C50>=E1),Row(B1:B50))=0,"Date Not Found",index(A1:A50,sumproduct(--(B1:B50<=E1),--(C1:C50>=E1),Row(B1:B50))))

0

Per me questo sembra esattamente ciò per cui è stata creata la formattazione condizionale . Puoi impostare fino a 3 condizioni distinte per una cella o un intervallo di celle e quando una delle condizioni corrisponde alla cella viene applicata la formattazione da tali condizioni.

Ecco come vengono realizzati molti fogli di calcolo di tipo "semaforo".


Grazie, ma non credo che funzionerebbe nel mio caso, dato che in realtà avrò una serie di date che vorrei cercare nelle mie gamme - ma non avevo menzionato questo, quindi non c'era modo per te di sapere .
Ruffles
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.