Risultati da 1 a 25 di 25

Discussione: Estrarre dati da una matrice



  1. #1
    L'avatar di broadband
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Napoli
    Messaggi
    31
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    3

    Estrarre dati da una matrice

    Buonasera sono nuovo del forum,
    in allegato trovate il file dove devo gestire dei turni.
    Questi turni non rispettano nessuna scaletta ed accanto ad ogni nome vi è segnata la data di quando è stato già effettuato un turno.
    Vorrei solo con le formule e non con vba ottenere quello che ho segnato in rosso
    Grazie
    File Allegati File Allegati

  2. #2
    L'avatar di broadband
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Napoli
    Messaggi
    31
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    3
    mi sono espresso male.devo agire sulla data in b16
    mi basterebbe anche solo in ogni cella individuare la riga di dove si trova il turno effettuato

  3. #3

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7173
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2066
    Likes dati
    1306
    Ciao,
    non so se ho capito bene forse basta la funzione INDIRETTO ... guarda il mio esempio e dimmi pure.
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  4. #4
    L'avatar di broadband
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Napoli
    Messaggi
    31
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    3
    No. Mi sa che ti ho confuso io.
    Agendo sulla data in b16 i valori devono cambiare e dirmi in quale riga si trovano (per poi successivamente ordinarli ed estrapolarmi i nominativi relativi dalla colonna B ma questo sono riuscito a farlo e per questo non lo avevo chiesto)

    Spero di essere stato più chiaro

  5. #5
    L'avatar di Gianfranco55
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Vicenza
    Età
    62
    Messaggi
    2079
    Versione Office
    2016
    Likes ricevuti
    553
    Likes dati
    117
    Ciao

    guarda il file e sistemati le formule su tutti le celle

    io ho compilato giusto solo le prime tre

    mmmm! cambia le formule così per gestire se non ci sono date


    =SE.ERRORE(INDIRIZZO(4;CONFRONTA($B$16;$A4:$O4;0);4;1);"")

    i numeri in rosso sono da cambiare in base alla riga di ricerca

    ho notato che il n° sopra corrisponde al nome dell'operatore
    o della riga +2 visto che parti da A3
    File Allegati File Allegati

  6. #6

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7173
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2066
    Likes dati
    1306
    Forse ho capito vuoi l'indirizzo delle celle ... ma per tentare di trovare una formula unica non mi è chiaro il criterio perché prima F3, poi C4, po G5 ecc. :92:
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  7. #7
    L'avatar di broadband
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Napoli
    Messaggi
    31
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    3
    No non è quello che cercavo di fare perchè cambiando la data non funziona.
    Allego il file di come dovrebbe essere il prodotto finito
    ovviamente se cambio data mi devono venire fuori i nomi di chi ha fatto il turno in quella data che generalmente sono 10 ma nemmeno è detto perchè potrebbe essere anche solo 1
    File Allegati File Allegati

  8. #8
    L'avatar di broadband
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Napoli
    Messaggi
    31
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    3
    Citazione Originariamente Scritto da ges Visualizza Messaggio
    Forse ho capito vuoi l'indirizzo delle celle ... ma per tentare di trovare una formula unica non mi è chiaro il criterio perché prima F3, poi C4, po G5 ecc. :92:
    Sarebbe importante perchè l'elenco è ordinato in base all'anzianità. quindi nella prima cella ci deve andare il più anziano e cosi via. però l'ordinamento e il successivo passaggio riesco a farlo. per questo chiedevo solo come ottenere anche in ordine mischiato la riga dell'indirizzo

  9. #9
    L'avatar di Gianfranco55
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Vicenza
    Età
    62
    Messaggi
    2079
    Versione Office
    2016
    Likes ricevuti
    553
    Likes dati
    117
    Forse ho capito

    metti questa in C16

    =SE.ERRORE(SE(INDIRIZZO(3;CONFRONTA($B$16;$A3:$O3;0);4;1)=0;"";B3);"")

    e copialo sulle altre celle cambiando i numeri in rosso.
    ah! il 2007 ha il se errore?
    o ha il val.errore

  10. #10
    L'avatar di broadband
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Napoli
    Messaggi
    31
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    3
    No gianfranco, nella prima cella non per forza ci deve essere il nome della prima riga. qui l'elenco è ridotto per semplicità ma pensa che quello reale è di 250 persone.
    Ultima modifica fatta da:Canapone; 15/05/17 alle 08:53

  11. #11
    L'avatar di GiuseppeMN
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Mantova
    Messaggi
    864
    Versione Office
    2000 - 2013
    Likes ricevuti
    285
    Likes dati
    160
    Buona sera, a Tutti.

    @ broadband, nel File in allegato mi sono preso ... qualche libertà.

    Nel Foglio di lavoro originale "BASE", per non appesantire eccessivamente il File, ho considerato la Formattazione condizionale solo fino alla Riga 14
    In considerazione del numero di Nominati, ho preferito aggiungere il Foglio di lavoro "Report"; nella Cella B1 andrà inserita la Data da valutare.

    La soluzione proposta può non piacere, ma, tant'è.


    A disposizione.

    Buona serata a Tutti.

    Giuseppe
    File Allegati File Allegati
    Windows XP Excel 2000 - Windows 10 Excel 2013

  12. #12
    L'avatar di broadband
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Napoli
    Messaggi
    31
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    3
    scusami giuseppe stavo cercando ti capire il tuo operato per imparare.
    io ho office 2007 e nella formula è uscito fuori questa funzione _xlfn.AGGREGATE. è di una versione superiore?
    premetto che devo aggiornare il pacchetto ma mi potresti spiegare?

  13. #13
    L'avatar di GiuseppeMN
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Mantova
    Messaggi
    864
    Versione Office
    2000 - 2013
    Likes ricevuti
    285
    Likes dati
    160
    Buon pomeriggio, broaband.

    Citazione Originariamente Scritto da broadband Visualizza Messaggio
    scusami giuseppe stavo cercando ti capire il tuo operato per imparare.
    io ho office 2007 e nella formula è uscito fuori questa funzione _xlfn.AGGREGATE. è di una versione superiore?
    premetto che devo aggiornare il pacchetto ma mi potresti spiegare?
    Mi era sfuggito il controllo sulla versioni di Excel che utilizzi. Molto probabilmente hai ragione, la Formula è stata sviluppata con Excel 2013.

    Posso provare ad adattarla alla release 2007, ma, non disponendo di quelsta versione vedrò come posso fare.

    Solo per evitare di farti perdere tempo, allego l'immagine del risultato; fammi apere se sarebbe accettabile per le Tue Esigenze.




    A disposizione.

    Buona serata.

    Giuseppe
    Windows XP Excel 2000 - Windows 10 Excel 2013

  14. #14
    L'avatar di broadband
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Napoli
    Messaggi
    31
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    3
    Mi sono aggiornato al 2010 quindi vedo il file come si deve e ho capito come hai fatto.
    comunque no, servirebbero su una riga e seguendo l'ordine di come è l'elenco originario.
    Non lo vedo facile da realizzare

  15. #15
    L'avatar di pkrome59
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Reggio Calabria
    Età
    58
    Messaggi
    1188
    Versione Office
    Office 2013
    Likes ricevuti
    1198
    Likes dati
    2135
    Ciao broaband. se ho capito bene, una probabile soluzione, visto che hai fatto l'aggiornamento alla versione 2010 che supporta la funzione "Aggrega", sarebbe la seguente:

    =SE.ERRORE(INDICE($B$3:$B$14;AGGREGA(15;6;(RIF.RIGA($B$3:$B$14)-RIF.RIGA($B$3)+1)/($C$3:$N$14=$B16);RIF.COLONNA(A1)));"")

    da incollare in C16, trascinare verso destra per poi tirare giù fino alla bisogna.
    Allego il file di prova.
    Fa sapere.
    File Allegati File Allegati

  16. I seguenti utenti hanno dato un "Like"


  17. #16
    L'avatar di broadband
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Napoli
    Messaggi
    31
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    3
    Citazione Originariamente Scritto da pkrome59 Visualizza Messaggio
    ....
    :188::188::188: Perfetto, è proprio quello che mi serviva e lo hai risolto con una semplicità disarmante.
    Rimane il fatto che ora devo capire e non prendere il file e basta. c'è una cosa che non mi è chiara "RIF.RIGA($B$3:$B$14)-RIF.RIGA($B$3)+1" questo sarà sempre 1? $C$3:$N$14=$B16 confronti in tutta la matrice la data, e perchè messo da solo da errore "#valore?", help me! se mi fai capire mi apri un mondo... e grazie
    Ultima modifica fatta da:Canapone; 15/05/17 alle 08:53

  18. #17
    L'avatar di broadband
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Napoli
    Messaggi
    31
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    3
    Citazione Originariamente Scritto da pkrome59 Visualizza Messaggio
    C.....
    :188::188::188: Perfetto, è proprio quello che mi serviva e lo hai risolto con una semplicità disarmante.
    Rimane il fatto che ora devo capire e non prendere il file e basta. c'è qualcosa che non mi è chiaro
    Con la funzione aggrega ti trovi la riga del valore uguale alla data più piccola (15 è la funzione piccolo e 6 ignora i valori di errore) ma
    RIF.RIGA($B$3:$B$14)-RIF.RIGA($B$3)+1 sarà sempre 1?
    $C$3:$N$14=$B16 confronti in tutta la matrice la data, e perchè messo da solo da errore "#valore mentre nella formula funziona?
    rif.colonna(a1) e per farti ricavare il primo valore più piccolo? infatti nelle celle adiacenti copiando e incollando di conseguenza viene fuori rif.colonna(b1) ecc, ovvero il secondo, ecc.. valore più piccolo? quindi potrei mettere anche solo 1, 2, ecc..?
    Genio, sciapò e giù il cappello, con le mie conoscenze non sarei mai arrivato a una soluzione del genere, se mi fai capire mi apri un mondo...
    Thanks
    :188:
    Ultima modifica fatta da:Canapone; 15/05/17 alle 08:53

  19. #18
    L'avatar di pkrome59
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Reggio Calabria
    Età
    58
    Messaggi
    1188
    Versione Office
    Office 2013
    Likes ricevuti
    1198
    Likes dati
    2135
    Ciao broaband, sono contento per esserti stato utile, per quanto riguarda "RIF.RIGA($B$3:$B$14)-RIF.RIGA($B$3)+1" mi genera una serie di numeri sequenziali del tipo: 1, 2, 3, 4, 5, 6, .......,12, 13;
    Per quanto riguarda $C$3:$N$14=$B16 mettendo a confronto la matrice con la data genero una serie di "vero" e di "falso", che uniti all'operatore matematico"/", mi genera una serie di 1 e di 0.
    Poiché è impossibile dividere per 0, divisione impossibile nel campo dei numeri reali, genero in presenza di "1" un numero, mentre in presenza dello "0" genero un errore.
    Con l'utilizzo della funzione Aggrega che supporta una serie di funzioni tra cui la funzione ignora errori opzione 6; la funzione piccolo, e nel tuo caso visto che mi sposto lungo le colonne con la funzione RIF.COLONNA(A1) che mi genera i numeri 1, 2, 3, 4, 5, 6, ecc...., mi consentono di estrarre il primo più piccolo, il secondo più piccolo, ecc...
    Spero di essere stato chiaro.
    Se il caso e risolto è buona norma segnalarlo.
    P.s. $C$3:$N$14=$B16 messo da solo non funziona perché confronti una matrice con un valore, per farlo funzionare da solo devi premere i tasti: ctrl+maiuscolo+invio
    Ciao.

  20. #19
    L'avatar di broadband
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Napoli
    Messaggi
    31
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    3
    Il problema è sicuramente risolto e se per piacere mi dici come segnalarlo.
    Scusa la mia insistenza ma
    "RIF.RIGA($B$3:$B$14)-RIF.RIGA($B$3)+1)/($C$3:$N$14=$B16)"
    dovrebbe darti la matrice dove confrontare il valore k-esimo piccolo?
    Non riesco a capire come questo ti faccia uscire fuori la riga di dove si trova il valore k-esimo piccolo
    e perchè generarti i numeri sequenziali? per permetterti la divisione? se si perchè non scrivere un numero direttamente?
    Chiedo perchè se non capisco non potrei utilizzare questo ragionamento in futuro...

  21. #20
    L'avatar di broadband
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Napoli
    Messaggi
    31
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    3
    provando ho capito che i numeri sequenziali ti servono perchè in caso di date uguali ti devi trovare sempre quello più piccolo altrimenti avresti sempre lo stesso nome avendo un numero fisso. O almeno cosi dovrebbe essere :168:
    mi rimarrebbe solo una cosa da sciogliere...

  22. #21
    L'avatar di pkrome59
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Reggio Calabria
    Età
    58
    Messaggi
    1188
    Versione Office
    Office 2013
    Likes ricevuti
    1198
    Likes dati
    2135
    Ciao, evidenzia la formula sulla barra delle formule e successivamente utilizzando il tasto F9, puoi analizzare passo passo la formula nelle sue parti.

  23. #22
    L'avatar di broadband
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Napoli
    Messaggi
    31
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    3
    Mi correggo dividendo il numero sequenziale (che aumenta da solo da riga a riga) per "(BASE!$C$3:$N$14=$B5)" quando la condizione è vera ti da il numero stesso che per forza di cose è la riga dove si trova il k-esimo valore piccolo cercato con rif.colonna.
    Ok dovrebbe essere tutto più chiaro...
    Grazie... farò tesoro di questo consiglio
    Ultima modifica fatta da:Canapone; 15/05/17 alle 08:53

  24. #23
    L'avatar di broadband
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Napoli
    Messaggi
    31
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    3
    Citazione Originariamente Scritto da pkrome59 Visualizza Messaggio
    Ciao, evidenzia la formula sulla barra delle formule e successivamente utilizzando il tasto F9, puoi analizzare passo passo la formula nelle sue parti.
    Non avevo letto il messaggio prima di scrivere, infatti cosi ho fatto.
    Ancora Grazie

  25. #24
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4920
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1127
    Citazione Originariamente Scritto da broadband Visualizza Messaggio
    Il problema è sicuramente risolto e se per piacere mi dici come segnalarlo.
    Scusa la mia insistenza ma
    "RIF.RIGA($B$3:$B$14)-RIF.RIGA($B$3)+1)/($C$3:$N$14=$B16)"
    dovrebbe darti la matrice dove confrontare il valore k-esimo piccolo?
    Non riesco a capire come questo ti faccia uscire fuori la riga di dove si trova il valore k-esimo piccolo
    e perchè generarti i numeri sequenziali? per permetterti la divisione? se si perchè non scrivere un numero direttamente?
    Chiedo perchè se non capisco non potrei utilizzare questo ragionamento in futuro...
    Ciao broadband sei vuoi approfondire questao argomento guarda tutto questo video e anche se in verità in questo video il (k) l'ho generato con il RIF.RIGA anzichè con il RIF.COLONNA ma poco cambia
    fammi sapere!



  26. #25
    L'avatar di pkrome59
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Reggio Calabria
    Età
    58
    Messaggi
    1188
    Versione Office
    Office 2013
    Likes ricevuti
    1198
    Likes dati
    2135
    Ciao Gerardo, mi hai anticipato è quello che volevo fare.
    Ciao broadband, Avevo pensato di suggerirti di andare a guardare i video di Gerardo, in particolare sulla funzione aggrega.

    Quella formula è frutto di quei video, con l'unica variante del RIF.COLONNA in luogo del RIF.RIGA, per generare il K poiché necessitava in questo caso spostarsi su ogni singola riga verso destra (da sinistra a destra).
    Ciao.

Discussioni Simili

  1. Risposte: 1
    Ultimo Messaggio: 10/03/17, 13:02
  2. Valore per ordine di grandezza in rapporto agli altri dati in matrice
    Di Andrau nel forum Domande su Excel in generale
    Risposte: 2
    Ultimo Messaggio: 09/08/16, 14:57
  3. Risposte: 5
    Ultimo Messaggio: 17/05/16, 11:25
  4. Ricerca dati su matrice bidimensionale
    Di SamuelCostaRica nel forum Domande su Excel in generale
    Risposte: 5
    Ultimo Messaggio: 28/02/16, 14:11
  5. Confrontare dati in una matrice
    Di Uistiti63 nel forum Domande su Excel in generale
    Risposte: 29
    Ultimo Messaggio: 21/02/16, 22:13

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •