Condividi:        

[exce2019] Numeri in serie su matrice

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

[exce2019] Numeri in serie su matrice

Postdi Cele79 » 28/12/19 13:47

Ciao a tutti e buone feste.
Vi scrivo perche non riesco a trovare un modo per modificare una formula con matrice e spero sia possibile visto che non voglio ricorrere ad una tabella di appoggio perche altrimenti sarebbe una cosa molto lunga.
Io ho questa formula,che invio con CONTROL+MAIUSC+INVIO, che è il pezzo principale di una formula a cui poi aggiungo un altro pezzo che mi porta a quello che voglio.
All'inizio di questa formula ho messo la somma per farla funzionare e controllarmi i calcoli tramite i "valuta formula"
Questa è la formula:
Codice: Seleziona tutto
=SOMMA(SE((SE($AM$3:$AM$23=$AS1;1;0)+SE($AN$3:$AN$23=$AS1;1;0))*((SE.ERRORE(SE(($AO$3:$AO$23)+($AP$3:$AP$23)>=0;1;0);0)))*($AL$3:$AL$23)<=(GRANDE((SE($AM$3:$AM$23=$AS1;1;0)+SE($AN$3:$AN$23=$AS1;1;0))*((SE.ERRORE(SE(($AO$3:$AO$23)+($AP$3:$AP$23)>=0;1;0);0)))*($AL$3:$AL$23);($BM$1+1)));0;1))

Prima di arrivare alla somma,che a me in questa formula non serve, la formula arriva a questa situazione;
SOMMA({0.0.0.0.1.0.0.1.0.0.1.0.0.1.0.0.0.0.1.0.0})
Ora vorrei sapere se è possibile,senza tabella di appoggio e senza macro, ma tramite formula da aggiungere,che a partire da sinistra verso destra vi sia la sequenza dei numeri cosi come sotto:
SOMMA({0.0.0.0.1.0.0.2.0.0.3.0.0.4.0.0.0.0.5.0.0})
Un passaggio che mi trasformi la formula in questo risultato.
Grazie
Cele79
Utente Senior
 
Post: 102
Iscritto il: 14/01/14 12:32

Sponsor
 

Re: [exce2019] Numeri in serie su matrice

Postdi D@nilo » 29/12/19 10:41

Buongiorno
se condividi un file di esempio con un pò di dati e il risultato da ottenere scritto a mano è più facile rispondere
Avatar utente
D@nilo
Utente Junior
 
Post: 36
Iscritto il: 12/05/18 13:15
Località: ROMA

Re: [exce2019] Numeri in serie su matrice

Postdi Cele79 » 29/12/19 19:24

Ciao.
Sto parlando di squadre di calcio. La formula che ho postato è una prova che mi evidenzia le ultime 5 partite che ha giocato una squadra su 7. In questa prova ogni giornata è composta da tre righe. Quindi per capire meglio sarebbe cosi:
SOMMA({0.0.0/0.1.0/0.1.0/0.1.0/0.1.0/0.0.0/1.0.0})
Come vedi la formula mi ha evidenziato le ultime 5 partite che ha giocato e nella sesta giornata non ha giocato nessuna partita. Poi questi valori verranno moltiplicati per altri valori che mi diranno altri dati che ho già risolto.
Questo che chiedo è per trovare la forma della squadra ma non riesco a mettere i numeri da uno a cinque come vorrei senza appoggiarmi ad una tabella esterna che non vorrei fare perché sarebbe una cosa molto lunga da fare su tutte le squadre. Vorrei sapere se esiste una funzione che mi sostituisca gli 1 con i numeri a crescere anche se sono 7 o 8. Appena posso se riesco posto un file solo di questo pezzo. Grazie
Cele79
Utente Senior
 
Post: 102
Iscritto il: 14/01/14 12:32

Re: [exce2019] Numeri in serie su matrice

Postdi cromagno » 30/12/19 00:08

Mi associo a Danilo... allega un file con dati iniziali e (scritto manualmente) quello che vuoi ottenere...è inutile andare a tntoni.
Windows 10 + Office 2013 64bit(ita)
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Avatar utente
cromagno
Utente Junior
 
Post: 66
Iscritto il: 08/10/16 16:33
Località: Sardegna

Re: [exce2019] Numeri in serie su matrice

Postdi Cele79 » 30/12/19 09:09

é tutto spiegato nel file
[url]
http://www.filedropper.com/pronosticiprova
[/url]
Cele79
Utente Senior
 
Post: 102
Iscritto il: 14/01/14 12:32

Re: [exce2019] Numeri in serie su matrice

Postdi Anthony47 » 02/01/20 23:00

Non ho capito se hai gia' fatto delle elaborazioni, comunque sulla base della descrizione data (e di come l'ho interpretata io) ti propongo una "funzione personalizzata", corrispondente a questo codice:
Codice: Seleziona tutto
Function FormaTeam(ByVal RTeam As String, ByRef MyArea As Range, ByVal MNum As Long) As Variant
Dim ArrOut(1 To 3), lPoints As Long, NotYet As String
Dim I As Long, HInd As Long, HCnt As Long, tCnt As Long, ACnt As Long, lCnt As Long
'
NotYet = "--"
'
For I = MyArea.Rows.Count To 1 Step -1
    If MyArea.Cells(I, 3) <> NotYet And MyArea.Cells(I, 4) <> NotYet Then
        HInd = 0: lPoints = 0
        If UCase(MyArea.Cells(I, 1)) = UCase(RTeam) Then
            HInd = 1
            HCnt = HCnt + 1
        ElseIf UCase(MyArea.Cells(I, 2)) = UCase(RTeam) Then
            HInd = 2
            ACnt = ACnt + 1
        End If
'Se MioTeam, calcola i punti:
        If HInd > 0 Then
            If (MyArea.Cells(I, 3) > MyArea.Cells(I, 4) And HInd = 1) Or _
            (MyArea.Cells(I, 3) < MyArea.Cells(I, 4) And HInd = 2) Then
                lPoints = 3
            ElseIf MyArea.Cells(I, 3) = MyArea.Cells(I, 4) Then
                lPoints = 1
            End If
'Applica moltiplicatori e somma:
            If HInd = 1 Then
                If MNum >= HCnt Then ArrOut(2) = ArrOut(2) + lPoints * (MNum + 1 - HCnt)
            Else
                If MNum >= ACnt Then ArrOut(3) = ArrOut(3) + lPoints * (MNum + 1 - ACnt)
            End If
            If MNum > tCnt Then ArrOut(1) = ArrOut(1) + lPoints * (MNum - tCnt)
            tCnt = tCnt + 1
        End If
    End If
Next I
'Esponi risultato:
FormaTeam = ArrOut
End Function

Il codice va messo in un Modulo standard del vba del tuo file (vedi viewtopic.php?f=26&t=103893&p=647675#p647675); poi vai sul tuo foglio di lavoro.
In L4 scrivi la squadra, in J4 il numero di partite da esaminare; in C4:F50 hai l'elenco delle partite e dei risultati.
Seleziona ora le celle G3:I3 e nella barra della formula inserisci
Codice: Seleziona tutto
=FormaTeam(L4;C4:F50;J4)

Conferma la formula con Contr-Maiusc-Enter (non il solo Enter)
Otterrai nelle tre celle il "punteggio forma" totale, in casa, fuori casa

Se modifichi i parametri, la formula ricalcolera' i valori aggiornati

Ti segnalo che il mio calcolo restituira', per il Liverpool, un punteggio forma fuori casa pari a 9 e non a 5 come erroneamente (nella mia interpretazione) hai indicato tu.

La funzione rispetta gli standard excel, quindi puoi articolare la formula a tuo piacere; ad esempio (ma esono solo esempi) sono valide queste formulazioni:
Codice: Seleziona tutto
=FormaTeam("Liverpool";C4:F50;J4)
Codice: Seleziona tutto
=FormaTeam(L4;Foglio2!C4:F50;4)


Buon anno
Avatar utente
Anthony47
Moderatore
 
Post: 19432
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [exce2019] Numeri in serie su matrice

Postdi Cele79 » 03/01/20 07:53

Grazie anthony.
Appena posso la provo e ti faccio sapere.
Si era 9 e non 5 come erroneamente ho scritto.
Cele79
Utente Senior
 
Post: 102
Iscritto il: 14/01/14 12:32


Torna a Applicazioni Office Windows


Topic correlati a "[exce2019] Numeri in serie su matrice":


Chi c’è in linea

Visitano il forum: Nessuno e 17 ospiti