Condividi:        

Aiuto !!! Matrice 2 Dimensioni

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Aiuto !!! Matrice 2 Dimensioni

Postdi Sara25 » 11/06/14 22:06

Ciao ragazzi ho un piccolo problema che non riesco a risolvere e spero tanto di trovare in questo forum la soluzione :).
Dovrei manipolare dei dati in un foglio Excel, per creare una matrice; spiego meglio il problema:

Ho un foglio Excel in cui ho tre colonne: Nella prima vi sono le città di partenza, nella seconda la città di arrivo e nella terza il tempo necessario per spostarsi dal nodo di partenza al nodo di arrivo. Vi faccio un esempio (con le lettere)

A A 0
A B 5
A C 10
B A 7
B B 0
B C 12
C A 9
C B 13
C C 0

partendo da tale foglio dovrei magari utilizzando una macro (richiesta dal docente o se non possibili qualsiasi mezzo) creare una matrice delle distanze del tipo:


_A B C
A * * *
B * * *
C * * *

dovrei quindi richiamare ad uno ad uno le coppia della tabella scritta precedentemente e compilare la matrice.
Il problema è che le città sono 720 dunque dovrei automatizzare la procedura.

Vi ringrazio tanto per l'aiuto
spero di aver inserito il post nel punto giusto del forum

Ancora grazie
Sara
Sara25
Newbie
 
Post: 3
Iscritto il: 11/06/14 21:35

Sponsor
 

Re: Aiuto !!! Matrice 2 Dimensioni

Postdi ricky53 » 11/06/14 23:13

Ciao,
però non puoi chiederci di fare il compito al tuo posto.

Ti possiamo dare degli spunti ... starà a te tradurre gli spunti in istruzioni (ciclo For/Next come minimo) ed elaborare tutte le righe occupate dai dati e ...
Come te la cavi con la programmazione ed il VBA?


Prima di tutto non potrai utilizzare Office 2003 perchè questa versione ha il limite legato al numero massimo di colonne che è pari a 256
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Aiuto !!! Matrice 2 Dimensioni

Postdi ricky53 » 12/06/14 00:04

Ciao,
perchè la distanza AB è 5 e la distanza BA è 7?

Stessa domanda per
AC 10 e CA 9
BC 12 e CB 13
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Aiuto !!! Matrice 2 Dimensioni

Postdi Sara25 » 12/06/14 07:15

perchè per via dei sensi unici la matrice non è simmetrica. E' da giorni che cerco di risolverlo ma non so quale sia il miglior approccio. sto studiando programmazione VBA ma è difficile cimentarmi di volta in volta in esercizi differenti. secondo voi qual'è la miglior logica da seguire? come faccio a dire al singolo elemento aIJ di confrontare il nome della riga ed il nome della colonna con la la riga corrispondente alla prima tabella?

Grazie
Sara25
Newbie
 
Post: 3
Iscritto il: 11/06/14 21:35

Re: Aiuto !!! Matrice 2 Dimensioni

Postdi ricky53 » 12/06/14 10:27

Ciao,
allora consideriamo il tuo esempio come effettivamente rispondente alla realtà.

Sei una studentessa universitaria o ... ?

Cosa conosci del VBA e della programmazione?
per esempio il seguente codice sai interpretarlo?
Codice: Seleziona tutto
    Foglio2.Cells(2, "A") = Foglio1.Cells(2, "A")
    UR1 = Foglio1.Range("A" & Rows.Count).End(xlUp).Row
    J = 2
    For I = 3 To UR1
        If Foglio1.Cells(I, "A") <> Foglio1.Cells(I - 1, "A") Then
            J = J + 1
            Foglio2.Cells(J, "A") = Foglio1.Cells(I, "A")
        End If
    Next I

Copialo in un modulo e, dopo averlo letto e cercato di capire cosa fa, eseguilo su una copia del tuo file delle distanze.
Ho ipotizzato che i dati siano nel Foglio1 ed inizino dalla cella "A2" andando in giù

Cosa ottieni nel Foglio2 ?
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Aiuto !!! Matrice 2 Dimensioni

Postdi Sara25 » 12/06/14 10:40

Ciao grazie dell'aiuto . Proverò a fare un tentativo
e magari se non gira come deve lo posterò

grazie
Sara25
Newbie
 
Post: 3
Iscritto il: 11/06/14 21:35

Re: Aiuto !!! Matrice 2 Dimensioni

Postdi ricky53 » 12/06/14 12:34

Ciao,
ATTENZIONE quanto ti ho inviato NON è la soluzione è solo un esempio che si può applicare al tuo foglio per ... fare quello che vedrai in seguito alla prova che farai.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Aiuto !!! Matrice 2 Dimensioni

Postdi Anthony47 » 12/06/14 15:54

Una soluzione alternativa:
-Nel foglio che contiene la tabella delle distanze crea l' elenco unico delle citta', partendo dai dati di colonna A e usando "Filtro avanzato"
-su altro foglio vuoto, copia in colonna A (verticale) l' elenco delle citta' (con la prima citta' in A2)
-copia lo stesso elenco di citta' in riga 1 (orizzontale; la prima citta' in B1
-poi in B2 del nuovo foglio usa la formula
Codice: Seleziona tutto
=INDICE(Foglio3!$C$1:$C$200;CONFRONTA($A2&B$1;Foglio3!$A$1:$A$200&Foglio3!$B$1:$B$200;0))
La formula va confermata con Cont-Maiusc-Enter, non il solo Enter
Copia B2 verso destra, poi copia la prima riga di formule verso il basso

Dovresti cosi' avere la tabella delle distanze.
Nel mio esempio, la tabella delle distanze e' in Foglio3, colonne A, B e C, su 200 righe; adatta la formula alla tua situazione.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Aiuto !!! Matrice 2 Dimensioni

Postdi ninai » 13/06/14 07:38

Ciao a tutti

Sono arrivato allo stesso ragionamento di Anthony (ciao), uniche varianti sono:
1) essendo le distanze AB<>BA, si dovrebbero fare due Abachi , invertendo le concatenazioni nella formula precedente.
2) si può evitare il CTRL...... (uno stress ribadirlo e farlo), con MATR.SOMMA.PRODOTTO()
Codice: Seleziona tutto
 =MATR.SOMMA.PRODOTTO((Foglio3!$A$1:$A$200=$A2)*(Foglio3!$B$1:$B$200=B$1)*Foglio3!$C$1:$C$200))

(Da testare, sono stato pigro nel riprodurmi lo scenario di Anthony)
w8 + Office 2010 Ita
ninai
Utente Senior
 
Post: 271
Iscritto il: 12/06/13 05:23
Località: prov. Messina

Re: Aiuto !!! Matrice 2 Dimensioni

Postdi scossa » 13/06/14 07:54

Sara25 ha scritto:partendo da tale foglio dovrei magari utilizzando una macro (richiesta dal docente o se non possibili qualsiasi mezzo) creare una matrice delle distanze


Quali sono le tue basi di VBA, perché è inutule proporti una macro che "va oltre" le tue conoscenze: il docente capirebbe subito che non è lavoro tuo.
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 427
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

Re: Aiuto !!! Matrice 2 Dimensioni

Postdi ricky53 » 13/06/14 11:41

Ciao,
Scossa: verissimo quanto hai scritto .

infatti io le avevo chiesto che studi facesse proprio per cercare di tarare il codice al livello di Sara (il mio piccolo esempio era a livello medio-base) ... anche se sono, per principio, contrario al prodotto "Chiavi in mano" proprio per i risultati che produce: si utilizza un qualcosa che non si sa gestire !!!

Questo è ancora più vero in caso di utilizzo di codice da parte di studenti !!!
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Aiuto !!! Matrice 2 Dimensioni

