Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Copiare valori solo una volta

Ultimo Aggiornamento: 27/11/2018 14:37
Post: 6
Registrato il: 19/11/2018
Città: TAVARNELLE VAL DI PESA
Età: 34
Utente Junior
Microsoft Excel 2013
OFFLINE
26/11/2018 11:39

Buongiorno a tutti,
Ho un foglio in cui in colonna C vado ad inserire determinati valori che voglio siano copiati in colonna A di un altro foglio.
Voglio che che la colonna A del foglio 2 si aggiorni automaticamente all'inserimento di nuovi valori in colonna C del primo foglio, ma non quando questi sono già stati inseriti (escludendo dunque i duplicati).
E' possibile fare ciò senza ricorrere ad una macro ma solo con una formula?
Post: 4.022
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
26/11/2018 12:02

Ciao

Credo che senza macro non sia possibile (ma io cone le formule vado poco d'accordo).

Allega un file di esempio con i dati ed il risultato voluto inserito a mano.
[Modificato da alfrimpa 26/11/2018 12:03]

Alfredo
Post: 6
Registrato il: 19/11/2018
Città: TAVARNELLE VAL DI PESA
Età: 34
Utente Junior
Microsoft Excel 2013
OFFLINE
26/11/2018 12:50

Ho allegato un file di esempio, spero che sia chiaro.
Post: 2.039
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
26/11/2018 13:13

ciao
foglio2, A2:

=SE.ERRORE(INDICE(Foglio1!$C$2:$C$7;CONFRONTA(0;CONTA.SE($A$1:A1; Foglio1!$C$2:$C$7); 0));"")

MATRICIALE

saluti


Domenico
Win 10 - Excel 2016
Post: 7
Registrato il: 19/11/2018
Città: TAVARNELLE VAL DI PESA
Età: 34
Utente Junior
Microsoft Excel 2013
OFFLINE
26/11/2018 13:16

Scusa l'ignoranza, che vuol dire matriciale?
Post: 2.040
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
26/11/2018 13:17

cerca su internet come inserire una formula matriciale......

saluti



Domenico
Win 10 - Excel 2016
Post: 8
Registrato il: 19/11/2018
Città: TAVARNELLE VAL DI PESA
Età: 34
Utente Junior
Microsoft Excel 2013
OFFLINE
26/11/2018 13:24

Ok, trovato! Il problema è che però mi da come risultato 0.
Post: 2.041
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
26/11/2018 13:25

evidentemente sbagli qualcosa...

saluti



Domenico
Win 10 - Excel 2016
Post: 9
Registrato il: 19/11/2018
Città: TAVARNELLE VAL DI PESA
Età: 34
Utente Junior
Microsoft Excel 2013
OFFLINE
26/11/2018 13:33

Ok, ci sono riuscito, chiedo scusa se vi ho fatto impazzire.
Ora, ho copiato la tua formula, ovviamente adattandola con i miei riferimenti, in una colonna di una tabella, ma quando vado ad ordinare i valori della colonna dalla A alla Z, non succede niente, come mai?
Post: 2.042
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
26/11/2018 16:09

non puoi, a meno di ordinare l'elenco sorgente.

se ti serve l'elenco ordinato (magari potevi dirlo prima) devi usare un altro sistema:

=SE.ERRORE(INDICE(Foglio1!$C$2:$C$7;CONFRONTA(0;CONTA.SE(Foglio1!$C$2:$C$7;"<"&Foglio1!$C$2:$C$7)-SOMMA(CONTA.SE(Foglio1!$C$2:$C$7;"="&A$1:A1));0));"")


sempre matriciale

saluti
[Modificato da dodo47 26/11/2018 16:16]
Domenico
Win 10 - Excel 2016
Post: 10
Registrato il: 19/11/2018
Città: TAVARNELLE VAL DI PESA
Età: 34
Utente Junior
Microsoft Excel 2013
OFFLINE
26/11/2018 16:13

Perfetto, funziona con ordinamento dalla A alla Z, ma non dalla Z alla A. Si può fare anche in questo caso?
Post: 11
Registrato il: 19/11/2018
Città: TAVARNELLE VAL DI PESA
Età: 34
Utente Junior
Microsoft Excel 2013
OFFLINE
26/11/2018 16:16

Come ho detto, questi dati mi vanno in una tabella ordinata, che ha anche altre colonne con altri valori, e dovrò poterli ordinare anche secondo le altre colonne...in questo caso la colonna A mi rimane sempre dalla A alla Z anche se cambio l'ordine delle altre colonne.
Post: 2.043
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
26/11/2018 16:19

"Perfetto, funziona con ordinamento dalla A alla Z, ma non dalla Z alla A. Si può fare anche in questo caso?"

al posto di "<" metti ">"...

Come ho detto, questi dati mi vanno in una tabella ordinata, che ha anche altre colonne con altri valori, e dovrò poterli ordinare anche secondo le altre colonne...in questo caso la colonna A mi rimane sempre dalla A alla Z anche se cambio l'ordine delle altre colonne.

ordina la tabella sorgente
[Modificato da dodo47 26/11/2018 16:22]
Domenico
Win 10 - Excel 2016
Post: 12
Registrato il: 19/11/2018
Città: TAVARNELLE VAL DI PESA
Età: 34
Utente Junior
Microsoft Excel 2013
OFFLINE
26/11/2018 16:26

Scusa, non mi sono spiegato bene.
La formula che mi hai dato, e che funziona, mi ordina i dati dalla A alla Z della colonna A di una tabella; tale tabella ha anche delle colonne B, C e D, e se vado ad ordinare, ad esempio dalla A alla Z la colonna C, i dati in colonna A non si riordinano di conseguenza, ma rimangono anch'essi dalla A alla Z, sballandomi a questo punto le varie righe. E' possibile fare qualcosa?
Post: 2.044
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
26/11/2018 16:37

ti ho già risposto:...non puoi...

edit: a meno di non ordinare la tabella sorgente o rendere la tabella del foglio2 a soli valori, quindi con una macro; cosa che mi sembra non sia di tuo interesse

[Modificato da dodo47 26/11/2018 16:48]
Domenico
Win 10 - Excel 2016
Post: 13
Registrato il: 19/11/2018
Città: TAVARNELLE VAL DI PESA
Età: 34
Utente Junior
Microsoft Excel 2013
OFFLINE
27/11/2018 11:32

A quanto pare la macro sembra essere l'unica mia soluzione.
Potresti gentilmente darmi la macro appropriata?
Post: 4.023
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
27/11/2018 12:40

Prova con questa macro da inserire nel modulo del foglio1.

vb
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ur As Long
Dim conta As Integer
If Not Intersect(Target, Range("C:C")) Is Nothing Then
If Target.Rows.Count > 1 Or Target.Columns.Count > 1 Then Exit Sub
ur = Sheets("Foglio2").Cells(Rows.Count, 1).End(xlUp).Row
conta = WorksheetFunction.CountIf(Sheets("Foglio2").Range("A:A"), Target.Value)
    If conta = 0 Then
        Sheets("Foglio2").Cells(ur + 1, 1).Value = Target.Value
        Else
        Exit Sub
    End If
End If
Worksheets("Foglio2").Sort.SortFields.Clear
   Worksheets("Foglio2").Sort.SortFields.Add Key:=Range("A:A") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Foglio2").Sort
        .SetRange Range("A:A")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub


P.S. Dai due fogli elimina le strutture "Tabella"

Alfredo
Post: 14
Registrato il: 19/11/2018
Città: TAVARNELLE VAL DI PESA
Età: 34
Utente Junior
Microsoft Excel 2013
OFFLINE
27/11/2018 13:57

Grazie
Ma come detto, ho bisogno delle strutture tabella in quanto per lavorarci dovrò poterli ordinare secondo vari criteri.
Non è proprio possibile?
Post: 4.024
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
27/11/2018 14:37

Senza eliminare le strutture "Tabella" prova con questa

vb
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ur As Long
Dim conta As Integer
If Not Intersect(Target, Range("C:C")) Is Nothing Then
If Target.Rows.Count > 1 Or Target.Columns.Count > 1 Then Exit Sub
ur = Sheets("Foglio2").Range("a1").End(xlDown).Row
conta = WorksheetFunction.CountIf(Sheets("Foglio2").Range("A:A"), Target.Value)
    If conta = 0 Then
        Sheets("Foglio2").Cells(ur + 1, 1).Value = Target.Value
        Else
        Exit Sub
    End If
End If
Worksheets("Foglio2").Sort.SortFields.Clear
   Worksheets("Foglio2").Sort.SortFields.Add Key:=Range("A:A") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Foglio2").Sort
        .SetRange Range("A:A")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

Alfredo
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 08:49. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com