Notifiche
Cancella tutti

La consultazione del forum è libera per tutti.

Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).

Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.

[Risolto] In o Out

11 Post
3 Utenti
5 Reactions
552 Visualizzazioni
Forum 1
(@beppe)
Post: 0
New Member
Avviatore di Topic
 

Ciao a tutti, sono un neofita e mi chiamo Giuseppe. Sono un autodidatta che sta provando a capire qualcosa di Excel,e mi sono inchiodato a questo problema.
Devo fare un riepilogo di vari fogli e scoprire se un libro è in casa o e ancora fuori. Siccome i libri vengono presi più volte durante l'anno e vengono aggiornati man mano nel foglio riepilogo o due voci "in casa" e "fuori" per ognuno dei 155 libri (per adesso). C'è una soluzione? Esempio: Libro N. 1
       Maurizio                              Liliana                          Milena
Entrata           Uscita          Entrata         Uscita        Entrata       Uscita
04/05/2023 25/05/2023 25/06/2023 13/08/2023 03/09/2023
Come vedete Milena deve ancora restituire il libro, ci sono 8 pagine da 20 libri per pagina più la prima che fa da indice e per ultima quella del riepilogo. Vorrei solo sapere se il libro è in casa o è ancora fuori, tutto lì da mostrare nel riepilogo.
Spero di essere stato chiaro e di non avervi complicato la vita, come me la sono complicata io.
Ti ringrazio anticipatamente, Giuseppe

Vi allego un file d'esempio con evidenziate le colonne dove riportare se sono usciti o no al foglio 3.

 

Versione di Excel
Sistema operativo
 
Postato : 04/10/2023 21:14
gianfranco55
(@gianfranco55)
Post: 1861
Moderatore
 

ciao

una idea

=MATR.SOMMA.PRODOTTO((STACK.VERT(Foglio1!$B$4:$B$1000;Foglio2!$B$4:$B$1000)=RIF.RIGA($A40))*(STACK.VERT(Foglio1!$D$5:$K$1001;Foglio2!$D$5:$K$1001)>0))

se il risultato è pari il libro è rientrato se dispari è fuori

=LET(A;MATR.SOMMA.PRODOTTO((STACK.VERT(Foglio1!$B$4:$B$1000;Foglio2!$B$4:$B$1000)=RIF.RIGA($A1))*(STACK.VERT(Foglio1!$D$5:$K$1001;Foglio2!$D$5:$K$1001)>0));SE(E(VAL.PARI(A);A>0);"IN CASA";"FUORI CASA"))

oppure per mettere una x sulla colonna in casa

=LET(A;MATR.SOMMA.PRODOTTO((STACK.VERT(Foglio1!$B$4:$B$1000;Foglio2!$B$4:$B$1000)=RIF.RIGA($A1))*(STACK.VERT(Foglio1!$D$5:$K$1001;Foglio2!$D$5:$K$1001)>0));SE(E(VAL.PARI(A);A>0);"X";""))

sulla colonna Fuori

=LET(A;MATR.SOMMA.PRODOTTO((STACK.VERT(Foglio1!$B$4:$B$1000;Foglio2!$B$4:$B$1000)=RIF.RIGA($A1))*(STACK.VERT(Foglio1!$D$5:$K$1001;Foglio2!$D$5:$K$1001)>0));SE(E(VAL.PARI(A);A>0);"";"X"))

 

è chiaro che se hai altri fogli li aggiungerai alla forrmula STACK.VERT()

e il rif.riga farà riferimento alla cella con il nome del libro

 
Postato : 05/10/2023 10:16
Beppe reacted
Marius44
(@marius44)
Post: 338
Moderatore
 

Ciao

Non conosco il motivo per cui hai bisogno di un Foglio per ogni libro (adesso, dici, sono 150; e se fossero 10000 come la mettiamo?) ma non potresti cambiare la struttura in questo modo:

in un Foglio: col.A = Data, col.B = IDLibro, col.C = nominativo, col.D = In casa, col.E = Out

In un intervallo fuori vista (ma anche in un altro foglio) metti l'elenco dei libri col relativo ID

Io ho messo in H1 "In casa", in J1 "Out" e in K1 "A chi"

Ti allego il mio esempio. Prova a cliccare sul pulsante blu. Cosa Occorre fare: Inserire i dati richiesti e poi cliccare sul pulsante.

Questo il codice VBA inserito

Option Explicit

Sub status()
Dim urL As Long, urD As Long, i As Long, j As Long, k As Long, ID As Long, a As Long, b As Long
Dim flg As Integer
urD = Cells(Rows.Count, 1).End(xlUp).Row
urL = Cells(Rows.Count, 16).End(xlUp).Row
Range("H2:K" & urL).ClearContents
a = 1: b = 1
For i = 3 To urL                    'scorre tutti i libri
  ID = Cells(i, 16).Value           'assume identificativo
  For j = 5 To urD                  'scorre le date
    If Cells(j, 2) = ID Then        'se identificativi sono uguali
      If Cells(j, 5) = "x" Then     'libro in prestito
        For k = j + 1 To urD        'scorre di nuovo le date
          flg = 0
          If Cells(k, 2) = ID And Cells(k, 4) = "x" Then
            a = a + 1
            Cells(a, 8) = ID         'libro in casa
            flg = 1
            Exit For
          End If
        Next k
        If flg = 0 Then
          b = b + 1
          Cells(b, 10) = ID
          Cells(b, 11) = Cells(j, 3)
        End If
      End If
    End If
  Next j
Next i
End Sub

Ovviamente è migliorabile. Si potrebbero fare ricerche per Nominativo, per Libro, per data, ecc.

 

Fai sapere. Ciao,

Mario

 
Postato : 05/10/2023 10:28
Beppe reacted
Forum 1
(@beppe)
Post: 0
New Member
Avviatore di Topic
 

@gianfranco55 

Grazie per la tua risposta, ho provato, però io la facevo troppo semplice, 🙄  in effetti ogni pagina è composta da due fogli, però è comoda la soluzione ad una colonna, magari con il segno "X" fuori casa e di spunta in casa. Chiedo troppo? Ti invio il file originale (logicamente ho dovuto levare alcune diciture sensibili e i nomi per la privacy), per vedere se puoi darmi suggerimenti. Grazie ancora

Beppe

 

Questo post è stato modificato 2 anni fa 2 tempo da Beppe
 
Postato : 06/10/2023 08:00
Forum 1
(@beppe)
Post: 0
New Member
Avviatore di Topic
 

Grazie @marius44 per la tua risposta, purtroppo non posso modificare lo schema impostami dalla organizzazione per cui opero, posso solo aggiungere i nomi e le date. Quindi il riepilogo mi aiutava senza andare a spulciare numero per numero cosa ho in casa e cosa fuori. Così che quelli che ho fuori se è passato tanto tempo devo richiamarli. Ecco, se si può, sarebbe anche utile includere anche l'ultima data di uscita o il periodo di mesi che è uscito, chiedo troppo? Grazie qualunque sia la tua risposta. Come a @gianfranco55 ti allego il file se vuoi lavorarci, (Logicamente alcune informazioni e i nomi sono stati eliminati per privacy) 😉

 

 
Postato : 06/10/2023 08:13
gianfranco55
(@gianfranco55)
Post: 1861
Moderatore
 

ciao

struttura strana comunque Pei i pari........i dipari basta cambiare in VAL.DISPARI()

=LET(A;MATR.SOMMA.PRODOTTO((STACK.VERT(STACK.VERT('1-20:141-160'!$B$7:$B$46))=RIF.RIGA($A1))*(STACK.VERT(STACK.VERT('1-20:141-160'!$D$8:$W$47))>0));SE(E(VAL.PARI(A);A>0);"X";""))

 

per trovare la data

=MAX(SE(STACK.VERT('1-20:141-160'!$B$7:$B$45)=RIF.RIGA($A1);STACK.VERT('1-20:141-160'!$D$8:$V$46)))

 
Postato : 06/10/2023 09:54
Beppe reacted
Forum 1
(@beppe)
Post: 0
New Member
Avviatore di Topic
 

