[Risolto] discriminare per "applica stile" della form. con.

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
Francesco90
Messaggi: 73
Iscritto il: mercoledì 2 agosto 2017, 23:33

[Risolto] discriminare per "applica stile" della form. con.

Messaggio da Francesco90 »

Rieccomi...
Tizio, Caio e Sempronio, nel corso del mese effettuano delle attività che possono essere, al, bz, gb, gc, gp, p. Inoltre tali attività posso capitare sia nei giorni feriali, sia nei sabati che nei festivi e superfestivi(evidenziati rispettivamente dai colori giallo, rosso e verdelimetta)
Ho bisogno a fine mese di avere un conteggio di quante volte tizio ha ha effettuato l'attività al e, nello specifico, quante volte nei giorni feriali, festivi, sabati e super festivi.
Allego un esempio di come dovrebbe risultare... Ovviamenti i totali li ho inseriti a mano visto che le formule ancora non le conosco.
Grazie mille... :crazy:

ps: risolta questa, penso di aver finito :bravo:
esempio per forum.ods
(17.21 KiB) Scaricato 93 volte
Ultima modifica di Francesco90 il giovedì 23 maggio 2019, 12:32, modificato 1 volta in totale.
Windows8.1 Libreoffice 6.3.4
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1746
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: discriminare per "applica stile" della formatt. condiz.

Messaggio da gioh66 »

Ciao, siccome con le formule non è possibile una soluzione che tenga conto degli stili, ti propongo una modifica.
In pratica si tratta di aggiungere una riga, che poi può essere nascosta, sopra le date del calendario, dove inserire questa formula per discriminare i giorni

Codice: Seleziona tutto

=SE(VAL.NUMERO(CERCA.VERT(B4;legenda_elenco_superfestivi_festivi!$A$2:$A$20;1;0));"sf";SE(O(GIORNO.SETTIMANA(B4;2)=7;VAL.NUMERO(CERCA.VERT(B4;legenda_elenco_superfestivi_festivi!$B$2:$B$20;1;0)));"f";SE(GIORNO.SETTIMANA(B4;2)=6;"sa";"fl")))

Questa va inserita in B3 e tirata a destra.
Poi in AG5 da tirare a destra per quattro colonne e in basso metti

Codice: Seleziona tutto

=MATR.SOMMA.PRODOTTO(($B5:$AF5=$AG$2)*($B$3:$AF$3=AG$4))
in AK5 come sopra

Codice: Seleziona tutto

=MATR.SOMMA.PRODOTTO(($B5:$AF5=$AK$2)*($B$3:$AF$3=AK$4))
in AO5

Codice: Seleziona tutto

=MATR.SOMMA.PRODOTTO(($B5:$AF5=$AO$2)*($B$3:$AF$3=AO$4))
in AS5

Codice: Seleziona tutto

=MATR.SOMMA.PRODOTTO(($B5:$AF5=$AS$2)*($B$3:$AF$3=AO$4))
in AW5

Codice: Seleziona tutto

=MATR.SOMMA.PRODOTTO(($B5:$AF5=$AW$2)*($B$3:$AF$3=AS$4))
e in
BA5

Codice: Seleziona tutto

=MATR.SOMMA.PRODOTTO(($B5:$AF5=$BA$2)*($B$3:$AF$3=BA$4))

sempre da tirare a destra per 4 colonne e in basso
Allegati
esempio per forum (bis).ods
(18.04 KiB) Scaricato 87 volte
...se sei soddisfatto delle risposte ricevute metti il [Risolto] https://forum.openoffice.org/it/forum/v ... f=9&t=5661

Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
Francesco90
Messaggi: 73
Iscritto il: mercoledì 2 agosto 2017, 23:33

Re: discriminare per "applica stile" della formatt. condiz.

Messaggio da Francesco90 »

sei un grande... sto studiando le formule che mi hai proposto perché ovviamente le vorrei anche capire... se ho dei dubbi mi sento libero di romperti le scatole ancora

EDIT:
La prima formula da te postata, sebbene sia più lunga delle altre penso di averla compresa:
il primo VAL.NUMERO ti torna vero se il giorno in B4 è un superfestivo in A2:A20, il fatto che torni vero fa avverare la condizione del SE() e quindi viene inserita la stringa "sf".
In alternativa c'è da inserire la stringa"f" ma questa ha due casi: è domenica oppure è un festivo in B2:B20. A questo scopo hai usato la funzione O() in cui fa avverare la condizione di inserimento della "f" all'avverarsi di una o dell'altra condizione. Esse sono: la prima, hai verificato se è il settimo giorno della settimana, l'altra hai fatto un cerca di quel giorno sull'elenco in B2:B20 e se lo trovava la funzione VAL.NUMERO() torna vero ed ecco verificata.
Facile quella del sabato... In ultimo, se nessuna condizione è verificata viene inserita la "fl".

