Risultati da 1 a 7 di 7

Discussione: formula differenza



  1. #1
    L'avatar di kael
    Clicca e Apri
    Data Registrazione
    Dec 2015
    LocalitÓ
    Napoli
    EtÓ
    30
    Messaggi
    4
    Versione Office
    Excel 2003
    Likes ricevuti
    0
    Likes dati
    0

    formula differenza

    salve a tutti
    volevo sapere se esiste una formula per questa situazione
    ho un file Excel dove sono riportate le cifre degli assegni ricevuti dai clienti e il totale, quando ricevo l'estratto conto, la banca non mi dice quali assegni sono tornati indietro ma mi da un totale d quelli incassati che molte volte non corrisponde con il totale che ho nel file Excel
    la mia intenzione era quella di riuscire a estrapolare la cifra che mi manda la banca dal file Excel attraverso una formula in modo tale che so quali sono gli assegni che sono stati incassati senza che faccia mille combinazioni per ottenere la cifra
    Ultima modifica fatta da:Canapone; 04/07/17 alle 08:43

  2. #2

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    LocalitÓ
    Como
    EtÓ
    53
    Messaggi
    7147
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2063
    Likes dati
    1300
    Ciao,
    per meglio aiutarti allega un file con un breve esempio di ci˛ che vuoi ottenere.
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se pu˛ sembrare improbabile, non pu˛ che essere quella giusta!

  3. #3
    L'avatar di Gerardo ZuccalÓ
    Clicca e Apri
    Data Registrazione
    May 2015
    LocalitÓ
    Milano, Italy
    EtÓ
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1126
    Ciao Kael benvenuto in forumexcel.it
    Credo che tu debba mettere il file di excel (senza dati sensibili e cifre inventate)
    poi devi spiegarci dove e che tipo di formula vuoi
    Grazie kael ciao

  4. #4
    L'avatar di kael
    Clicca e Apri
    Data Registrazione
    Dec 2015
    LocalitÓ
    Napoli
    EtÓ
    30
    Messaggi
    4
    Versione Office
    Excel 2003
    Likes ricevuti
    0
    Likes dati
    0
    buonasera
    nella colonna a ci sono le cifre degli assegni nella colonna d la cifra che voglio estrapolare in pratica voglio scoprire le cifre nella colonna a che compongono la somma nella colonna d, ho allegato il file
    File Allegati File Allegati
    Ultima modifica fatta da:Canapone; 04/07/17 alle 08:43

  5. #5
    L'avatar di Gerardo ZuccalÓ
    Clicca e Apri
    Data Registrazione
    May 2015
    LocalitÓ
    Milano, Italy
    EtÓ
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1126
    Ciao kael adesso con un esempio allegato la tua domanda Ŕ chiarissima,
    tuttavia non credo che si possa sapere di quali numeri Ŕ composta la cifra nella cella D2, vorrei essere smentito da qualche "guru" di excel, ma le cifre che compongono quel numero potrebbero essere tante o poche, una o l'altra..
    Aspettiamo magari qualcuno tira fuori qualcosa dal cilindro magico!!
    ciao

  6. #6

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    LocalitÓ
    Como
    EtÓ
    53
    Messaggi
    7147
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2063
    Likes dati
    1300
    Questa sub (non Ŕ farina del mio sacco) risolve il problema

    Codice: 
    Dim VArr, WkArr(), WkIndex(), I As Integer, J As Integer, maxCol As Long, FlExit As Boolean
    Dim Kappa As Integer, WResult As String, TgVal, LastLev As Long, II As Long, NElem As Integer
    
    
    Sub CercaComb()
    'Rev. 1.2
    '
    Dim Col2H As Double, Col2K As Double
    '
    maxCol = 2         '<<<  N░ max di match
    MaxCombin = 100000000   '<<<  N░ max di combinazioni che saranno testate
    '
    FlExit = False
    If maxCol > Columns.Count Then maxCol = Columns.Count - 3
    TgVal = (InputBox("Valore target?"))
    TgVal = Val(Replace(TgVal, ",", "."))    'Gestisce decimale sia "punto" che "virgola"
    VArr = Range(Range("A2"), Cells(Rows.Count, 1).End(xlUp))
    NElem = UBound(VArr, 1)
    ReDim WkArr(NElem): ReDim WkIndex(NElem)
    Range("B1").Resize(NElem + 1, Columns.Count - 1).Clear
    '
    LastLev = 3
    For I = 1 To NElem - 1
    'modificato per calcolare anche il tot delle combinazioni (uso di Col2K e II)
        Col2H = Col2H + Evaluate("FACT(" & NElem & ")/FACT(" & I & ")/FACT(" & NElem - I & ")")
        If Col2H <= MaxCombin Then Col2K = Col2H - 1: II = I
        If Col2H <= MaxCombin Then Gruppidi = Gruppidi & " " & I
    Next I
    
    
    
    
    Rispo = MsgBox("Il valore target e': " & TgVal _
            & vbCrLf & "Impostato max combinazioni: " & Round(MaxCombin / 1000000, 1) & " Milioni" _
            & vbCrLf & "N░ di combinazioni massime che saranno testate: " & Col2K - _
            Evaluate("FACT(" & NElem & ")/FACT(" & I & ")/FACT(" & NElem - I & ")") & vbCrLf _
            & "(Combinazione di " & NElem & " elementi a gruppi di " & Gruppidi & ")" & vbCrLf _
            & "Massimo " & maxCol & " risultati" & vbCrLf _
            & "(Corrispondente al " & Int(Col2K / Col2H * 100) & "% delle possibili combinazioni)" & vbCrLf _
            & vbCrLf & "OK per procedere, CANCEL per annullare e modificare i parametri", vbOKCancel)
            
    
    
    If Rispo = vbCancel Then Exit Sub
    sTimer = Timer
    '
    If TgVal = 0 Then GoTo ZeroVal
    '
    For LastLev = 1 To II
        For J = 0 To NElem
            WkArr(J) = "": WkIndex(J) = ""
        Next J
        Call Recur(1, NElem, 1)
    DoEvents
    Next LastLev
    If FlExit = True Then mexflex = "(stop per limite di colonne massime da riportare)"
    ZeroVal:
    MsgBox ("Completato in " & Int(Timer - sTimer) & " Secondi" & vbCrLf & "Rilevati " & _
        Application.WorksheetFunction.CountIf(Range("1:1"), "x") _
        & " match" & vbCrLf & mexflex)
    End Sub
    
    
    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
        WkArr(myLevel) = VArr(myI, 1)
        WkIndex(myLevel) = myI
        If myLevel = LastLev Then
    aaa = Application.WorksheetFunction.Sum(WkArr())
    
    
        If Round(Application.WorksheetFunction.Sum(WkArr()), 3) = Round(TgVal, 3) 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
        Call Recur(myI + 1, NElem, myLevel + 1)
        End If
    If FlExit = True Then Exit For
    Next myI
    End Sub
    L'alternativa pare che sia l'uso del risolutore (QUI)
    File Allegati File Allegati
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se pu˛ sembrare improbabile, non pu˛ che essere quella giusta!

  7. I seguenti 2 utenti hanno dato un "Like" a ges per questo post:


  8. #7
    L'avatar di kael
    Clicca e Apri
    Data Registrazione
    Dec 2015
    LocalitÓ
    Napoli
    EtÓ
    30
    Messaggi
    4
    Versione Office
    Excel 2003
    Likes ricevuti
    0
    Likes dati
    0
    Grazie :) questa formula e' fantastica.

    funziona!
    Ultima modifica fatta da:Canapone; 04/07/17 alle 08:43

Discussioni Simili

  1. Calcolare differenza a fasce
    Di Gianfranco55 nel forum Domande su Excel in generale
    Risposte: 32
    Ultimo Messaggio: 22/09/17, 18:08
  2. [Risolto] Differenza ora
    Di Alessandro nel forum Domande su Excel in generale
    Risposte: 5
    Ultimo Messaggio: 07/12/16, 19:23
  3. [Risolto] Differenza tra due orari
    Di NicolaM nel forum Domande su Excel in generale
    Risposte: 3
    Ultimo Messaggio: 05/12/16, 00:40
  4. Differenza tra formula e formula
    Di Gian1959 nel forum Domande su Excel in generale
    Risposte: 3
    Ultimo Messaggio: 01/04/16, 20:55
  5. media e differenza in percentuale
    Di RICCARDO_75 nel forum Domande su Excel in generale
    Risposte: 6
    Ultimo Messaggio: 16/03/16, 17:03

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •