Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Problema

25 views
Skip to first unread message

pablito

unread,
Feb 5, 2024, 3:53:04 AMFeb 5
to
Un problema un po’ complesso e che non so se abbia una soluzione:
-In colonna da A1 ad A50 vi sono 50 valori, più o meno casuali, la cui
somma supera un valore di riferimento che si trova in B1.

È possibile costruire una formula/una macro che individui i valori da
eliminare in modo che la somma dei rimanenti coincida al 100% con il
valore in B1 ?
Grazie !!!

--
Onus probandi incumbit ei qui dicit

issdr

unread,
Feb 5, 2024, 3:58:47 AMFeb 5
to
pablito wrote:

> Un problema un po’ complesso e che non so se abbia una soluzione:
> -In colonna da A1 ad A50 vi sono 50 valori, più o meno casuali, la cui
> somma supera un valore di riferimento che si trova in B1.
>
> È possibile costruire una formula/una macro che individui i valori da
> eliminare in modo che la somma dei rimanenti coincida al 100% con il
> valore in B1 ?

non dai un algoritmo. forse si potrebbe utilizzare il risolutore di
Excel, ma non lo conosco abbastanza.

vediamo se qualcun altro ha idee.


casanmaner

unread,
Feb 5, 2024, 4:11:57 AMFeb 5
to
Qui una soluzione proprio con il risolutore Excel (automatizzato con VBA):

https://bastascimmie.com/scoprire-da-quali-importi-e-composto-un-saldo/

Naturalmente da adattare all'esigenza reale

casanmaner

unread,
Feb 5, 2024, 4:13:59 AMFeb 5
to
Il giorno lunedì 5 febbraio 2024 alle 10:11:57 UTC+1 casanmaner ha scritto:

> Qui una soluzione proprio con il risolutore Excel (automatizzato con VBA):
>
> https://bastascimmie.com/scoprire-da-quali-importi-e-composto-un-saldo/
>
> Naturalmente da adattare all'esigenza reale

Quasi quasi, quanto ho tempo, vedo di adattare con l'utilizzo di una tabella :-)
E magari con attivazione, all'apertura del file, del componente aggiuntivo risolutore.
Vediamo

pablito

unread,
Feb 5, 2024, 4:26:54 AMFeb 5
to
Sembra interessante. Grazie, lo proverò. Poi dico se va !

casanmaner

unread,
Feb 5, 2024, 4:43:11 AMFeb 5
to
Per andare va e anche senza dover attivare il componente aggiuntivo.
Vedo che è richiamato nei riferimenti del VBA.
Sarebbe da rendere più dinamico utilizzando una tabella.

pablito

unread,
Feb 5, 2024, 6:07:55 AMFeb 5
to
A me non funziona perché vuole un componente aggiuntivo, ma non so quale
attivare tra i tanti proposti. Voi sapete quale potrebbe essere ?

casanmaner

unread,
Feb 5, 2024, 6:12:17 AMFeb 5
to
Il componente aggiuntivo sarebbe il "Componente aggiuntivo Risolutore".
Però, almeno dal pc dove ho provato io, non ho necessità di attivarlo.
Si attiva, poiché collegato ai riferimenti in VBA, quando si apre il file.

Ho provato a collegare il tutto ad una tabella:

https://www.dropbox.com/scl/fi/udbpcwuvgig4xxpqs0eho/Compositore-saldi-2.xlsm?rlkey=er6rurvr77klj2m100dv2agjk&dl=0

la procedura si attiva andando a modificare il saldo.

pablito

unread,
Feb 5, 2024, 6:33:24 AMFeb 5
to
Il foglio cerca questo comando che non c'è: SolverOk e non so dove
trovarlo !

issdr

unread,
Feb 5, 2024, 7:23:03 AMFeb 5
to
pablito wrote:

> Il foglio cerca questo comando che non c'è: SolverOk e non so dove
> trovarlo !

che versione di office hai?

casanmaner

unread,
Feb 5, 2024, 7:37:30 AMFeb 5
to

pablito

unread,
Feb 5, 2024, 9:44:37 AMFeb 5
to
Dunque adesso mi funziona, anche se, francamente, non ho capito perché
ora sì e prima no (ha funzionato dopo aver chiuso altri fogli che
avevano anche loro delle macro).
Rimane però un problema cioè quello di trasferirlo e farlo funzionare
con più dati.
Sono intervenuto su "SolverOk SetCell:="$C$6", MaxMinVal:=3, ValueOf:=0,
ByChange:="$G$7:$G$87"", ma, non avendo il sorgente di SolverOK, ma non
vedo risultati anche se la routine si avvia e non dà errore.

casanmaner

unread,
Feb 5, 2024, 9:57:08 AMFeb 5
to
Hai provato a scaricare la versione che ho predisposto con la tabella?
Estendendo la tabella, inserendo nuovi dati, il tutto dovrebbe risultare
automatico.
Rimane comunque il problema "intrinseco" di tale soluzione.
Ove vi fossero più possibili addendi per arrivare al saldo desiderato ne
verrebbe trovato solo uno e non anche tutti gli altri.
Per trovare tutte le possibili combinazioni di addendi occorre affidarsi
ad altre procedure VBA.
Cercando in internet, anche in questo NG, sicuramente qualcuno ha
proposto soluzioni a tale scopo.
Anche se, a memoria, occupavano parecchie risorse di calcolo.


casanmaner

unread,
Feb 5, 2024, 10:04:53 AMFeb 5
to
Aggingo che studiando un po' le condizioni possono essere limitate ad
una indicando che le celle obiettivo assumano solo valori binari (0/1).
In pratica la macro conterebbe una sola riga per le condizioni da aggiungere

Sub Elabora()
Dim rSetCell
Dim rByChange
Dim Res As Long
With oLo
Set rSetCell = .ListColumns("Check").Total
Set rByChange = .ListColumns("Check").DataBodyRange
End With
SolverReset
SolverOk SetCell:=rSetCell, _
MaxMinVal:=3, _
ValueOf:=0, _
ByChange:=rByChange, _
Engine:=1, _
EngineDesc:="GRG Nonlinear"
'SolverAdd CellRef:=rByChange, Relation:=3, FormulaText:="0"
'SolverAdd CellRef:=rByChange, Relation:=1, FormulaText:="1"
'SolverAdd CellRef:=rByChange, Relation:=4, FormulaText:="intero"
SolverAdd CellRef:=rByChange, Relation:=5, FormulaText:="binario"
Res = SolverSolve(True)
If Res > 2 Then
If Res <> 14 Then
MsgBox "Il saldo non può essere composto da nessuna
combinazione di questi numeri"
End If
End If
End Sub

pablito

unread,
Feb 5, 2024, 10:15:01 AMFeb 5
to
Il 05/02/2024 15.57, casanmaner ha scritto:
> Il 05/02/2024 15:44, pablito ha scritto:
>> Il 05/02/2024 13.37, casanmaner ha scritto:
-- CUT --
> Hai provato a scaricare la versione che ho predisposto con la tabella?
> Estendendo la tabella, inserendo nuovi dati, il tutto dovrebbe risultare
> automatico.
Ho provato, ma non me lo scarica perché mi chiede delle credenziali di
accesso che non ho sottomano !

casanmaner

unread,
Feb 5, 2024, 10:38:39 AMFeb 5
to

pablito

unread,
Feb 5, 2024, 11:39:08 AMFeb 5
to
No ! Mi chiede sempre di registrarmi o di accedere !

casanmaner

unread,
Feb 5, 2024, 12:08:15 PMFeb 5
to
Il giorno lunedì 5 febbraio 2024 alle 17:39:08 UTC+1 pablito ha scritto:

> No ! Mi chiede sempre di registrarmi o di accedere !
Ma sei sicuro che tu non veda una freccia per fare i download anche dopo aver ignorato la richiesta di registrazione/accesso?
Si tratta di un link pubblico a dropobox dal quale, chiunque ne sia in possesso, può scaricare il file.

https://www.dropbox.com/scl/fi/3np5c68f0k7p9oilkh3h4/Screenshot-2024-02-05-18.06.32.png?rlkey=8sldsu3tks2fti0jpzvgpoyds&dl=0

https://www.dropbox.com/scl/fi/uf8imra8ax9clouh1be1m/Screenshot-2024-02-05-18.06.40.png?rlkey=6krv8c71bjwx6pxz6f3dwrajq&dl=0

pablito

unread,
Feb 5, 2024, 1:05:37 PMFeb 5
to
Grazie, in effetti armeggiando un po' compare la possibilità di
scaricare senza accedere. Adesso l'ho scaricato e mi pare funzioni senza
problemi.
Mille grazie !
0 new messages