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

Trovare più valori univoci su più colonne

Ultimo Aggiornamento: 03/07/2018 00:15
Post: 14
Registrato il: 09/11/2015
Utente Junior
2013
OFFLINE
27/06/2018 19:26

Buonasera a tutti,
ho un problema con una tabella che allego alla discussione:
ho bisogno di sapere, con una formula, se Rossi ha lavorato in 2 appalti diversi nella stessa data, per di piu sapere anche se ha fatto degli orari che si sovrappongono, che poi è la situazione che si palesa con il dipendente Bianchi che lavora nello stesso giorno in orari sovrapposti.

AIUTO !!!

Attendo la vostra immensa disponibilità supportata dalla vostra grandiosa conoscenza.
[Modificato da Peppe Capano 27/06/2018 19:31]
Post: 203
Registrato il: 15/01/2016
Città: ROMA
Età: 51
Utente Junior
2016
OFFLINE
27/06/2018 22:23

Buonasera
Credo che dovresti allegare il file con i risultati che vuoi ottenere scritti a mano che da quella tabella si possono estrarre i nomi gli orari o altro però prima di fare formule che poi magari non soddisfano le aspettative è meglio avere chiaro cosa bisogna fare
Post: 14
Registrato il: 09/11/2015
Utente Junior
2013
OFFLINE
28/06/2018 06:17

Buonasera,
allego file come vorrei che risultasse.

Attendo gentilmente vostre
Post: 5.435
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
28/06/2018 06:44

Orari sovrapposti
Ciao una mia semplice soluzione con la formattazione condizionale, in questo modo controlli visivamente se ci sono sovrapposizioni, ma attenzione alle date, la sovrapposizione può essere una data,appalto, operatore, diverso.

credo che dovresti prima ordinare per date, oltre l'appalto ed il dipendente.



questa la formula da inserire nella formattazione condizionale, attenzione ad i riferimenti(segno del dollaro)

=E(G$1>=$D2;G$1<=$E2)


allego il file

Ciao By Sal [SM=x423051]



[Modificato da by sal 28/06/2018 06:44]
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 15
Registrato il: 09/11/2015
Utente Junior
2013
OFFLINE
28/06/2018 13:45

Ciao Sal,
io vorrei che il il valore della colonna "esito" variasse in funzione dell'avverarsi delle eccezioni sopra scritte, quindi se Bianchi ha lavorato dalle 6 alle 9 a venezia e qualora venisse inserito un nuovo record con almeno una delle eccezioni, la cella della colonna "esito" relativa a quel record deve riportarti se ha lavorato in orari accavallati nel caso della stessa giornata e/o se ha lavorato in 2 appalti nella stessa gioranta, o adirittura se entrambe le situazioni.

Spero di essere stato chiaro.

Post: 5.437
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
28/06/2018 15:01

Sovrapposizione ore
Ciao La tua richiesta riguardava la sovrapposizione di orario.

Comunque con le formule non so se riesco ad ottenere ciò che vuoi come te la cavi con il VBA, potrei proporti una macro.

Ciao By Sal [SM=x423051]

se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 16
Registrato il: 09/11/2015
Utente Junior
2013
OFFLINE
28/06/2018 17:58

Ciao Sal,
va bene, la elaboriamo assieme mano mano.

Grazie davvero
Post: 3.569
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
29/06/2018 03:00

Dovrebbe funzionare ad una sola condizione.
La tabella deve essere ordinata con queste tre regole:
1) Per data
2) Per dipendente
3) Per Appalto
In F2 vedi allegato il forum la taglia
[Modificato da raffaele1953 29/06/2018 03:03]
Excel 2013
Post: 5.438
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
29/06/2018 11:21

Sovrapposizione ore
Ciao ecco il file con la macro, ho notato che le entrate ed uscite non vengono inserite in formato orario, mi sono attenuto a quel formato.

Raffaele, ciao la tua formula non funziona bene in quanto da il risultato prima che si inseriscono le entrate ed uscite, almeno a me da quel risultato.

il file non ha bisogno di ordinamento basta inserire la data,cantiere,dipendente, entrata ed uscita.

quando si inserisce l'uscita parte la macro che da il risultato controllando giorno, cantiere, dipendente e sovrapposizioni orari, riportando l'esito nella colonna "F", la formattazione condizionale a questo punto è un di più, l'ho lasciata tanto per.

una sola cosa controlla soltanto il nuovo inserimento, se si vogliono aggiornare quelli già inseriti devo modificare la macro.

questa le macro sono 2 una nel modulo del foglio, l'altra in un modulo Standrd

Modulo del foglio

Private Sub Worksheet_Change(ByVal Target As Range)
Dim r, c, d

r = Target.Row
c = Target.Column
If Not Intersect(Target, [E:E]) Is Nothing Then
    If r = 1 Then Exit Sub
    d = Target
    Call Controlla(Cells(r, 1), Cells(r, 2), Cells(r, 3), Cells(r, 4), d, r)
End If
End Sub


Modulo Standard

Sub Controlla(d1, d2, d3, d4, d5, rr)
Dim r, c, x, y, d, m1, m2, n1, k4, k5

m1 = "LAVORATO SU PIU APPALTI E IN ORARI SOVRAPPOSTI"
m2 = "ORARI SOVRAPPOSTI"

For x = 2 To Cells(Rows.Count, 1).End(xlUp).Row - 1
    k4 = Cells(x, 4): k5 = Cells(x, 5)
    'controlla data e dipendente
    If Cells(x, 1) = d1 And Cells(x, 3) = d3 Then
        n1 = ""
        Application.EnableEvents = False
        'controlla sovrapposizione orario stesso cantiere
        If Cells(x, 2) = d2 Then
            For y = k4 To k5
                If y = d4 Then n1 = 1
                If y = d5 Then n1 = 1
            Next y
            If n1 = 1 Then Cells(rr, 6) = m2
        End If
        'controlla cantiere ed orari sovrapposti
        If Cells(x, 2) <> d2 Then
            For y = k4 To k5
                If y = d4 Then n1 = 1
                If y = d5 Then n1 = 1
            Next y
             If n1 = 1 Then Cells(rr, 6) = m1
        End If
    End If
Next x
Application.EnableEvents = True
End Sub


Peppe fai le prove può essermi sfuggito qualcosa

allego il file

Ciao By Sal [SM=x423051]



[Modificato da by sal 29/06/2018 11:26]
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 3.571
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
29/06/2018 12:04

>>>Raffaele, ciao la tua formula non funziona bene
Grazie by sal, sbagliare è una mia priorità. Basta mettere questa, dopo al posto di 33333 mettere l'altra (spero funzioni).
=SE(E(D2="";E2="");"";33333)
Excel 2013
Post: 18
Registrato il: 09/11/2015
Utente Junior
2013
OFFLINE
29/06/2018 12:32

Ciao Sal,
ho rilevato un caso di errore: inserisco in celle D3 ed E3 orari diversi e non sovrapposti alle celle D2 ed E2, inserisco Roma in B3, il risultato della cella F3 dovrebbe essere LAVORATO SU PIU APPALTI invece non restituisce nulla.

Attendo tue
Post: 5.439
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
29/06/2018 15:17

Orari sovrapposti
Ciao La data qual'è?

dammi tutti i dati della riga che faccio io le prove, per vedere

Ciao By Sal [SM=x423051]

se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 19
Registrato il: 09/11/2015
Utente Junior
2013
OFFLINE
29/06/2018 15:22

Ciao Sal, ho rifatto il file con i 3 risultati che vorrei ottenere ogni volta che inserisco un nuovo record.
[Modificato da Peppe Capano 29/06/2018 15:23]
Post: 5.440
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
29/06/2018 16:13

Orari sovrapposti
Ciao Peppe, eccoti il file con la modifica, ho inserito la 3° voce.

Comunque quanto Lavora su più appalti anche se non ha sovrapposizione di ore ti riporta che ha lavorato su più appalti.

Controlla sempre.

Ciao By Sal [SM=x423051]

se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 20
Registrato il: 09/11/2015
Utente Junior
2013
OFFLINE
29/06/2018 16:24

Ciao Sal, perdonami ma sono ignorantissimo in materia, se inserisco altri record che soddisfano le eccezioni trattate non succede nulla, in pratica se inserisco un dipendente "ROSSI" che lavora a "ROMA" il 01/06/2018 e fa ORARI SOVRAPPOSTI, nella cella adiacente della colonna F non appare nulla...è normale ? se no, come si attiva?
Post: 5.442
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
29/06/2018 16:51

Orari sovrapposti
Ciao se inserisci una nuova data con nuovo appalto e nuovo dipendente non da nessun riscontro in quanto precedentemente non ci sono dati per la data.

esempio

1/6/18-venezia-rossi-6-12, nessun riscontro
1/6/18-roma-rossi-13-15, qui indica che ha lavorato su 2 appalti diversi
1/6/18-venezia-rossi-12-16, qui indica che ci sono orari sovrapposti
1/6/18-roma.rossi-15-16, qui indica che ci sono appalti diversi e orario sovrapposto

il controllo parte quando inserisci l'uscita cioè 12-15-16-16

quando inserisci l'orario di uscita in automatico parte la macro che fa il controllo prima sulla data e nome, poi su sovrapposizione orario e poi su sovrapposizione orario e appalti diversi.

Ciao By Sal [SM=x423051]

ti invio un mp controlla le mail
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 21
Registrato il: 09/11/2015
Utente Junior
2013
OFFLINE
29/06/2018 17:26

Ciao Sal,
ti ho risposto al tuo mp e comunque purtroppo continua a non attivarsi nulla.
Non capisco perché...
Post: 22
Registrato il: 09/11/2015
Utente Junior
2013
OFFLINE
01/07/2018 16:32

Ciao Sal,
ci sarebbe la possibilità di avere la tua versione della macro in formato "formula matriciale" ?
Attendo tue e dal forum
Post: 23
Registrato il: 09/11/2015
Utente Junior
2013
OFFLINE
01/07/2018 16:44

Re:
raffaele1953, 29/06/2018 12.04:

>>>Raffaele, ciao la tua formula non funziona bene
Grazie by sal, sbagliare è una mia priorità. Basta mettere questa, dopo al posto di 33333 mettere l'altra (spero funzioni).
=SE(E(D2="";E2="");"";33333)




Ciao Raffaele,
questo il problema che mi si presenta quando inserisco la tua formula, che in alcuni casi restituisce esiti corretti, ma in altri come questo qui sotto, restituisce esiti non corretti:
DATA PUNTO VENDITA SOCIO LAVORATORE ENTRATA USCITA ESITO
lunedì 4 giugno 2018 MILANO BIANCHI 14 18
martedì 5 giugno 2018 MILANO BIANCHI 21 24 ORARI SOVRAPPOSTI
martedì 5 giugno 2018 MILANO BIANCHI 6,45 9,45 ORARI SOVRAPPOSTI
mercoledì 6 giugno 2018 MILANO BIANCHI 0,45 2,45

Attendo tue
[Modificato da Peppe Capano 01/07/2018 16:51]
Post: 1.639
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Veteran
365
OFFLINE
01/07/2018 18:01

ciao

varia la macro in foglio 1

in

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim r, c, d

r = Target.Row
c = Target.Column
If Not Intersect(Target, [D:E]) Is Nothing Then
If r = 1 Then Exit Sub
d = Target
Call Controlla(Cells(r, 1), Cells(r, 2), Cells(r, 3), Cells(r, 4), d, r)
End If
End Sub



la parte in rosso da cambiare

fai così il controllo sia in entrata che in uscita

funziona bene
complimenti a by sal


nb

è lapalissiano che se le date non coincidono
non ti darà risposa
Post: 24
Registrato il: 09/11/2015
Utente Junior
2013
OFFLINE
01/07/2018 18:46

Re:
federico460, 01/07/2018 18.01:

ciao

varia la macro in foglio 1

in

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim r, c, d

r = Target.Row
c = Target.Column
If Not Intersect(Target, [D:E]) Is Nothing Then
If r = 1 Then Exit Sub
d = Target
Call Controlla(Cells(r, 1), Cells(r, 2), Cells(r, 3), Cells(r, 4), d, r)
End If
End Sub



la parte in rosso da cambiare

fai così il controllo sia in entrata che in uscita

funziona bene
complimenti a by sal


nb

è lapalissiano che se le date non coincidono
non ti darà risposa



Ciao Federico,
ad un certo punto appena premo su f5 per avviare la macro, mi apre una finestra di dialogo nella quale dovrebbe apparire la macro ma non la vedo, sai come mai?
Post: 25
Registrato il: 09/11/2015
Utente Junior
2013
OFFLINE
01/07/2018 18:46

Re:
federico460, 01/07/2018 18.01:

ciao

varia la macro in foglio 1

in

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim r, c, d

r = Target.Row
c = Target.Column
If Not Intersect(Target, [D:E]) Is Nothing Then
If r = 1 Then Exit Sub
d = Target
Call Controlla(Cells(r, 1), Cells(r, 2), Cells(r, 3), Cells(r, 4), d, r)
End If
End Sub



la parte in rosso da cambiare

fai così il controllo sia in entrata che in uscita

funziona bene
complimenti a by sal


nb

è lapalissiano che se le date non coincidono
non ti darà risposa




Con cosa andrebbe variata la parte in rosso?
Post: 3.577
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
01/07/2018 22:25

Ciao a tutti
Si, inoltre suggerisco agli esperTi di fare pure un ORDINA nel VBA

Premesso che non esiste il 24 (casomai sarebbe zero).
Sarebbe meglio inserire direttamente degli orari, invece di numeri.
La mia formula andava bene prima, dopo hai aggiunto un'altra opzione e ho desistito.

Faccio notare che se esistono orari che finiscono a mezzanotte ed oltre, devi farlo presente sul forum.
Comunque meglio il VBA invece delle formule per fare questo confronto.
Excel 2013
Post: 26
Registrato il: 09/11/2015
Utente Junior
2013
OFFLINE
02/07/2018 14:38

Re:
raffaele1953, 01/07/2018 22.25:

Ciao a tutti
Si, inoltre suggerisco agli esperTi di fare pure un ORDINA nel VBA

Premesso che non esiste il 24 (casomai sarebbe zero).
Sarebbe meglio inserire direttamente degli orari, invece di numeri.
La mia formula andava bene prima, dopo hai aggiunto un'altra opzione e ho desistito.

Faccio notare che se esistono orari che finiscono a mezzanotte ed oltre, devi farlo presente sul forum.
Comunque meglio il VBA invece delle formule per fare questo confronto.



Ciao Raffaele,
quella di inserire gli orari in formato numero è una necessità.
Post: 3.580
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
03/07/2018 00:15

>>>quella di inserire gli orari in formato numero è una necessità.
No, secondo me sarebbe giusto, per gli orari che finiscono dopo le 24:00
Ho provato con le formule, però non ci riesco. Vediamo se mi viene in mente qualche idea.
Excel 2013
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 18:02. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com