Condividi tramite

Problema con celle vuote

Anonimo
2015-02-20T19:44:33+00:00

Buonasera a tutti.

Ho un problema con delle celle vuote. Cerco di spiegarmi.

Da un database estraggo 9righe di dati (blu chiaro). Come si puo' vedere dall'immagine le celle possono avere un valore oppure essere celle vuote.

Il mio problema è che devo "impaginare" le celle con i valori omettendo le celle vuote (in immagine, colore grigio).

La mia domanda è: nella selezione in grigio quale formula devo mettere per ottenere quello che voglio?

Ho già provato con SE annidati ma dopo la terza o quarta riga la formula iniza a prendere dimensioni esagerate, inducendomi inevitabilmente all'errore.

Esiste qualche funzione che possa soddisfare le mie esigenze?

Grazie mille a tutti.

Buona serata e buon week end.

Ivan

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-20T22:02:00+00:00

Ciao Ivan,

Nella cella G4 prova la formula:

=SE.ERORE(INDICE($C$4:$C$12;PICCOLO(SE($C$4:$C$12<>"";RIF.RIGA($C$4:$C$12));RIF.RIGA(1:1)));"")

Questa e' una formula matriciale e deve essere confermata con Ctrl+Shift+Enter. Poi trascina la formula in basso.

===

Regards,

Norman

Ciao Norman, mi permetto di applicarti una piccola correzione.

=SE.ERRORE(INDICE($C$4:$C$12;PICCOLO(SE($C$4:$C$12;RIF.RIGA($C$4:$C$12)-3);RIF.RIGA(A1)));"") ovviamente matriciale.

La risposta è stata utile?

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2015-02-20T20:55:24+00:00

Ciao Ivan,

Nella cella G4 prova la formula:

=SE.ERORE(INDICE($C$4:$C$12;PICCOLO(SE($C$4:$C$12<>"";RIF.RIGA($C$4:$C$12));RIF.RIGA(1:1)));"")

Questa e' una formula matriciale e deve essere confermata con Ctrl+Shift+Enter. Poi trascina la formula in basso.

===

Regards,

Norman

La risposta è stata utile?

0 commenti Nessun commento

12 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2015-02-21T06:47:24+00:00

    Ciao Ivan_81. E Paolo e Norman. 

    Curiosità: perché non hai preso in considerazione la possibilità di ordinare (=mettere in ordine) le celle? C'è un motivo particolare?

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2015-02-20T23:38:30+00:00

    Per prima cosa vi ringrazio entrambi.

    Mai e poi mai avrei pensato ad una soluzione di questo tipo.

    Credo di aver risolto prendendo un pezzo di uno e un pezzo dell'altro in quanto non funzionavano.

    Riporto il mio codice credo (e spero) funzionante:

    =SE.ERRORE(INDICE($C$4:$C$12;PICCOLO(SE($C$4:$C$12<> "";RIF.RIGA($C$4:$C$12)-3);RIF.RIGA(A1)));"")

    Avete mica voglia di darci una controlata per vedere se è tutto corretto?

    Grazie davvero

    Edit:

    riportando il codice sul foglio "reale", modificandone le variabili in modo corretto e testando casualmente un po di prodotti, mi sono imbattuto in una nuova cella vuota seguita da una cella con valore.

    Questo vuol dire che c'è un errore? Visto che mi mette una cella vuota direi di si però non riesco a capirne il motivo. Su 30 prove che ho fatto solo una è risultata sbagliata. Non riesco mica a capire sta cosa..

    Edit2:

    Torno a editare dicendo che ho risolto il problema qui sopra e dicendo che non centrava nulla con la formula... era un semplice errore di battitura, " " al posto di ""...

    Buona serata.

    Ivan

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2015-02-20T22:30:00+00:00

    Ciao Paolo,

    Nella cella G4 prova la formula:

    =SE.ERORE(INDICE($C$4:$C$12;PICCOLO(SE($C$4:$C$12<>"";RIF.RIGA($C$4:$C$12));RIF.RIGA(1:1)));"")

    Questa e' una formula matriciale e deve essere confermata con Ctrl+Shift+Enter. Poi trascina la formula in basso.

    Ciao Norman, mi permetto di applicarti una piccola correzione.

    =SE.ERRORE(INDICE($C$4:$C$12;PICCOLO(SE($C$4:$C$12;RIF.RIGA($C$4:$C$12)-3);RIF.RIGA(A1)));"") ovviamente matriciale.

    Grazie per la tua correzione!

    A parte il mio errore di battitura:

    =SE.ERRORE(INDICE($C$4:$C$12;PICCOLO(SE($C$4:$C$12<>"";RIF.RIGA($C$4:$C$12));RIF.RIGA(1:1)));"")

    penso di aver provato la formula nella forma:

    =IFERROR(INDEX($A$1:$A$10,SMALL(IF($A$1:$A$10<>"",ROW($A$1:$A$10)),ROW(1:1))),"")

    perché la mia versione di Excel parla anche meno italiano di me!

    Tuttavia, adesso sono al pub e sono 'hors de combat'!

    Saluti!

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento