Condividi:        

Excel - Formula Conta combinata

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Excel - Formula Conta combinata

Postdi Sasyjoe » 15/03/14 18:12

Salve gente,
eccomi con i miei rompicapi.
Stavolta niente di particolare.

La speigazione del problema è spiegata nel file e qui sotto lo allego (spero ci sia riuscito!) :

http://www.filedropper.com/ordinesportelliturni


Ciao a tuttiiii!!
Sasyjoe
Utente Senior
 
Post: 404
Iscritto il: 04/05/12 13:27

Sponsor
 

Re: Excel - Formula Conta combinata

Postdi ninai » 15/03/14 19:38

Ciao
non studiato bene tutto il foglio, ma forse potrebbe andare aggiungendo un Se().
in H15:
=SE(F15="";"";SE(E15="";INDICE($F$5:$F$10;CONFRONTA(C5;$E$5:$E$10;0));E15))
e trascini
w8 + Office 2010 Ita
ninai
Utente Senior
 
Post: 271
Iscritto il: 12/06/13 05:23
Località: prov. Messina

Re: Excel - Formula Conta combinata

Postdi Sasyjoe » 17/03/14 19:51

Ciao ninai,
Purtroppo, se provo a fare quello che mi hai suggerito, propio sul file caricato mo succede che die nomi hanno lo stesso numero.

Avrei bisogno una riformula che ricalcola tutto.

Ci riesci?

Saluti
Sasyjoe
Utente Senior
 
Post: 404
Iscritto il: 04/05/12 13:27

Re: Excel - Formula Conta combinata

Postdi Sasyjoe » 18/03/14 12:54

Qualcuno è capace di risolvermi questo rompicapo?

Grazie anticipatamente
Sasyjoe
Utente Senior
 
Post: 404
Iscritto il: 04/05/12 13:27

Re: Excel - Formula Conta combinata

Postdi Anthony47 » 18/03/14 16:09

Mah... mi sembra il classico lavoro inutile...
Comunque propongo la seguente Funzione/macro:
Codice: Seleziona tutto
Function PmShift(ByRef User As Range, ByRef ShPlan As Range, ByRef AllTab As Range) As Variant
'Vedi http://www.pc-facile.com/forum/viewtopic.php?f=26&t=101551
Dim I As Long, AllIn(), myRank As Long, pmPlan(), pmForc(), myIn As Single
If User.Offset(0, -1) <> "" And User.Value <> "" Then
    PmShift = User.Offset(0, -1).Value: Exit Function
End If
ReDim AllIn(1 To AllTab.Rows.Count)
ReDim pmForc(1 To AllTab.Rows.Count)
ReDim pmPlan(1 To ShPlan.Rows.Count)
'
myIn = User.Value + User.Row / 10000
For I = 1 To AllTab.Rows.Count
    AllIn(I) = AllTab.Cells(I, 4).Value + AllTab.Cells(I, 4).Row / 10000
Next I
For I = 1 To AllTab.Rows.Count
    If AllIn(I) <= myIn And AllIn(I) > 0.01 And AllTab.Cells(I, 3).Value = "" Then myRank = myRank + 1
Next I
If myRank > 0 Then
    pmPlan = ShPlan.Value
    For I = 1 To AllTab.Rows.Count
    aaaa = pmPlan(1, 1) + pmPlan(2, 1) + pmPlan(3, 1) + pmPlan(4, 1) + pmPlan(5, 1)
        If AllTab.Cells(I, 3) <> "" And AllTab.Cells(I, 4) <> "" Then
            pmPlan(Application.Match(AllTab.Cells(I, 3).Value, pmPlan, 0), 1) = 0
        End If
    Next I
'
    For I = 1 To UBound(pmPlan, 1)
        If pmPlan(I, 1) > 0 Then jj = jj + 1
        If jj = myRank Then
            If pmPlan(I, 1) > 0 Then
                PmShift = pmPlan(I, 1)
            Else
                PmShift = ""
            End If
            Exit For
        End If
    Next I
Else
    PmShift = ""
End If
End Function

Essa si appoggia sulla struttura dati presente nel file allegato:
-una tabella per indicare, in ordine di accesso al servizio, la posizione da occupare
Immagine
upload immagini gratis

-una tabella con le timbrature Mattina /Pomeriggio
Immagine
host immagini

-una tabella con i calcoli dell' ordine di entrata mattutina
Immagine
caricare immagini

La formula calcola direttamente la posizione da occupare in pomeriggio in funzione:
-dell' evenuale presenza mattutina
-dell' ordine di arrivo pomeridiano, che e' calcolato direttamente dal codice, quindi rendendo inutile i calcoli fatti in C5:C10
-della tabella di assegnazione della posizione da occupare

La funzione si usa in una formula excel con la seguente sintassi:
Codice: Seleziona tutto
=PmShift(l'OrarioDiArrivoPomeridiano; LaTabellaConLaPosizioneDaOccupare;L'InteraTabellaTimbrature)


Cio' detto, quindi, si inserira' nella cella H15 la formula
Codice: Seleziona tutto
=PmShift(F15;$F$5:$F$10;$C$15:$G$22)

Poi puo' essere copiata verso il basso per le N posizioni della tabella.
Il file dovra quindi essere salvato con l' estensione ".xlsm"

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel - Formula Conta combinata

Postdi wallace&gromit » 18/03/14 17:23

intanto che Anthony risolveva egregiamente con una funzione ad hoc (sicuramente più efficace) io mi sono cimentato con le formule e qualche cella d'appoggio.
Il mio risultato è qui:
http://www.filedropper.com/ordinesportelliturni2
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: Excel - Formula Conta combinata

Postdi Sasyjoe » 19/03/14 09:26

Innanzitutto grazie a entrambi per la risposta.

@Anthony:

E' una macro la soluzione che mi hai proposto?
Se si, sinceramente non le preferisco mai perchè non riesco ad imparare il linguagio. Perciò, se possibile preferisco restare sempre sulle formule.
So che non lo ho specificato nella richiesta e per questo mi hai dato una macro.
Grazie

@Wallace

Grazie anche a te.
Però se assegno un orario o al nome 7 o al nome 8, la formule cella I21 o I22 non mi danno il numero sportello.
Come posso fare?

Ciaoo e grazie a tutti
Sasyjoe
Utente Senior
 
Post: 404
Iscritto il: 04/05/12 13:27

Re: Excel - Formula Conta combinata

Postdi wallace&gromit » 19/03/14 12:25

Sasyjoe ha scritto:se assegno un orario o al nome 7 o al nome 8

quello è un problema di base dello schema che hai fornito: le formule in alto a sinistra hanno solo 6 righe e non prevedono l'attribuzione del rango al 7° e all' 8° nome, non l'ho segnalato pensando che il tutto fosse comunque un caso fittizio.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: Excel - Formula Conta combinata

Postdi Sasyjoe » 19/03/14 15:14

Hai ragione non avevo specificato questa cosa: Gli sportelli sono 6. I nomi sono 8.

Come possiamo risolvere?
Sasyjoe
Utente Senior
 
Post: 404
Iscritto il: 04/05/12 13:27

Re: Excel - Formula Conta combinata

Postdi wallace&gromit » 19/03/14 18:16

devi solo aggiungere due righe nella parte dove calcoli l'ordine di arrivo in sede (tabella in grigio), non nell'ordine degli sportelli attribuibili.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: Excel - Formula Conta combinata

Postdi Sasyjoe » 20/03/14 09:41

Grazie wallace sei grande
Sasyjoe
Utente Senior
 
Post: 404
Iscritto il: 04/05/12 13:27


Torna a Applicazioni Office Windows


Topic correlati a "Excel - Formula Conta combinata":


Chi c’è in linea

Visitano il forum: Nessuno e 88 ospiti