La formula che non ho capito è quella della MATR.SOMMA.PRODOTTO(). Vedendo qualche video su youtube ho visto che questa funzione serve a moltiplicare i valori corrispondenti di due o piu matrici e poi sommarli per avere un totale. In questa che hai usato non riesco a riconoscerne il formato.

Ti ringrazio infinitamente
Windows8.1 Libreoffice 6.3.4
Francesco90
Messaggi: 73
Iscritto il: mercoledì 2 agosto 2017, 23:33

Re: discriminare per "applica stile" della formatt. condiz.

Messaggio da Francesco90 »

Cè un piccolo inconveniente alla cella AF3 del foglio feb. Negli anni non bisestili la colonna del 29 febbraio che giustamente non viene riempita va in errore e mandando quindi in errore tutte le celle della tabella affianco.
esempio_per_forum_tris.ods
(103.35 KiB) Scaricato 91 volte
Windows8.1 Libreoffice 6.3.4
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1746
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: discriminare per "applica stile" della formatt. condiz.

Messaggio da gioh66 »

Ciao, modifica la formula in D3 del foglio di febbraio così

Codice: Seleziona tutto

=SE(D4="";"";SE(VAL.NUMERO(CERCA.VERT(D4;legenda_elenco_superfestivi_festivi!$A$2:$A$20;1;0));"sf";SE(O(GIORNO.SETTIMANA(D4;2)=7;VAL.NUMERO(CERCA.VERT(D4;legenda_elenco_superfestivi_festivi!$B$2:$B$20;1;0)));"f";SE(GIORNO.SETTIMANA(D4;2)=6;"sa";"fl"))))
in pratica ho aggiunto la condizione che se D4 è vuoto la cella rimane vuota.
Per quanto riguarda il messaggio precedente, hai centrato in pieno il significato della formula.
Per quanto riguarda il MATR.SOMMA.PRODOTTO, oltre a quanto tu stesso hai trovato, fa molto di più. Infatti si può usare come un CONTA.SE, CONTA.PIU.SE, SOMMA.SE, SOMMA.PIÙ.SE potenziato, in quanto supra il limite di queste formule che richiedono che le matrici siano omogenee.
In realtà nel tuo caso si potrebbe sostituire con un CONTA.SE, ma siccome cercavo una soluzione diversa, senza la riga di supporto , tramite il MATR.SOMMA.PRODOTTO, l'ho poi lasciato anche nella soluzione che ti ho proposto.
Allegati
esempio_per_forum_tris.ods
(99.79 KiB) Scaricato 77 volte
...se sei soddisfatto delle risposte ricevute metti il [Risolto] https://forum.openoffice.org/it/forum/v ... f=9&t=5661

Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
Francesco90
Messaggi: 73
Iscritto il: mercoledì 2 agosto 2017, 23:33

Re: discriminare per "applica stile" della formatt. condiz.

Messaggio da Francesco90 »

Grazie mille ancora...
Domanda... Quel punto esclamativo che c'è nella formula che mi hai proposto a che serve? Se lo tolgo, a colpo d'occhio di un principiante quale sono, non vedo malfunzionamenti. A che serve? :)

Grazie mille ancora
Windows8.1 Libreoffice 6.3.4
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1746
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: discriminare per "applica stile" della formatt. condiz.

Messaggio da gioh66 »

Il punto esclamativo fa parte del nome del foglio, perchè io uso la sintassi di excel e quando rispondo puntualmente me ne dimentico :crazy: . Di default libreoffice usa il punto. La formula nativamente è così

Codice: Seleziona tutto

=SE(D4="";"";SE(VAL.NUMERO(CERCA.VERT(D4;legenda_elenco_superfestivi_festivi.$A$2:$A$20;1;0));"sf";SE(O(GIORNO.SETTIMANA(D4;2)=7;VAL.NUMERO(CERCA.VERT(D4;legenda_elenco_superfestivi_festivi.$B$2:$B$20;1;0)));"f";SE(GIORNO.SETTIMANA(D4;2)=6;"sa";"fl")))
)
Ps.: se lo togli vedi eccome i malfunzionamenti. Ti ritrovi le celle con un errore #RIF o #NOME
...se sei soddisfatto delle risposte ricevute metti il [Risolto] https://forum.openoffice.org/it/forum/v ... f=9&t=5661

Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
Francesco90
Messaggi: 73
Iscritto il: mercoledì 2 agosto 2017, 23:33

Re: discriminare per "applica stile" della formatt. condiz.

Messaggio da Francesco90 »

Grazie mille :)
Windows8.1 Libreoffice 6.3.4
Rispondi