Condividi:        

TROVARE DEI VALORI CHE SOMMATI TRA LORO DANNO UN CERTO RISUL

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

TROVARE DEI VALORI CHE SOMMATI TRA LORO DANNO UN CERTO RISUL

Postdi breathe79 » 27/06/13 16:39

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
breathe79
Newbie
 
Post: 3
Iscritto il: 27/06/13 15:56

Sponsor
 

Re: TROVARE DEI VALORI CHE SOMMATI TRA LORO DANNO UN CERTO R

Postdi wallace&gromit » 27/06/13 17:26

ciao breathe e benvenuta,
ci sono due combinazioni possibili.
Ti allego un file con delle macro uscite da precedenti discussioni.
Ci sono 2 macro diverse, quella di Anthony funziona alla grande, l'altra si inceppa (non so perchè)

http://www.filedropper.com/macrotrovacombinazionidinumeri

P.S. la discussione più recente era questa:
http://www.pc-facile.com/forum/viewtopic.php?f=26&t=97387&p=559208&hilit=combinazioni+numeri#p559208
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: TROVARE DEI VALORI CHE SOMMATI TRA LORO DANNO UN CERTO R

Postdi breathe79 » 27/06/13 18:00

WOW..Grazie!!...vedo che ci sono ben 2 soluzioni!!!
Sei stato gentilissimo!!

e se volessi fare la stessa cosa con altri valori come posso fare a modificare questo file!?!?

(premetto che non ci capisco nulla con le Macro)
breathe79
Newbie
 
Post: 3
Iscritto il: 27/06/13 15:56

Re: TROVARE DEI VALORI CHE SOMMATI TRA LORO DANNO UN CERTO R

Postdi wallace&gromit » 27/06/13 19:45

nella colonna dei dati devi inserire in primo luogo il numero di combinazioni ricercate (se vuoi trovare tutte quelle possibili inserisci "0"); nella seconda riga inserisci il risultato che vuoi ottenere e di seguito tutti i possibili valori.
Una volta compilati i dati base selezioni tutta la colonna e lanci la macro: da strumenti/macro/macro... selezioni startSearch e premi esegui.
la macro crea un elenco di combinazioni nella colonna C, ricapitolando il numero cercato, l'ora in cui è stata eseguita e la posizione dei singoli elementi nell'elenco (nel caso postato io ho già cercato i valori corrispondenti: se vedi ho preso in colonna H gli elementi in posizione 1,2,3,4,5,8,9,11,13,14,15).
Questa parte è un po' laboriosa, bisognerebbe modificare la macro per ottenere quello che fa l'altra macro che opera sul foglio1 (che con i tuoi dati non sono riuscito a fare funzionare) ma per questo ci vorrebbe uno dei nostri guru!
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: TROVARE DEI VALORI CHE SOMMATI TRA LORO DANNO UN CERTO R

Postdi breathe79 » 28/06/13 15:17

GRAZIEEEEE INFINITE FUNZIONA!!!
breathe79
Newbie
 
Post: 3
Iscritto il: 27/06/13 15:56

Re: TROVARE DEI VALORI CHE SOMMATI TRA LORO DANNO UN CERTO R

Postdi Flash30005 » 28/06/13 15:46

Ciao Breathe79 e benvenuta nel Forum
Ho preso il file che creò Anthony e inseriti i tuoi dati avviando la macro CercaComb si ottiene un messaggio (inpbox) nel quale devi inserire il Target (1906,23) e avrai le combinazioni sul foglio come progettatto da Anthony.

Allego questo file

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: TROVARE DEI VALORI CHE SOMMATI TRA LORO DANNO UN CERTO R

Postdi miko » 04/07/13 19:32

buona sera,
ho visto i file publicati in questo topic, ed ho provato ad interpretare le macro;
operazione molto ardua per le mie conoscenze.
mi chiedevo se è possibile modificare sia l'inserimento dei valori,
che la visualizzazione del o dei risultati finali come nel file che allego.
http://www.filedropper.com/trovacombinazioni

in foglio 1 ho inserito un range generico;
per ciascun valore, numero base, di questo range la macro CercaComb trova,
nello stesso range, tutte le possibili combinazioni di numeri la cui somma
è pari al numero base.
fin qui la macro svolge lo stesso lavoro di quelle che avete realizzato,
cambiando solo nel modo di prelevare i dati.
il risultato viene inserito nei fogli successivi dove riporto lo stesso range,
quindi avrò un certo numero di tabelle identiche al range di foglio 1, nelle quali
verranno colorate le celle interessate dal calcolo.
al numero base ho associato il rosso;
ai numeri facenti parte della stessa combinazione ho associato uno stesso colore.
se un numero fa parte di più combinazioni associo un altro colore per evidenziare
appunto l'appartenenza a più combinazioni.
nell'intestazione di ciascuna tabella dei fogli successivi inserisco il numero base
e la riga del range di foglio1 in cui tale numero si trova.
spero che il file che invio sia più chiaro della mia descrizione:
quindi la macro verrebbe modificata solo per il diverso modo di inserimento dei dati,
non più con l'inputbox come nel codice di Flash, e nella visualizzazione delle combinazioni finali.

