[Risolto]Costruire una super matrice!!

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
paoletto75
Messaggi: 118
Iscritto il: martedì 5 maggio 2015, 23:11

[Risolto]Costruire una super matrice!!

Messaggio da paoletto75 »

Ciao a tutti, eccomi di nuovo qui!
Il mio problemino è il seguente:

Ho una serie di dati (A1:E100). Vorrei costruire la matrice J1:AA100 (vedi allegato) nel modo più veloce possibile.
Per semplicità, nel mio esempio, ho considerato solamente i dati che vanno dalla riga 1 alla riga 10 (C1:C10 e B1:B10), però con il vostro aiuto vorrei estendere il ragionamento fino alla riga 100...(B1:B100 e C1:C100).
Io ho proceduto in questo modo (contorto e impegnativo...):
Prima di tutto mi sono creato le colonne G e H fino alla riga 10; è fino a qui è banale.
Poi ho fatto una taglia e incolla riga per riga (G1 e H1, G2 e H2, G3 e H3 ecc...ecc...) formando la riga J1:AC1.
Successivamente sono entrato in ciascuna cella (dalla cella J1 alla AC1) e ho inserito il simbolo $ nelle formule.
Infine ho selezionato la riga J1:AC1 e banalmente sono sceso fino alla riga 100 e così ho creato la mia matrice (J1:AC100).

Come potete ben capire il mio metodo per creare questa matrice è stato molto laborioso...c'è un modo più pratico e veloce??
N.B. Vorrei considerare i dati da B1:B100 e C1:C100...(spero di essere stato chiaro :shock: )
Grazie!
Allegati
FORUM.ods
(47.01 KiB) Scaricato 94 volte
Ultima modifica di paoletto75 il lunedì 2 gennaio 2023, 12:58, modificato 2 volte in totale.
OpenOffice 4.1.7
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1748
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Costruire una super matrice!!

Messaggio da gioh66 »

Buondì! Prova così: in J1 metti

Codice: Seleziona tutto

=SE(VAL.ERRORE(((INDIRETTO("C"&RIF.RIGA(B2)+QUOZIENTE(COLONNE($J1:K$1)-1;2))-INDIRETTO("B"&QUOZIENTE(COLONNE($J1:K$1)-1;2)+1))/INDIRETTO("B"&QUOZIENTE(COLONNE($J1:K$1)-1;2)+1))*100);"";((INDIRETTO("C"&RIF.RIGA(B2)+QUOZIENTE(COLONNE($J1:K$1)-1;2))-INDIRETTO("B"&QUOZIENTE(COLONNE($J1:K$1)-1;2)+1))/INDIRETTO("B"&QUOZIENTE(COLONNE($J1:K$1)-1;2)+1))*100)
e in K1

Codice: Seleziona tutto

=SE(VAL.ERRORE(((INDIRETTO("D"&RIF.RIGA(B2)+QUOZIENTE(COLONNE($J1:K$1)-1;2))-INDIRETTO("B"&QUOZIENTE(COLONNE($J1:K$1)-1;2)+1))/INDIRETTO("B"&QUOZIENTE(COLONNE($J1:K$1)-1;2)+1))*100);"";((INDIRETTO("D"&RIF.RIGA(B2)+QUOZIENTE(COLONNE($J1:K$1)-1;2))-INDIRETTO("B"&QUOZIENTE(COLONNE($J1:K$1)-1;2)+1))/INDIRETTO("B"&QUOZIENTE(COLONNE($J1:K$1)-1;2)+1))*100)
Poi seleziona J1 e K1 e trascinale assieme a destra e in basso.
Allegati
super matrice.ods
(80.92 KiB) Scaricato 68 volte
...se sei soddisfatto delle risposte ricevute metti il [Risolto] https://forum.openoffice.org/it/forum/v ... f=9&t=5661

Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
paoletto75
Messaggi: 118
Iscritto il: martedì 5 maggio 2015, 23:11

Re: Costruire una super matrice!!

Messaggio da paoletto75 »

Ma te gioh66 sei un mostro!!
Scusa ma che lavoro fai?Sei per caso un matematico??
Complimenti davvero!!!
E....mille grazie.....
OpenOffice 4.1.7
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1748
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Costruire una super matrice!!

Messaggio da gioh66 »

No sono solo un appassionato...come ha detto qualcuno (su altro forum) c'è chi si diverte a fare i cruciverba, io con i fogli di calcolo...e io pure. :D
...se sei soddisfatto delle risposte ricevute metti il [Risolto] https://forum.openoffice.org/it/forum/v ... f=9&t=5661

Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
paoletto75
Messaggi: 118
Iscritto il: martedì 5 maggio 2015, 23:11

Re: Costruire una super matrice!!

Messaggio da paoletto75 »

Allora adesso ti mischio un pò le carte...(vedi allegato)
La matrice che vorrei ottenere e simile a quella precedente, solamente lo schema è un po diverso in quanto i dati rispetto a prima sono "sfasati" di una colonna e di una riga (B2:F21).Per semplicità ho messo solamente 20 righe...
Inoltre in questo nuovo schema vorrei aggiungere la colonna H.
Praticamente ho un pò mischiato le celle, ma la matrice che vorrei ottenere è analoga alla precedente (con in più la colonna H).
Come devo fare?Ho provato da solo a cambiare le celle nelle formule che mi hai mandato ma non ha funzionato.... :crazy:
Grazie.
Allegati
SuperMatrice2.ods
(13.18 KiB) Scaricato 64 volte
OpenOffice 4.1.7
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1748
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Costruire una super matrice!!

Messaggio da gioh66 »

Prova a vedere se devono essere così: in L2

Codice: Seleziona tutto

=SE(VAL.ERRORE((INDIRETTO("C"&RIF.RIGA(B3)+QUOZIENTE(COLONNE($L$1:L1)-1;3))-INDIRETTO("C"&QUOZIENTE(COLONNE($L$1:L1)-1;3)+2+RIF.RIGA(B1)-1))/INDIRETTO("C"&QUOZIENTE(COLONNE($L$1:L1)-1;2)+2+RIF.RIGA(B1)-1)*100);"";(INDIRETTO("C"&RIF.RIGA(B3)+QUOZIENTE(COLONNE($L$1:L1)-1;3))-INDIRETTO("C"&QUOZIENTE(COLONNE($L$1:L1)-1;3)+2+RIF.RIGA(B1)-1))/INDIRETTO("C"&QUOZIENTE(COLONNE($L$1:L1)-1;2)+2+RIF.RIGA(B1)-1)*100)
in M2

Codice: Seleziona tutto

=SE(VAL.ERRORE((INDIRETTO("D"&RIF.RIGA(B3)+QUOZIENTE(COLONNE($L$1:L1)-1;3))-INDIRETTO("C"&QUOZIENTE(COLONNE($L$1:L1)-1;3)+2+RIF.RIGA(B1)-1))/INDIRETTO("C"&QUOZIENTE(COLONNE($L$1:L1)-1;2)+2+RIF.RIGA(B1)-1)*100);"";(INDIRETTO("D"&RIF.RIGA(B3)+QUOZIENTE(COLONNE($L$1:L1)-1;3))-INDIRETTO("C"&QUOZIENTE(COLONNE($L$1:L1)-1;3)+2+RIF.RIGA(B1)-1))/INDIRETTO("C"&QUOZIENTE(COLONNE($L$1:L1)-1;2)+2+RIF.RIGA(B1)-1)*100
)
e in N3

Codice: Seleziona tutto

=SE(VAL.ERRORE((INDIRETTO("E"&RIF.RIGA(B3)+QUOZIENTE(COLONNE($L$1:L1)-1;3))-INDIRETTO("C"&QUOZIENTE(COLONNE($L$1:L1)-1;3)+2+RIF.RIGA(B1)-1))/INDIRETTO("C"&QUOZIENTE(COLONNE($L$1:L1)-1;2)+2+RIF.RIGA(B1)-1)*100);"";(INDIRETTO("E"&RIF.RIGA(B3)+QUOZIENTE(COLONNE($L$1:L1)-1;3))-INDIRETTO("C"&QUOZIENTE(COLONNE($L$1:L1)-1;3)+2+RIF.RIGA(B1)-1))/INDIRETTO("C"&QUOZIENTE(COLONNE($L$1:L1)-1;2)+2+RIF.RIGA(B1)-1)*100)
sulle prime tre colonne sono giuste, verifica sulle altre.
Ricorda devi selezionare L2, M2 e N2 e trascinarle assieme a destra e in basso.

Oppure formula unica: in L2 da tirare a destra e in basso

Codice: Seleziona tutto

=SE(VAL.ERRORE((INDIRETTO(INDIRIZZO(QUOZIENTE(COLONNE($J1:J$1)-1;2)+2+RIF.RIGA(A1)-1;3+RESTO(COLONNE($J$1:J$1)-1;2)))-INDIRETTO(INDIRIZZO(QUOZIENTE(COLONNE($J1:J$1)-1;2)+1;2)))/INDIRETTO(INDIRIZZO(QUOZIENTE(COLONNE($J1:J$1)-1;2)+1;2))*100);"";(INDIRETTO(INDIRIZZO(QUOZIENTE(COLONNE($J1:J$1)-1;2)+2+RIF.RIGA(A1)-1;3+RESTO(COLONNE($J$1:J$1)-1;2)))-INDIRETTO(INDIRIZZO(QUOZIENTE(COLONNE($J1:J$1)-1;2)+1;2)))/INDIRETTO(INDIRIZZO(QUOZIENTE(COLONNE($J1:J$1)-1;2)+1;2))*100)
Allegati
SuperMatrice2(bis).ods
(19.58 KiB) Scaricato 52 volte
Ultima modifica di gioh66 il sabato 2 novembre 2019, 20:14, modificato 1 volta in totale.
...se sei soddisfatto delle risposte ricevute metti il [Risolto] https://forum.openoffice.org/it/forum/v ... f=9&t=5661

Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
paoletto75
Messaggi: 118
Iscritto il: martedì 5 maggio 2015, 23:11

Re: Costruire una super matrice!!

Messaggio da paoletto75 »

Allora i risultati della prima riga (riga 2) sono ok.
Le altre righe no,praticamente le altre righe non vanno bene perchè:
prendo come esempio le colonna L,M e N in quelle colonne il valore della cella C2 deve rimanere fisso;nelle colonne O,P e Q invece deve rimanere fisso il valore della cella C3 e così via..
Spero di essere stato chiaro.
OpenOffice 4.1.7
paoletto75
Messaggi: 118
Iscritto il: martedì 5 maggio 2015, 23:11

Re: Costruire una super matrice!!

Messaggio da paoletto75 »

Ti mando un allegato così è più chiaro.
Allegati
Senza nome 1.ods
(14.33 KiB) Scaricato 59 volte
OpenOffice 4.1.7
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1748
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Costruire una super matrice!!

Messaggio da gioh66 »

Fammi una cortesia rimandami un file con le formule come le faresti tu che mi studio quale deve essere la progressione. Magari poche righe ma più colonne.
...se sei soddisfatto delle risposte ricevute metti il [Risolto] https://forum.openoffice.org/it/forum/v ... f=9&t=5661

Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
paoletto75
Messaggi: 118
Iscritto il: martedì 5 maggio 2015, 23:11

Re: Costruire una super matrice!!

Messaggio da paoletto75 »

Eccoti il file allegato.
Allegati
Senza nome 1.ods
(17.58 KiB) Scaricato 54 volte
OpenOffice 4.1.7
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1748
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Costruire una super matrice!!

Messaggio da gioh66 »

Rieccomi prova così: in L2

Codice: Seleziona tutto

=SE(VAL.ERRORE((INDIRETTO("C"&RIF.RIGA(B3)+QUOZIENTE(COLONNE($L1:L$1)-1;3))-INDIRETTO("C"&QUOZIENTE(COLONNE($L1:L$1)-1;3)+2))/INDIRETTO("C"&QUOZIENTE(COLONNE($L1:L$1)-1;3)+2)*100);"";(INDIRETTO("C"&RIF.RIGA(B3)+QUOZIENTE(COLONNE($L1:L$1)-1;3))-INDIRETTO("C"&QUOZIENTE(COLONNE($L1:L$1)-1;3)+2))/INDIRETTO("C"&QUOZIENTE(COLONNE($L1:L$1)-1;3)+2)*100)
in M2

Codice: Seleziona tutto

=SE(VAL.ERRORE((INDIRETTO("D"&RIF.RIGA(B3)+QUOZIENTE(COLONNE($L1:L$1)-1;3))-INDIRETTO("C"&QUOZIENTE(COLONNE($L1:L$1)-1;3)+2))/INDIRETTO("C"&QUOZIENTE(COLONNE($L1:L$1)-1;3)+2)*100);"";(INDIRETTO("D"&RIF.RIGA(B3)+QUOZIENTE(COLONNE($L1:L$1)-1;3))-INDIRETTO("C"&QUOZIENTE(COLONNE($L1:L$1)-1;3)+2))/INDIRETTO("C"&QUOZIENTE(COLONNE($L1:L$1)-1;3)+2)*100)
e in N2

Codice: Seleziona tutto

=SE(VAL.ERRORE((INDIRETTO("E"&RIF.RIGA(B3)+QUOZIENTE(COLONNE($L1:L$1)-1;3))-INDIRETTO("C"&QUOZIENTE(COLONNE($L1:L$1)-1;3)+2))/INDIRETTO("C"&QUOZIENTE(COLONNE($L1:L$1)-1;3)+2)*100);"";(INDIRETTO("E"&RIF.RIGA(B3)+QUOZIENTE(COLONNE($L1:L$1)-1;3))-INDIRETTO("C"&QUOZIENTE(COLONNE($L1:L$1)-1;3)+2))/INDIRETTO("C"&QUOZIENTE(COLONNE($L1:L$1)-1;3)+2)*100)
Come prima una volta inserite le formule selezione le tre celle e trascina a destra e in basso.
Allegati
supermatrice3.ods
(42.28 KiB) Scaricato 60 volte
...se sei soddisfatto delle risposte ricevute metti il [Risolto] https://forum.openoffice.org/it/forum/v ... f=9&t=5661

Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1748
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Costruire una super matrice!!

Messaggio da gioh66 »

Visto che mi hai stuzzicato :mrgreen: ti propongo un'altra formula, anche migliore visto che è unica:

Codice: Seleziona tutto

=SE(VAL.ERRORE((INDIRETTO(INDIRIZZO(3+RIF.RIGA(A1)-1+QUOZIENTE(COLONNE($L$1:L1)-1;3);3+RESTO(COLONNE($L$1:L1)-1;3)))-INDIRETTO(INDIRIZZO(2+QUOZIENTE(COLONNE($L$1:L1)-1;3);3)))/INDIRETTO(INDIRIZZO(2+QUOZIENTE(COLONNE($L$1:L1)-1;3);3))*100);"";(INDIRETTO(INDIRIZZO(3+RIF.RIGA(A1)-1+QUOZIENTE(COLONNE($L$1:L1)-1;3);3+RESTO(COLONNE($L$1:L1)-1;3)))-INDIRETTO(INDIRIZZO(2+QUOZIENTE(COLONNE($L$1:L1)-1;3);3)))/INDIRETTO(INDIRIZZO(2+QUOZIENTE(COLONNE($L$1:L1)-1;3);3))*100)
La inserisci in L2 e tiri a destra e in basso.
Nel file che ti allego l'ho messa in L24 per confronto con quella precedente.
Allegati
supermatrice4.ods
(76.06 KiB) Scaricato 58 volte
...se sei soddisfatto delle risposte ricevute metti il [Risolto] https://forum.openoffice.org/it/forum/v ... f=9&t=5661

Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
paoletto75
Messaggi: 118
Iscritto il: martedì 5 maggio 2015, 23:11

Re: Costruire una super matrice!!

Messaggio da paoletto75 »

Perfetto!!!!! :super:
Ti chiedo una cosa, ma se volessi fare in modo che il contenuto della cella A2 (sia un numero, una data ecc) lo metta nella cella L1; la cella A3 nella cella O1 ecc...ecc...come dovrei fare?
Ti mando un allegato.
Grazie.
Allegati
FORUM 5 - Copia.ods
(68.97 KiB) Scaricato 56 volte
OpenOffice 4.1.7
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1748
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Costruire una super matrice!!

Messaggio da gioh66 »

Puoi fare in L1 la formula così

Codice: Seleziona tutto

=SE(VAL.ERRORE(INDIRETTO("A"&COLONNE($L1:L$1)+1));"";INDIRETTO("A"&COLONNE($L1:L$1)+1))
e trascini a destra.

Ps.: già che c'ero ho aggiunto anche qui
viewtopic.php?f=9&t=10165&p=56876#p56876
la soluzione con formula unica.
...se sei soddisfatto delle risposte ricevute metti il [Risolto] https://forum.openoffice.org/it/forum/v ... f=9&t=5661

Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
paoletto75
Messaggi: 118
Iscritto il: martedì 5 maggio 2015, 23:11

Re: Costruire una super matrice!!

Messaggio da paoletto75 »

Ho provato ma c'è qualcosa che non funziona...
Nella cella L1 (che poi avendo fatto precedentemente un unione celle, la cella L1 sarebbe L1+M1+N1) è ok, mentre nella seconda cella (O1) non va bene. N.B. O1 è l'unione delle celle O1+P1+Q1.
Allegati
FORUM 5 - Copia.ods
(69.24 KiB) Scaricato 68 volte
OpenOffice 4.1.7
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1748
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Costruire una super matrice!!

Messaggio da gioh66 »

Non funzionano le celle unite che non vanno d'accordo con le formule!
Comunque prova così in L1 metti

Codice: Seleziona tutto

=SE(VAL.ERRORE(INDIRETTO("A"&QUOZIENTE(COLONNE($L1:L$1)-1;3)+2));"";INDIRETTO("A"&QUOZIENTE(COLONNE($L1:L$1)-1;3)+2))
poi copiala e incollala in O1, R1,U1 ecc... Non trascinarla perchè allora non ti da i risultati voluti
Oppure dividi le celle e in L1 metti

Codice: Seleziona tutto

=SE(RESTO(COLONNE($L$1:L1);3)=2;SE(VAL.ERRORE(INDIRETTO("A"&QUOZIENTE(COLONNE($L1:L$1)-1;3)+2));"";INDIRETTO("A"&QUOZIENTE(COLONNE($L1:L$1)-1;3)+2));"")
e trascina a destra. Il risultato lo avrai nella cella al centro: M1, P1, S1, ecc...
...se sei soddisfatto delle risposte ricevute metti il [Risolto] https://forum.openoffice.org/it/forum/v ... f=9&t=5661

Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
paoletto75
Messaggi: 118
Iscritto il: martedì 5 maggio 2015, 23:11

Re: Costruire una super matrice!!

Messaggio da paoletto75 »

Ce l'abbiamo fatta...ancora grazie gioh66.
Non escludo che a breve ti romperò ancora :super:
Grazie del tuo prezioso aiuto.
Buona serata.
OpenOffice 4.1.7
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1748
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Costruire una super matrice!!

Messaggio da gioh66 »

Ok! Ricordati di segnare la discussione come risolta. Qui per come farlo
viewtopic.php?f=6&t=5661
Buona domenica! :D
...se sei soddisfatto delle risposte ricevute metti il [Risolto] https://forum.openoffice.org/it/forum/v ... f=9&t=5661

Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
Rispondi