@gianfranco55 Ti ringrazio moltissimo, ora provo e poi ti dico. Per me che sono alle prime armi siete stati preziosi. Grazie ancora per la tua disponibilità

Giuseppe

 
Postato : 08/10/2023 22:34
Forum 1
(@beppe)
Post: 0
New Member
Avviatore di Topic
 

Ciao @gianfranco55

innanzi tutto grazie per il tuo impegno, il progetto a prima vista sembra che vada bene. Se ho bisogno di altro posso contare sul tuo aiuto?

Grazie ancora

 
Postato : 08/10/2023 23:05
gianfranco55
(@gianfranco55)
Post: 1861
Moderatore
 

ciao

non solo del mio ma anche degli altri moderatori e non.

se ritieni che le formule siano quello che cercavi

gentilmente chiudi la discussione

grzie

 
Postato : 08/10/2023 23:46
Beppe reacted
Forum 1
(@beppe)
Post: 0
New Member
Avviatore di Topic
 

@gianfranco55

Ciao, Scusami ancora per il disturbo, Avrei ancora un paio di cose da chiederti:

Lo sto facendo manualmente su dei fogli cartacei, la cosa mi richiede un po' di tempo, ma forse si può anche anche farlo in automatico con Excel.

Ora non ho dietro questi fogli ma spero di riuscirmi a spiegare:

Faccio dei riepiloghi delle uscite consultando i numeri dei libri le persone e le date di tutti i fogli di calcolo.

Scrivo in Blu quelli che sono usciti in meno di 4 mesi.

In Verde quelli da 4 a 6 mesi

In Rosso quelli da 6 a 8 mesi

In Nero quelli da 8 mesi in +

Ripeto in Quest i metto la colonna Numero; Data; Nome.

Faccio la stessa cosa con quelli che ho in giacenza, logicamente senza il nome dell'utente.

E' possibile automatizzare tutto questo?

Inoltre (ma questo è un mio capriccio personale, quindi se chiedo troppo lascia perdere) mi piacerebbe fare dei grafici a torta con i vari dati (logicamente che si aggiornino in automatico), uno di uscita (con i dati che ti ho appena fornito), uno di giacenza e uno generale che racchiude tutto.

Ringrazio te e i moderatori per l'aiuto che mi avete dato, mi avete semplificato molte cose. (E ho imparato anche qualcosa). 

P. S, (Scusa ma non ho mai partecipato ai vari forum, spero di aver agito correttamente fino ad adesso. Poi mi spieghi come si fa a chiudere una discussione? 🙄 

Grazie Giuseppe

Questo post è stato modificato 2 anni fa da Beppe
 
Postato : 10/10/2023 07:17
gianfranco55
(@gianfranco55)
Post: 1861
Moderatore
 

ciao

per chiudere dovresti vedere sopra al primopost RISOLTO

basta cliccarlo

 

per il resto

apri un'altra domanda

dovresti fare un file esempio della struttura dei fogli

e con la formattazione condizionale si riesce a fare.

per i grafici vediamo la struttura 

 
Postato : 10/10/2023 13:10
Beppe reacted
Condividi:
My Agile Privacy
Questo sito utilizza cookie tecnici e di profilazione. Cliccando su accetta si autorizzano tutti i cookie di profilazione. Cliccando su rifiuta o la X si rifiutano tutti i cookie di profilazione. Cliccando su personalizza è possibile selezionare quali cookie di profilazione attivare.
Attenzione: alcune funzionalità di questa pagina potrebbero essere bloccate a seguito delle tue scelte privacy
     Scarica il nostro ebook gratuito     

Unisciti a oltre 35.000 professionisti
che hanno già scelto di semplificare il proprio lavoro
e aumentare la produttività con la nostra newsletter!

Scarica l’ebook con i
migliori trucchi e suggerimenti per Excel
selezionati per te da Excel Academy

Download