Da lista a matrice di adiacenza

Anonimo
2012-02-15T21:44:45+00:00

Salve a tutti,

ho una lista con due variabili (padre,figlio) e vorrei trasformarla in una matrice di adiacenza.

Chiedo se sia possibile risolvere questo quesito utilizzando solo formule anche matriciali.

I valori univoci della variabile padre sono 15 pero' nella soluzione si tenga presente che ne utilizzo circa 8100  (comuni italiani).

Ho allegato anche il file con il risultato che vorrei ottenere.

saluti

Antonino

https://skydrive.live.com/redir.aspx?cid=dd405b0d5a6097c5&resid=DD405B0D5A6097C5!127&parid=root

file: Da lista a matrice

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
2012-02-16T11:11:09+00:00

Ciao Antonino,

riferendomi al tuo esempio nella cella F4 puoi scrivere:


=CONTA.PIÙ.SE($A$2:$A$39;$E4;$B$2:$B$39;F$3)

 


Se non erro Conta.Più.Se è stata introdotta a partire da office 2007

David

Infatti, non è *standard* e se il file viene aperto con una versione precedente di Excel potrebbe dare problemi.

Due possibili alternative(non le ho provate ma vado *a naso* sulla tua formula):

=SOMMA((A2:A39=E4)*(B2:B39=F3))

Da inserire con CTRL+Shift+Invio, oppure:

=MATR.SOMMA.PRODOTTO(($A$2:$A$39=$E4)*($B$2:$B$39=F$3))

La risposta è stata utile?

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2012-02-16T10:35:27+00:00

Ciao Antonino,

riferendomi al tuo esempio nella cella F4 puoi scrivere:


=CONTA.PIÙ.SE($A$2:$A$39;$E4;$B$2:$B$39;F$3)


Da estendere per riga e colonna a tutte le altre celle della matrice. Nel caso non volessi vedere gli zeri puoi modificare in questo modo:


=SE(CONTA.PIÙ.SE($A$2:$A$39;$E4;$B$2:$B$39;F$3)=0;"";CONTA.PIÙ.SE($A$2:$A$39;$E4;$B$2:$B$39;F$3))


Se non erro Conta.Più.Se è stata introdotta a partire da office 2007

David

La risposta è stata utile?

0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2012-02-16T14:12:40+00:00

    mentre quella di Mauro la renderei più onerosa con l'aggiunta di qualche $

    ROTFL!!! Se ti legge Monti...

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2012-02-16T14:05:11+00:00

    Ciao Antonino,

    riferendomi al tuo esempio nella cella F4 puoi scrivere:


    =CONTA.PIÙ.SE($A$2:$A$39;$E4;$B$2:$B$39;F$3)


    Da estendere per riga e colonna a tutte le altre celle della matrice. Nel caso non volessi vedere gli zeri puoi modificare in questo modo:


    =SE(CONTA.PIÙ.SE($A$2:$A$39;$E4;$B$2:$B$39;F$3)=0;"";CONTA.PIÙ.SE($A$2:$A$39;$E4;$B$2:$B$39;F$3))


    Se non erro Conta.Più.Se è stata introdotta a partire da office 2007

    David

    ciao David, non che io sia fanatico delle formule corte, ma prendendo spunto dalla tua si potrebbe evitare un doppio calcolo così:

    =SE(CONTA.PIÙ.SE($A$2:$A$39;$E4;$B$2:$B$39;F$3);1;"")

    mentre quella di Mauro la renderei più onerosa con l'aggiunta di qualche $ e con il controllo dello 0:

    =SE(SOMMA(($A$2:$A$39=$E4)*($B$2:$B$39=F$3));1;"") matriciale

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2012-02-16T10:41:10+00:00

    Ciao David,

    ho provato la formula e va bene!!!

    Ti rigrazio per l'aiuto.

    Antonino

    La risposta è stata utile?

    0 commenti Nessun commento