Confronto colonne con valori uguali

Anonimo
2012-03-28T08:23:47+00:00

Ciao a tutti,

Ho una cosa da chiedervi, premetto che sono un principiante, ho un po' di dimestichezza con le formule "base" ma non so usare le macro..

Devo fare un confronto.

Ho un foglio A e foglio B in cui sono presenti due colonne con ARTICOLO e PREZZO.  I valori di foglioB comprendono molti valori di foglioA, ma ce ne sono sicuramente di nuovi ed è probabile che ne siano stati eliminati altri.

Come faccio a confrontare i valori corrispondenti di ARTICOLO(foglioA) e ARTICOLO(foglioB) per valutare la loro variazione di prezzo?

Finora questo lavoro ha richiesto giornate di lavoro, ma adesso i listini sono diventati veramente immensi, e vorrei cercare di semplificare questa operazione.

Potete darmi una mano?

Vi ringrazio

Fosco

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2012-03-28T09:52:27+00:00

 

Ti chiedo scusa, mi sono spiegato male.

In foglio 1 ho

<cut>

in pratica: nel nuovo listino sono stati tolti codici obsoleti e aggiunti codici nuovi. Io vorrei trovare quali sono i codici di foglio 1 che sono anche in foglio 2 e poi confrontare i loro prezzi per vedere come sono variati.

Spero di avere scritto meglio cosa mi serve.. Grazie mille!!!

La cosa più semplice è:

  • copia entrambi gli elenchi in un terzo foglio
  • ordinali per articolo
  • filtra poi gli articoli di tuo interesse

Oppure, copia/incolla questo nel modulo di codice del Foglio2:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    Dim sh As Worksheet

    Dim lRiga As Long

    Dim s As String

    Dim lng As Long

    Set sh = ThisWorkbook.Worksheets("Foglio1")

    With sh

        lRiga = .Range("A" & .Rows.Count).End(xlUp).Row

        For lng = 2 To lRiga

            If .Cells(lng, 1).Value = Target.Value Then

                s = s & .Cells(lng, 2).Value & vbNewLine

            End If

        Next

    End With

    If s <> "" Then

        MsgBox "Prezzi precedenti:" & vbNewLine & s

    End If

    Cancel = True

    Set sh = Nothing

End Sub

Adesso è sufficiente fare doppio click sull'articolo in Foglio2 per vedere i prezzi precedenti(se ci sono).

La risposta è stata utile?

0 commenti Nessun commento

3 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2012-03-28T09:34:56+00:00

    Non è chiaro, per me, quello che devi fare.

    Foglio1 e Foglio2 con due campi uguali: in colonna A Atticolo e in colonna B Prezzi.

    Voglio saper nel Foglio2 se ho già lo stesso articolo in Foglio1.

    In cella C2 del Foglio2 scrivi: =CONTA.SE(Foglio1!A:A;A2)

    Trascina poi verso il basso. Avrai così il numero di volte che il valore presente sulla stessa riga in colonna A del Foglio2 è presente in colonna A del Foglio1.

    Se invece vuoi confrontare i prezzi, in D2 del Foglio2 scrivi: =SE(CONTA.SE(Foglio1!A:A;A2)=0;"";CERCA.VERT(A2;Foglio1!A:B;2;FALSO))

    Trascina poi verso il basso.

    Prova un po' e fai sapere, grazie.

     

    Ti chiedo scusa, mi sono spiegato male.

    In foglio 1 ho

    articolo 1 | prezzo 1 vecchio

    articolo 2 | prezzo 2 vecchio

    ....

    articolo N | prezzo N vecchio

    in foglio 2 ho

    articolo 1       | prezzo nuovo

    articolo 2bis | prezzo nuovo

    articolo 3       | prezzo nuovo

    ....

    articolo N+x  | prezzo nuovo

    in pratica: nel nuovo listino sono stati tolti codici obsoleti e aggiunti codici nuovi. Io vorrei trovare quali sono i codici di foglio 1 che sono anche in foglio 2 e poi confrontare i loro prezzi per vedere come sono variati.

    Spero di avere scritto meglio cosa mi serve.. Grazie mille!!!

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2012-03-28T09:17:37+00:00

    Se l'obiettivo che ti prefiggi è di confrontare articolo per articolo il foglio1 con il foglio2 e a parita' di articolo verificare se c'è un prezzo diverso, puoi utilizzare una terza colonna, ad esempio sul foglio2, in cui scrivere:

    =MATR.SOMMA.PRODOTTO((Foglio1!$A$2:$A$xxx=A2)*(Foglio1!$B$2:$B$xxx=B2))

    oppure, da inserire come formula matriciale e quindi da confermare con Ctrl+Shift+Invio

    =SOMMA((Foglio1!$A$2:$A$xxx=A2)*(Foglio1!$B$2:$B$xxx=B2))

    sostituisci xxx con l'ultima riga del tuo elenco.

    Nel caso volessi confrontare per l'intera colonna A e B dei due fogli:

    =MATR.SOMMA.PRODOTTO((Foglio1!$A:$A=A2)*(Foglio1!$B:$B=B2))

    e conseguentemente, sempre da confermare con Ctrl+Shift+Invio

    =SOMMA((Foglio1!$A:$A=A2)*(Foglio1!$B:$B=B2))

    Questa seconda ipotesi è più lenta nel ricalcolo (perchè il confronto avviene sull'intere due colonne) ma ha il vantaggio di non obbligarti a cambiare i riferimenti dell'ultima riga dell'elenco quando cambi i listini (aggiungi righe).

    David

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2012-03-28T08:41:38+00:00

    Ciao a tutti,

    Ho una cosa da chiedervi, premetto che sono un principiante, ho un po' di dimestichezza con le formule "base" ma non so usare le macro..

    Devo fare un confronto.

    Ho un foglio A e foglio B in cui sono presenti due colonne con ARTICOLO e PREZZO.  I valori di foglioB comprendono molti valori di foglioA, ma ce ne sono sicuramente di nuovi ed è probabile che ne siano stati eliminati altri.

    Come faccio a confrontare i valori corrispondenti di ARTICOLO(foglioA) e ARTICOLO(foglioB) per valutare la loro variazione di prezzo?

    Finora questo lavoro ha richiesto giornate di lavoro, ma adesso i listini sono diventati veramente immensi, e vorrei cercare di semplificare questa operazione.

    Potete darmi una mano?

    Vi ringrazio

    Fosco

    Non è chiaro, per me, quello che devi fare.

    Foglio1 e Foglio2 con due campi uguali: in colonna A Atticolo e in colonna B Prezzi.

    Voglio saper nel Foglio2 se ho già lo stesso articolo in Foglio1.

    In cella C2 del Foglio2 scrivi: =CONTA.SE(Foglio1!A:A;A2)

    Trascina poi verso il basso. Avrai così il numero di volte che il valore presente sulla stessa riga in colonna A del Foglio2 è presente in colonna A del Foglio1.

    Se invece vuoi confrontare i prezzi, in D2 del Foglio2 scrivi: =SE(CONTA.SE(Foglio1!A:A;A2)=0;"";CERCA.VERT(A2;Foglio1!A:B;2;FALSO))

    Trascina poi verso il basso.

    Prova un po' e fai sapere, grazie.

    La risposta è stata utile?

    0 commenti Nessun commento