Formula per trovare celle la cui somma è 2500

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
Pippi18
00venerdì 18 novembre 2016 09:36
Ciao a tutti,

ho un problema con excel. Ho un file contenente un'unica colonna riportante degli importi in euro:
€ 181,22
€ 677,90
€ 285,09
€ 20,00
€ 1.193,46
€ 1.134,26
€ 84,42
€ 121,22
€ 2.389,69
€ 218,42
€ 598,49
€ 233,32
€ 2.036,48
eccetera (totale 350 righe)

Avrei bisogno di capire quali tra queste cifre, sommate insieme, danno come importo 2500 euro.
Premetto che potrebbe esserci un'unica combinazione, piuttosto che più combinazioni.
Qualcuno riesce gentilmente ad aiutarmi? Grazie mille!
dodo47
00venerdì 18 novembre 2016 11:15
Ciao
quello allegato è una rivisitazione di un ottimo lavoro da:
http://www.tushar-mehta.com

Funzionamento:
- B1: lascia 0 (zero) per avere tutte le combinazioni oppure limitale a...

- B2 la somma da trovare

- da B3 in giù i tuoi numeri

- click su Cerca

saluti
dodo47
00venerdì 18 novembre 2016 11:47
Ciao...sorry, ma lascia stare...ho visto solo ora che hai 350 numeri....

vedo se può essere migliorata

saluti
Pippi18
00venerdì 18 novembre 2016 11:47
Grazie mille.
Il tuo file funziona ed è molto intuitivo, ma va ad eliminare i duplicati, mentre nel mio file nel caso di cifre ripetute avrei bisogno di vedere tutte le combinazioni. Riesci ad aiutarmi?

es.
valori
2,00
4,00
6,00
8,00
11,00
23,00
8,00

somma: 50

Nel tuo file ottengo un'unica combinazione, mentre con le ripetizioni sarebbero 3 (a causa dei due 8).

Grazie!
dodo47
00venerdì 18 novembre 2016 11:57
Ciao
funziona così....mi spiace ma ha il pregio della velocità, cosa complessa nelle combinazioni. Prova a fare una ricerca di combinazioni con ripetizione.

Ma che senso ha utilizzare (nel tuo esempio) 8 due volte ?

Comunque nella sub mSortUnique devi cambiare:

Range("B4:B" & Ur).Sort Key1:=Range("B3"), Order1:=xlDescending, Header:=xlNo, _

con:

Range("B3:B" & Ur).Sort Key1:=Range("B3"), Order1:=xlDescending, Header:=xlNo, _


saluti
Pippi18
00venerdì 18 novembre 2016 12:07
Purtroppo devo considerare anche le ripetizioni, perchè tali numeri sono riferiti a fatture, e posso avere fatture di fornitori diverse ma (per puro caso) con lo stesso importo....
dodo47
00venerdì 18 novembre 2016 12:37
Ciao
questo è lo stralcio dell'originale.

Prima di cliccare sul pulsante
, devi selezionare la colonna B da B1 a fine dati e poi click.

Nota: restituisce una stringa in col C così composta:

TOTALE, Ora inizio, POSIZIONE DEI NUMERI CHE COMPONGONO IL TOTALE

cioè, se per esempio hai:

0 (tutte le combinazioni)
10 (totale da trovare)
2
4
2
4

ti restituisce:
8, 12:33:27, 1, 2, 3
8, 12:33:27, 1, 3, 4
8, 12:33:27, 2, 4

dove 8 è la somma
12:33:27 l'orario
1,2,3 - 1,3,4 - 2,4 corrispondono alla posizione dei numeri che danno la somma:

per esempio:
1,2,3 sono: il 2, il 4 , il 2
2,4 sono: il 4, il 4

Modificalo come vuoi.

saluti
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 16:34.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com