Condividi tramite

problema con il comando cerca.vert

Anonimo
2015-02-03T22:46:39+00:00

Buona sera,

il comando cerca.vert, per il processo che voglio svolgere, funziona e non funziona in modo apparentemente aleatorio e vorrei sapere se esiste una spiegazione razionale a tutto ciò.

Il mio file Excel contiene due fogli:

  • nel primo c'è una tabella con 2 colonne, nella prima numeri progressivi da 0 a 9 e nella seconda il numero che verrà fuori dal cerca.vert;
  • nel secondo foglio c'è la matrice in cui voglio cercare i miei valori, una matrice di 2 colonne per XXX righe (è indifferente per il problema). La prima colonna contiene degli orari scritti in formato hh:mm:ss, tutti intervallati di 30secondi (es. 11:15:00   11:15:30   11:16:00 e via dicendo tutti in colonna); la seconda colonna contiene dei semplici numeri (es 2,234 ecc).

Il mio cerca.vert è questo:   =CERCA.VERT(($C$3+$E$3*B5);Foglio2!$B$2:$C$27;2;FALSO)

dove:

C3=11:15:30

E3=00:00:30

mentre il B5 è uno dei numeri progressivi da 0 a 9 che dicevo prima (in pratica questa formula mi serve per cercare degli orari che differiscono di 30secondi o multipli).

Il risultato che ottengo è questo

0 2,345
1 #N/D
2 2,854
3 2,643
4 2,756
5 #N/D
6 2,334
7 2,674
8 2,543
9 #N/D

Faccio notare che se cambio il valore di C3 con l'orario relativo ad una delle righe in cui si presenta #N/D (ad esempio la riga con il 5, quindi orario 11:18:00) il risultato è questo:

0 2,544
1 #N/D
2 #N/D
3 #N/D
4 2,676
5 #N/D
6 #N/D
7 #N/D
8 2,643
9 #N/D

Ovvero stavolta quel valore lo trova ma poi, casualmente, non ne trova altri. Ho controllato di avere il formato ora, ecc nelle caselle giuste e ho provato anche a vedere che non ci fossero spazi indesiderati ma niente.

Aggiungerei il file di esempio ma non capisco se e come si possa fare.

Grazie!

Stefano

PS: ho provato anche senza la formula ma semplicemente creando una colonna di orari ma il risultato non cambia. Non capisco se è il formato orario hh:mm:ss che gli crea problemi.

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2015-02-08T02:05:20+00:00

Ciao Stefano,

Grazie del suggerimento, ho provato ad applicarlo ma niente.

Capisco cosa intendi con differenze infinitesimali e infatti era quello a cui avevo pensato anch'io, ma non so come sfuggirne.

https://onedrive.live.com/redir?resid=A676FA9D433D82EC!1701&authkey=!AKd6AvT5WS0aw28&ithint=file%2cxlsx

questo  è il link comunque del file di esempio che ho creato. Spero di aver capito giusto come si fa a condividerlo, nel caso ritento.

Grazie!

Stefano

Ho guardato il tuo file e ho risolto  così:

Foglio2

Ho selezionato l'intervallo A4:A26 e ho inserto la formula

       =ARROTONDA(B4;10)

Ho quindi sostituito i valori in B4: B26 con i valori della colonna A, effettuando una operazione di Copia | Incolla Speciale |Valori

Foglio1

Nell'intervallo C10:C19, ho sostituito la tua formula

        =CERCA.VERT(($C$8+$E$8*B10);Foglio2!$B$2:$C$27;2;FALSO)

con la seguente formula modificata:

      =CERCA.VERT(ARROTONDA(($C$8+$E$8*B10);10);Foglio2!$B$2:$C$27;2;FALSO)

Questo processo di arrotondamento di entrambi gli intervalli di tempo ha risolto il problema per me nei miei test.

===

Regards,

Norman

La risposta è stata utile?

0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2015-02-08T14:48:45+00:00

    Ciao Stefano,

    Grazie mille!

    Ora si funziona, ottima soluzione!

    Ti ringrazio per il gentile riscontro.

    Alla prossima!

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2015-02-08T14:12:28+00:00

    Grazie mille!

    Ora si funziona, ottima soluzione!

    Stefano

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2015-02-07T10:40:05+00:00

    Grazie del suggerimento, ho provato ad applicarlo ma niente.

    Capisco cosa intendi con differenze infinitesimali e infatti era quello a cui avevo pensato anch'io, ma non so come sfuggirne.

    https://onedrive.live.com/redir?resid=A676FA9D433D82EC!1701&authkey=!AKd6AvT5WS0aw28&ithint=file%2cxlsx

    questo  è il link comunque del file di esempio che ho creato. Spero di aver capito giusto come si fa a condividerlo, nel caso ritento.

    Grazie!

    Stefano

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2015-02-04T00:00:16+00:00

    Ciao Stefano,

    A seconda di come stai inserendo i valori di tempo, è possibile che ci siano differenze infinitesimali nei valori percepiti, e in tal caso, le formule CERCA.VERT potrebbero non restituire i risultati previsti. Pertanto, vorrei suggerire che immetti questi valori con la funzione ORARIO. Così il primo valore potrebbe essere inserito in (diciamo) A1 come

    = ORARIO (11; 15; 0)

    Il secondo valore potrebbe essere inserito come

    = A1 + ORARIO (0; 0; 30 )

    e i valori successivi verrebbero ottenuti trascinando la seconda formula in basso.

    Se hai ancora un problema, potresti condividere il tuo file. Qui come fare:

    http://is.gd/snGUFN

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento