Previous page | 1 | Next page
Facebook  

COME TROVARE I VALORI DI UNA LISTA CHE SOMMATI TRA LORO MI DANNO UN DETERMINATO RISULTATO

Last Update: 6/27/2019 6:27 PM
Author
Print | Email Notification    
Post: 1
Registered in: 6/27/2013
Location: MONTOPOLI IN VAL D'ARNO
Age: 40
Junior User
OFFLINE
6/27/2013 5:32 PM
 
Modify
 
Delete
 
Quote

Salve a tutti, sono giorni che sto impazzendo perché devo trovare i valori che sommati tra loro mi danno un determinato risultato..i valori, che possono essere anche ripetuti, sono:
€ 24,34
€ 27,91
€ 28,00
€ 37,90
€ 35,85
€ 41,19
€ 47,52
€ 63,49
€ 156,71
€ 235,11
€ 331,33
€ 365,19
€ 373,21
€ 407,95
€ 419,54
€ 529,12

e il totale da ottenere è: 1906,23 €

grazie infinite a chi saprà dirmi come impostare il foglio in excel e le relative formule/funzioni.

Irene
Personaggi random per situazioni random – nuova edizioneEFP9 pt.10/17/2019 11:14 PM by Lita_EFP
HOSTESSIpercaforum5 pt.10/17/2019 9:36 AM by filodoro
Caterina BalivoTELEGIORNALISTE FANS FORU...5 pt.10/17/2019 8:59 PM by docangelo
Post: 90
Registered in: 11/27/2012
Location: MILANO
Age: 40
Junior User
OFFLINE
6/27/2013 6:21 PM
 
Modify
 
Delete
 
Quote

non capisco cosa vuoi. La lista di numeri è solo quella oppure si devono generare numeri a caso fino a che la somma di essi non sia uguale alla cifra che vuoi? a cosa ti serve? Hai un esempio da allegare?
ciao
excel 2010
Post: 1
Registered in: 6/27/2013
Location: MONTOPOLI IN VAL D'ARNO
Age: 40
Junior User
OFFLINE
6/27/2013 6:29 PM
 
Modify
 
Delete
 
Quote

Re:
no, i numeri sono SOLO quelli ma possono essere ripetuti anche 10 volte, non è importante!
sono sicura che la somma di alcuni di loro (più o meno ripetuti) fa quella cifra perché, inizialmente, avevo la lista delle cifre esatte che portavano a 1906,23 ma poi non ho salvato il file quindi ora mi trovo a dover ricreare la lista originaria.

Spero di essermi spiegata meglio

Grazie mille per l'interessamento.

Ire


Post: 1,260
Registered in: 3/13/2012
Location: LIVORNO
Age: 74
Veteran User
2010
OFFLINE
6/27/2013 7:33 PM
 
Modify
 
Delete
 
Quote

€ 24,34
€ 27,91
€ 28,00
€ 37,90
€ 35,85
€ 63,49
€ 156,71
€ 331,33
€ 373,21
€ 407,95
€ 419,54
------------

€ 27,91
€ 28,00
€ 37,90
€ 41,19
€ 47,52
€ 63,49
€ 156,71
€ 235,11
€ 331,33
€ 407,95
€ 529,12

ho usato questa macro
Sub startSearch()
    'The selection should be a single contiguous range in a single column. _
     The first cell indicates the number of solutions wanted.  Specify zero for all. _
     The 2nd cell is the target value. _
     The rest of the cells are the values available for matching. _
     The output is in the column adjacent to the one containing the input data.
    
    If Not TypeOf Selection Is Range Then GoTo ErrXIT
    If Selection.Areas.Count > 1 Or Selection.Columns.Count > 1 Then GoTo ErrXIT
    If Selection.Rows.Count < 3 Then GoTo ErrXIT
    
    Dim TargetVal, Rslt(), InArr(), StartTime As Date, MaxSoln As Integer, _
        HaveRandomNegatives As Boolean
    StartTime = Now()
    MaxSoln = Selection.Cells(1).Value
    TargetVal = Selection.Cells(2).Value
    InArr = Application.WorksheetFunction.Transpose( _
        Selection.Offset(2, 0).Resize(Selection.Rows.Count - 2).Value)
    HaveRandomNegatives = checkRandomNegatives(InArr)
    If Not HaveRandomNegatives Then
    ElseIf MsgBox("At least 1 negative number is present between positive numbers" _
                & vbNewLine _
            & "It may take a lot longer to search for matches." & vbNewLine _
            & "OK to continue else Cancel", vbOKCancel) = vbCancel Then
        Exit Sub
        End If
    ReDim Rslt(0)
    recursiveMatch MaxSoln, TargetVal, InArr, HaveRandomNegatives, _
        LBound(InArr), 0, 0.00000001, _
        Rslt, "", ", "
    Rslt(UBound(Rslt)) = Format(Now, "hh:mm:ss")
    ReDim Preserve Rslt(UBound(Rslt) + 1)
    Rslt(UBound(Rslt)) = Format(StartTime, "hh:mm:ss")
    Selection.Offset(0, 1).Resize(ArrLen(Rslt), 1).Value = _
        Application.WorksheetFunction.Transpose(Rslt)
    Exit Sub
ErrXIT:
    MsgBox "Please select cells in a single column before using this macro" & vbNewLine _
        & "The selection should be a single contiguous range in a single column." & vbNewLine _
        & "The first cell indicates the number of solutions wanted.  Specify zero for all." & vbNewLine _
        & "The 2nd cell is the target value." & vbNewLine _
        & "The rest of the cells are the values available for matching." & vbNewLine _
        & "The output is in the column adjacent to the one containing the input data."
    End Sub

Function RealEqual(A, B, Optional Epsilon As Double = 0.00000001)
    RealEqual = Abs(A - B) <= Epsilon
    End Function
Function ExtendRslt(CurrRslt, NewVal, Separator)
    If CurrRslt = "" Then ExtendRslt = NewVal _
    Else ExtendRslt = CurrRslt & Separator & NewVal
    End Function
Sub recursiveMatch(ByVal MaxSoln As Integer, ByVal TargetVal, InArr(), _
        ByVal HaveRandomNegatives As Boolean, _
        ByVal CurrIdx As Integer, _
        ByVal CurrTotal, ByVal Epsilon As Double, _
        ByRef Rslt(), ByVal CurrRslt As String, ByVal Separator As String)
    Dim I As Integer
    For I = CurrIdx To UBound(InArr)
        If RealEqual(CurrTotal + InArr(I), TargetVal, Epsilon) Then
            Rslt(UBound(Rslt)) = (CurrTotal + InArr(I)) _
                & Separator & Format(Now(), "hh:mm:ss") _
                & Separator & ExtendRslt(CurrRslt, I, Separator)
            If MaxSoln = 0 Then
                If UBound(Rslt) Mod 100 = 0 Then Debug.Print "Rslt(" & UBound(Rslt) & ")=" & Rslt(UBound(Rslt))
            Else
                If UBound(Rslt) >= MaxSoln Then Exit Sub
                End If
            ReDim Preserve Rslt(UBound(Rslt) + 1)
        ElseIf IIf(HaveRandomNegatives, False, CurrTotal + InArr(I) > TargetVal + Epsilon) Then
        ElseIf CurrIdx < UBound(InArr) Then
            recursiveMatch MaxSoln, TargetVal, InArr(), HaveRandomNegatives, _
                I + 1, _
                CurrTotal + InArr(I), Epsilon, Rslt(), _
                ExtendRslt(CurrRslt, I, Separator), _
                Separator
            If MaxSoln <> 0 Then If UBound(Rslt) >= MaxSoln Then Exit Sub
        Else
            'we've run out of possible elements and we _
             still don't have a match
            End If
        Next I
    End Sub
Function ArrLen(Arr()) As Integer
    On Error Resume Next
    ArrLen = UBound(Arr) - LBound(Arr) + 1
    End Function
Function checkRandomNegatives(Arr) As Boolean
    Dim I As Long
    I = LBound(Arr)
    Do While Arr(I) < 0 And I < UBound(Arr): I = I + 1: Loop
    If I = UBound(Arr) Then Exit Function
    Do While Arr(I) >= 0 And I < UBound(Arr): I = I + 1: Loop
    checkRandomNegatives = Arr(I) < 0
    End Function



----------
Win 8 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 1,582
Registered in: 6/28/2011
Location: BINASCO
Age: 66
Veteran User
2007
OFFLINE
6/27/2013 7:53 PM
 
Modify
 
Delete
 
Quote

Un post simile è stato discusso oltre un'anno fà (by sal o AlWeb)
La differenza che in "quel post" non si dovevano usare doppioni.

Secondo me la vedo molto dura per il semplice motivo che creando una macro che faccia un "brute-force" sul totale, molto facilmente sarebbe lunga e potrebbe trovare diverse combinazioni. A quel punto cosa servirebbero queste?

Almeno informaci (se lo sai, quante cifre potevano essere in totale)
Invece per Tua informazione, leggi il post --> http://freeforumzone.leonardo.it/discussione.aspx?idd=9561389

X patel45
Un'attimo prima di rispondere ho aggiornato il brouser,vista la risposta ho dovuto perdere tempo per leggere il VBA. Per cortesia puoi allegare il files con la macro in questione. Grazie
------------------------------------
Un saluto Excel 2007 (se riesco capire il 2013)
Post: 1,261
Registered in: 3/13/2012
Location: LIVORNO
Age: 74
Veteran User
2010
OFFLINE
6/27/2013 8:44 PM
 
Modify
 
Delete
 
Quote

la macro non utilizza doppioni, almeno credo, per poterli utilizzare si potrebbero ricopiare i dati più volte, ma il tempo di calcolo diventa improponibile e spesso si blocca excel.
In rete si trovano varie soluzioni, ma l'unica che ha dato risultato è questa.
Attenzione che non restituisce i numeri, ma la loro posizione nella colonna a partire dall'inizio dei dati
[Edited by patel45 6/27/2013 8:47 PM]

----------
Win 8 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 1,584
Registered in: 6/28/2011
Location: BINASCO
Age: 66
Veteran User
2007
OFFLINE
6/27/2013 8:57 PM
 
Modify
 
Delete
 
Quote

OK patel45,
era solo una verifica in merito ad un fatto precedente (IE o MOZILLA)
comunque faccio notare ai programmatori del forum che copiando il codice di patel45 tramite IE, incollandolo in excel e ricopiandolo in Microsoft Visual Basic mi dà tante righe rosse.
------------------------------------
Un saluto Excel 2007 (se riesco capire il 2013)
Post: 1,262
Registered in: 3/13/2012
Location: LIVORNO
Age: 74
Veteran User
2010
OFFLINE
6/27/2013 10:10 PM
 
Modify
 
Delete
 
Quote

La macro mi è sembrata molto interessante ed ho cercato di renderla più funzionale eliminando la necessità di selezione e visualizzando direttamente gli addendi

----------
Win 8 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 2
Registered in: 6/27/2013
Location: MONTOPOLI IN VAL D'ARNO
Age: 40
Junior User
OFFLINE
7/1/2013 3:20 PM
 
Modify
 
Delete
 
Quote

GRAZIE A TUTTI!! [SM=x423017]
Post: 3
Registered in: 6/27/2013
Location: MONTOPOLI IN VAL D'ARNO
Age: 40
Junior User
OFFLINE
7/1/2013 3:38 PM
 
Modify
 
Delete
 
Quote

Re:
patel45, 27/06/2013 22:10:

La macro mi è sembrata molto interessante ed ho cercato di renderla più funzionale eliminando la necessità di selezione e visualizzando direttamente gli addendi




Scusa Patel45 ma ho scaricato il file ma non mi funziona..o sono io che non ho capito..quando lancio la macro e mi chiede di selezionare la tabella che contiene la macro, cosa devo selezionare?!?!

scusate l'ignoranza!!
Post: 1,600
Registered in: 6/28/2011
Location: BINASCO
Age: 66
Veteran User
2007
OFFLINE
7/1/2013 3:51 PM
 
Modify
 
Delete
 
Quote

>>>nvece per Tua informazione, leggi il post --> http://freeforumzone.leonardo.it/discussione.aspx?idd=9561389

Come non scritto, il problema che non risponderò più a quelli senza firma. Io sono felice e pure Voi.
------------------------------------
Un saluto Excel 2007 (se riesco capire il 2013)
Post: 3,515
Registered in: 11/14/2004
Master User
Versione Excel
OFFLINE
7/2/2013 8:11 AM
 
Modify
 
Delete
 
Quote

Firma
Ciao breathe, non hai ancora inserito la tua versione Excel nella tua firma. segui il link in fondo alla mai firma "Versione Excel" per come fare.

molte volte è stato trattato questo argomento, di difficile soluzione, perche cambiando gli addendi si possono avere più risultati idendici, sta poi al propositore scegliere quale selezione degli addendi da considerare.

si potrebbe usare il risolutore di Excel, ma comunque non avrai una serie certa.

questo solo perche chi trasmette i dati, si scoccia di scrivere a quali fatture o altro fa riferimento il totale.

Ciao By Sal [SM=x423051]

Excel 2013

Iscriviti al nuovo sito che ho aperto troverai altre RISPOSTE

https://www.bysal-excel.it
Post: 1,277
Registered in: 3/13/2012
Location: LIVORNO
Age: 74
Veteran User
2010
OFFLINE
7/2/2013 8:40 AM
 
Modify
 
Delete
 
Quote

Re: Re:
breathe79, 01/07/2013 15:38:




Scusa Patel45 ma ho scaricato il file ma non mi funziona..o sono io che non ho capito..quando lancio la macro e mi chiede di selezionare la tabella che contiene la macro, cosa devo selezionare?!?!

scusate l'ignoranza!!


Se hai scaricato il file allegato non c'è bisogno di selezionare niente come ho detto nel post precedente, basta lanciare la macro


----------
Win 8 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 0
Registered in: 12/15/2011
Location: MILANO
Age: 28
Junior User
OFFLINE
9/10/2014 6:18 PM
 
Modify
 
Delete
 
Quote

molto utile grazie
Post: 0
Registered in: 9/22/2015
Junior User
OFFLINE
9/22/2015 10:25 AM
 
Modify
 
Delete
 
Quote

grazie
Post: 0
Registered in: 5/18/2016
Junior User
OFFLINE
5/18/2016 1:25 PM
 
Modify
 
Delete
 
Quote

grazie
Grazie
Post: 0
Registered in: 6/21/2016
Age: 54
Junior User
2007
OFFLINE
6/21/2016 11:04 PM
 
Modify
 
Delete
 
Quote

Come trovare gli addendi che formano una somma
Ciao a tutti, sono nuova di questo forum e mi scuso in anticipo se sbaglio nell'esporre il mio quesito.
Ho un elenco di importi relativi a fatture emesse ad un fornitore, quest'ultimo ha provveduto al pagamento di una somma X che non è il totale. Avrei necessità di conoscere gli importi delle fatture che formano la somma ricevuta per sapere quanto ancora ha di scoperto.
Spero di essere stata chiara.
Mi sembra che questa discussione faccia al caso mio, ma non riesco a scaricare l'allegato per testarlo sulla mia tabella.
Grazie
Saoly65 [SM=x423017]
Post: 2,049
Registered in: 6/21/2013
Location: NAPOLI
Age: 66
Veteran User
Excel 2013
OFFLINE
6/21/2016 11:07 PM
 
Modify
 
Delete
 
Quote

Ciao Sandra

Ora che hai scritto il primo post dovresti essere in grado di scaricare il file.

Alfredo
Post: 1
Registered in: 6/21/2016
Age: 54
Junior User
2007
OFFLINE
6/21/2016 11:54 PM
 
Modify
 
Delete
 
Quote

Come trovare gli addendi che formano una somma
Grazie, ho scaricato il file ed è perfettamente funzionante!
Saoly65
Post: 0
Registered in: 8/5/2016
Location: MILANO
Age: 17
Junior User
OFFLINE
8/5/2016 12:06 PM
 
Modify
 
Delete
 
Quote

ciao a tutti.
posso provare a scaricare il file della discussione per vedere se fa al caso mio?
grazie
Post: 3,308
Registered in: 3/13/2012
Location: LIVORNO
Age: 74
Master User
2010
OFFLINE
8/5/2016 12:17 PM
 
Modify
 
Delete
 
Quote

sei nuovo e non ne hai ancora il diritto, rispondi a questo messaggio e poi lo potrai fare

----------
Win 8 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 0
Registered in: 11/8/2016
Age: 37
Junior User
OFFLINE
11/8/2016 5:27 PM
 
Modify
 
Delete
 
Quote

Ciao a tutti!

Anch'io vorrei provare a scaricare il file e vedere se risolve questo noioso problema [SM=g27823]
Post: 3,442
Registered in: 3/13/2012
Location: LIVORNO
Age: 74
Master User
2010
OFFLINE
11/8/2016 5:59 PM
 
Modify
 
Delete
 
Quote

sembra che tu non abbia letto la mia risposta precedente

----------
Win 8 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 0
Registered in: 11/12/2016
Location: MILANO
Age: 69
Junior User
OFFLINE
11/14/2016 2:45 PM
 
Modify
 
Delete
 
Quote

COME TROVARE I VALORI DI UNA LISTA CHE SOMMATI TRA LORO MI DANNO UN DETERMINATO RISULTATO
Buongiorno,
Discussione molto interessante.
Grazie a tutti
Rolando
Post: 0
Registered in: 12/5/2016
Location: MILANO
Age: 28
Junior User
OFFLINE
12/5/2016 5:01 PM
 
Modify
 
Delete
 
Quote

ciao a tutti... mi sembra molto interessante.. grazie per i vostri utili consigli [SM=x423047] [SM=x423047] [SM=x423047] [SM=x423047]
Post: 0
Registered in: 5/18/2018
Location: MILANO
Age: 33
Junior User
excel 2003
OFFLINE
5/18/2018 6:22 PM
 
Modify
 
Delete
 
Quote

grazie
grazie molto utile la discussione
Post: 0
Registered in: 3/20/2019
Junior User
OFFLINE
3/20/2019 11:16 AM
 
Modify
 
Delete
 
Quote

grazie
grazie discussione molto utile !
Post: 0
Registered in: 6/27/2019
Junior User
OFFLINE
6/27/2019 6:27 PM
 
Modify
 
Delete
 
Quote

Macro somma addendi
Sembrerebbe ciò che cercavo
Provo
Grazie
Robbie
Admin Thread: | Close | Move | Delete | Modify | Email Notification Previous page | 1 | Next page
New Thread
 | 
Reply
Home Forum | Bacheca | Album | Users | Search | Log In | Register | Admin
Tutti gli orari sono GMT+01:00. Adesso sono le 1:36 AM. : Printable | Mobile | Regolamento | Privacy
FreeForumZone [v.5.0.0] - Copyright © 2000-2019 FFZ srl - www.freeforumzone.com