P.S. inumeri in rosso nelle tabelle di foglio 2 corrispondono a quelli in tabella di foglio 1,
mentre quelli di altri colori li ho modificati per avere una corrispondenza con le somme
e quindi differiscono dalla tabella di foglio 1.
saluti e grazie
windows 10 - office 2013
miko
Utente Senior
 
Post: 520
Iscritto il: 29/12/09 10:44

Re: TROVARE DEI VALORI CHE SOMMATI TRA LORO DANNO UN CERTO R

Postdi miko » 12/07/13 19:37

buona sera,
dopo vari tentativi sono ancora fermo al punto di partenza;
c'è qualcuno che nel tempo libero, vacanze e caldo permettendo,
può aiutarmi a realizzare-modificare la macro di questo topic
per ottenere quanto richiesto nel mio post precedente?
ripropongo il file dal momento che non è più disponibile
http://www.filedropper.com/trovacombinazioni
grazie saluti
windows 10 - office 2013
miko
Utente Senior
 
Post: 520
Iscritto il: 29/12/09 10:44

Re: TROVARE DEI VALORI CHE SOMMATI TRA LORO DANNO UN CERTO R

Postdi Flash30005 » 12/07/13 23:23

Avrai notato che la macro è abbastanza complessa per risolvere il quesito originale
considera che in quel caso i valori erano su una "matrice" composta da una sola colonna (colonna B) e n righe
Ora adattare quella macro ad una matrice di n righe e 5 colonne secondo me diviene un lavorone forse possibile ma abbastanza complesso.

Ti consiglierei, invece, di adattare i tuoi numeri distribuendoli tutti sulla colonna B (per come sono ora avresti 40 righe)
e utilizzare la macro per ogni numero del quale vorresti ottenere la combinazione in cui la loro somma fanno il numero da te scelto.

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: TROVARE DEI VALORI CHE SOMMATI TRA LORO DANNO UN CERTO R

Postdi miko » 17/07/13 18:16

buona sera,
avevo immaginato la complessità delle macro, anche leggendo la descrizione di Wallace.
vedrò di trovare un diverso metodo per ottenere una visualizzazione più compatta.
vorrei chiedervi se invece di considerare la somma come nel caso trattato fino ad ora,
usando le stesse macro postate, si considera la differenza e cioè dato un numero base
determinare quei numeri tali che la loro differenza dia il numero base assegnato,
come e quali righe di codice devo modificare?
infine quale variabile devo modificare, e come, per ottenere e visualizzare tutte le possibili combinazioni?
nel codice vedo le variabili:
maxCol e MaxCombin
la prima varia le colonne, la seconda il numero di combinazioni ammesse.
immagimo che devo aumentare il valore di queste due variabili.
ciao grazie
windows 10 - office 2013
miko
Utente Senior
 
Post: 520
Iscritto il: 29/12/09 10:44

Re: TROVARE DEI VALORI CHE SOMMATI TRA LORO DANNO UN CERTO R

Postdi Anthony47 » 18/07/13 03:11

La macro di cui parli e' nata per sommare gli elementi a gruppi di 1-2-3-4-. . . -N elementi, e' assolutamente inidonea per calcolare la differenza due a due.
Per questo tema suggerisco di aprire una nuova discussione.

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

Re: TROVARE DEI VALORI CHE SOMMATI TRA LORO DANNO UN CERTO R

Postdi miko » 19/07/13 19:18

ciao,
pensavo che era sufficiente sostituire o modificare le application.sum... per ottenere la differenza.
colgo il tuo suggerimento per aprire un altro topic al riguardo.
rimanendo nell'ambito di questo topic, è possibile inserire una condizione-istruzione che spiego con un esempio;
supponiamo di voler ricercare i numeri che danno somma 20, numero base;
il numero 20 può essere ottenuto in vari modi:
10+10
15+5
3+2+7+8
ma anche:
80+30 = 110 >> 110-90 = 20
30+35+45 = 110 >> 110-90 = 20
ebbene imporre la condizione che se la somma X supera 90 bisogna effettuare la differenza D=X-90
e verificare l'uguaglianza tra D ed il numero base.
ciao e grazie
windows 10 - office 2013
miko
Utente Senior
 
Post: 520
Iscritto il: 29/12/09 10:44

Re: TROVARE DEI VALORI CHE SOMMATI TRA LORO DANNO UN CERTO R

Postdi Anthony47 » 20/07/13 16:06

Application.Sum somma un gruppo di valori; la differenza va fatta invece su una coppia di valori

Per il secondo quesito: la soluzione include una macro Sub Recur(ByVal Iniz As Integer, ByVal Final As Integer, ByVal myLevel As Integer); sostituire integralmente il suo codice con questo:
Codice: Seleziona tutto
Sub Recur(ByVal Iniz As Integer, ByVal Final As Integer, ByVal myLevel As Integer)
Dim myI As Integer, myK As Integer
For myI = Iniz To (Final - LastLev + myLevel)
XYz:
    WkArr(myLevel) = VArr(myI, 1)
    WkIndex(myLevel) = myI
    If myLevel = LastLev Then 'Or (Round(Application.WorksheetFunction.Sum(WkArr()), 3)) > Round(TgVal, 3) Then
        If (Round(Application.WorksheetFunction.Sum(WkArr()), 3) Mod 90) = (Round(TgVal, 3) Mod 90) And FlExit = False Then
            Cells(1, Columns.Count).End(xlToLeft).Offset(0, 1) = "x"
            mycol = Cells(1, Columns.Count).End(xlToLeft).Column
            If mycol > maxCol Then FlExit = True
            For myK = 1 To LastLev
                Cells(WkIndex(myK) + 1, mycol) = 1 'WkIndex(myK)
            Next myK
        End If
    Else
        'If (Round(Application.WorksheetFunction.Sum(WkArr()), 3) Mod 90) > (TgVal Mod 90) Then
'            Stop
        '    GoTo SkNxLev
'            Exit For
        'End If
        Call Recur(myI + 1, NElem, myLevel + 1)
    End If
If FlExit = True Then Exit For
SkNxLev:
Next myI
WkArr(myLevel) = ""
End Sub

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

Re: TROVARE DEI VALORI CHE SOMMATI TRA LORO DANNO UN CERTO R

Postdi miko » 12/08/13 19:23

buona sera,
non ho avuto la possibilità di usare la tua ultima macro per i motivi
che accennavo nell'altro topic;
sono sicuro che funziona ma rimando per eventuali chiarimenti e/o modifiche
non appena avrò il tempo di testarla.
per intanto grazie di questo ulteriore impegno.
ciao
windows 10 - office 2013
miko
Utente Senior
 
Post: 520
Iscritto il: 29/12/09 10:44

Re: TROVARE DEI VALORI CHE SOMMATI TRA LORO DANNO UN CERTO R

Postdi francoe68 » 03/09/13 13:56

Salve, premesso che suono nuovissimo al forum, per cui forse ho perso qualche pezzo per strada facendo il copia ed incolla delee macro e della versione 1.2 della Recur per cui chiedendo come somma il valore 363,3 (ammesso che esista) il risultato è stato
---> x x
36
18
130 1
80
21,6
80
95
7,74
140 1
8,1
40,5
44,1
43,2 1 1
6,3
40,5
2,4
19
100 1
5
quindi con le combinazioni 140+43,2 = 183,2
e 130+43, 2+100= 273.2
Per cui penso di aver sbagliato qualcosa...
Posso fare il download da qualche parte? (http://www.filedropper.com/macrotrovaco ... nidinumeri mi chiedeva un login a pagamento se non erro)...
grazie ancora
francoe68
Newbie
 
Post: 3
Iscritto il: 03/09/13 13:09

Re: TROVARE DEI VALORI CHE SOMMATI TRA LORO DANNO UN CERTO R

Postdi Anthony47 » 03/09/13 16:17

Ciao francoe68, benvenuto nel forum.
La macro che devi usare e' descritta qui: viewtopic.php?f=26&t=97387&p=559208#p559208 riprendendolo da qui: viewtopic.php?f=26&t=94323#p539509, dove c' e' un link a file scaricabile.

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

Re: TROVARE DEI VALORI CHE SOMMATI TRA LORO DANNO UN CERTO R

Postdi francoe68 » 05/09/13 07:46

Grazie Antony, tra breve la provo e scusate il disturbo.
ciao
francoe68
Newbie
 
Post: 3
Iscritto il: 03/09/13 13:09

Re: TROVARE DEI VALORI CHE SOMMATI TRA LORO DANNO UN CERTO R

Postdi francoe68 » 05/09/13 07:52

Grandioso!!
Grazie ancora Anthony!!
Ciao
francoe68
Newbie
 
Post: 3
Iscritto il: 03/09/13 13:09

Re: TROVARE DEI VALORI CHE SOMMATI TRA LORO DANNO UN CERTO R

Postdi plattone » 17/06/16 08:55

scusate, io sto cercando il file in excel per il calcolo delle combinazioni. qualcuno me lo potrebbe inviare.
plattone.prova@gmail.com

grazie mille
plattone
Newbie
 
Post: 1
Iscritto il: 27/02/14 07:43

Re: TROVARE DEI VALORI CHE SOMMATI TRA LORO DANNO UN CERTO R

Postdi Flash30005 » 17/06/16 10:19

Benvenuto nel Forum Plattone

ma sei sicuro di aver effettuato la richiesta nel topic corretto?
Il calcolo delle combinazioni è una cosa
lo sviluppo di un sistema (sempre considerando una serie di numeri) che soddisfi tutte le combinazioni possibili è un'altra cosa
e, infine,
Trovare dei valori che sommati tra loro danno un certo R (titolo del topic) è altra cosa ancora.

in ogni caso fai riferimento ai link dei post in cui troverai le macro (senza dover scaricare alcun file)
oppure spiega quale è la tua esigenza, magari aprendo un nuovo topic


ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "TROVARE DEI VALORI CHE SOMMATI TRA LORO DANNO UN CERTO RISUL":


Chi c’è in linea

Visitano il forum: raimea e 32 ospiti