Postdi scossa » 13/06/14 11:55

ninai ha scritto:Ciao a tutti

Sono arrivato allo stesso ragionamento di Anthony (ciao), uniche varianti sono:
1) essendo le distanze AB<>BA, si dovrebbero fare due Abachi , invertendo le concatenazioni nella formula precedente.
2) si può evitare il CTRL...... (uno stress ribadirlo e farlo), con MATR.SOMMA.PRODOTTO()
Codice: Seleziona tutto
 =MATR.SOMMA.PRODOTTO((Foglio3!$A$1:$A$200=$A2)*(Foglio3!$B$1:$B$200=B$1)*Foglio3!$C$1:$C$200))

(Da testare, sono stato pigro nel riprodurmi lo scenario di Anthony)


Ciao ninai,

720 città da gestire significa una matrice di 518.400 celle contenenti una sleppa di formula! La vedo piuttosto "lenta" :)
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 427
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

Re: Aiuto !!! Matrice 2 Dimensioni

Postdi scossa » 13/06/14 11:56

ricky53 ha scritto:Questo è ancora più vero in caso di utilizzo di codice da parte di studenti !!!


Già immagino l'imbarazzo quando il docente chiede di spiegare ad esempio
Codice: Seleziona tutto
.Offset(x,y).Resize(k,m)
:lol:
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 427
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

Re: Aiuto !!! Matrice 2 Dimensioni

Postdi ricky53 » 13/06/14 12:40

Ciao,
sei proprio cattivo!
Potevi proporre una cosa più semplice tipo
Codice: Seleziona tutto
Set Ws_Out = Sheets("NomeFoglio")
J = Ws_Out.Range("F" & Rows.Count).End(xlUp).Row + 1
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Aiuto !!! Matrice 2 Dimensioni

Postdi ninai » 14/06/14 12:03

ricky53 ha scritto:Ciao,
sei proprio cattivo!



Confermo!!! :lol: :lol: :evil:


Perfido direi :D

scossa ha scritto:720 città da gestire significa una matrice di 518.400 celle ........ La vedo piuttosto "lenta" :)


le celle con le formule sarebbero "solo" 517.680 (518.400-720) :lol: :lol:
w8 + Office 2010 Ita
ninai
Utente Senior
 
Post: 271
Iscritto il: 12/06/13 05:23
Località: prov. Messina

Re: Aiuto !!! Matrice 2 Dimensioni

Postdi Anthony47 » 14/06/14 13:39

Qui sischerza e si ride... cosa mi sono perso? :D :D
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Aiuto !!! Matrice 2 Dimensioni

Postdi ricky53 » 14/06/14 16:49

Ciao,
il "Resize" unito all' "Offset" di Scossa. Eh, Eh !!!
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Aiuto !!! Matrice 2 Dimensioni

Postdi scossa » 14/06/14 17:02

Anthony47 ha scritto:Qui sischerza e si ride... cosa mi sono perso? :D :D


Sara25 latita ......

Fatico a comprendere quelli che chiedono un aiuto e poi spariscono.
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 427
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

Re: Aiuto !!! Matrice 2 Dimensioni

Postdi scossa » 14/06/14 17:07

ricky53 ha scritto:Ciao,
il "Resize" unito all' "Offset" di Scossa. Eh, Eh !!!


Ma io avrei un codice molto sintetico da proporre come soluzione, ma poi non so se sarebbe in grado di spiegarne la logica al docente.
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 427
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona


Torna a Applicazioni Office Windows


Topic correlati a "Aiuto !!! Matrice 2 Dimensioni":

aiuto windows 10
Autore: mod360
Forum: Software Windows
Risposte: 1
aiuto installazione
Autore: mod360
Forum: Software Windows
Risposte: 3

Chi c’è in linea

Visitano il forum: Nessuno e 33 ospiti