Mostrare dati da tabella

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
tore descri
Messaggi: 27
Iscritto il: lunedì 30 maggio 2016, 0:07

Mostrare dati da tabella

Messaggio da tore descri »

Ciao a tutti,

vorrei fare in modo che in base al giorno della settimana e del pasto scelto (pranzo, merenda, cena), automaticamente vengano estrapolati i dati e messi in vista nel riquadro

Avevo iniziato a fare una funzione tra l'altro funzionante con la sintassi: SE è lunedì E pranzo, copia il contenuto della cella interessata in quel riquadro

Però mi sono subito reso conto che la funzione sarebbe stata veramente lunga, 7 giorni della settimana moltiplicata per 3 pasti (ovviamente è solo un esempio).... :knock:

C'è un altro modo più pratico per ottenere lo stesso risultato?

Grazie!!!! :)

vedi file allegato
Allegati
dieta.ods
(12.39 KiB) Scaricato 129 volte
Openoffice 4.1.1
GreyBear61
Messaggi: 5
Iscritto il: giovedì 28 giugno 2018, 13:50
Località: Borgo Ticino (NO)

Re: Mostrare dati da tabella

Messaggio da GreyBear61 »

Ciao.
Puoi usare la funzione INDIRETTO per semplificare un po' la formula:

=SE($E$2="PRANZO";INDIRETTO("B" & (15 + GIORNO.SETTIMANA($C$2;2)));SE($E$2="MERENDA";INDIRETTO("H" & (15 + GIORNO.SETTIMANA($C$2;2)));INDIRETTO("N" & (15 + GIORNO.SETTIMANA($C$2;2)))))

ripeti per ciascuna riga cambiando il riferimento alle colonne.
OpenOffice 4.1.6 su Windows10
LibreOffice 6.2.6.2 su windows10
Avatar utente
gioh66
Volontario assiduo
Volontario assiduo
Messaggi: 1906
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Mostrare dati da tabella

Messaggio da gioh66 »

Buondì. Una formula alternativa potrebbe essere, in E6

Codice: Seleziona tutto

=SCEGLI(SE($E$2="PRANZO";1;SE($E$2="MERENDA";2;3));SCARTO($A$15;CONFRONTA($A$2;$A$16:$A$22;0);RIF.RIGA(A1));SCARTO($G$15;CONFRONTA($A$2;$A$16:$A$22;0);RIF.RIGA(A1));SCARTO($M$15;CONFRONTA($A$2;$A$16:$A$22;0);RIF.RIGA(A1)))
e tiri in basso.
Per non vedere gli zeri dove non sono presenti alimenti puoi formattare le celle come 0;;;@
...se sei soddisfatto delle risposte ricevute metti il [Risolto] viewtopic.php?f=9&t=5661

Libreoffice 25.8 LinuxMint 21/22
Avatar utente
lucky63
Volontario molto attivo
Volontario molto attivo
Messaggi: 3093
Iscritto il: martedì 18 maggio 2010, 17:01

Re: Mostrare dati da tabella

Messaggio da lucky63 »

Ecco una soluzione alternativa.
Tramite "Gestione nomi" creare le tabelle di corrispondenza PRANZO, MERENDA e CENA come riportato in immagine che segue.
GestioneNomi Tabelle.png
In cella E6 inserire la seguente formula:

Codice: Seleziona tutto

=INDICE(INDIRETTO($E$2);GIORNO.SETTIMANA($C$2;2);RIF.RIGA(A2))
Selezionare cella E6 e trascinare/ricopiandola in basso fino a cella E9. Le formule si adattano automaticamente.
Riformattare i bordi cella del range E6:E9 in base alla propria preferenza.
Al renge E6:E9 applicare formattazione numeri personalizzata come indicato da @gioh66 (ossia 0;;;@) .
E6.png
Allego il file con le modifiche già apportate
Allegati
dieta_01.ods
(12.91 KiB) Scaricato 117 volte
tore descri
Messaggi: 27
Iscritto il: lunedì 30 maggio 2016, 0:07

Re: Mostrare dati da tabella

Messaggio da tore descri »

Grazie a tutti!!!! :super: :super:

@lucky63 alla fine sto usando il tuo metodo così provo la gestione nomi.
Ho notato che (seppure funziona perfettamente) se guardo la formula delle celle E7, E8 ed E9 che il RIF.RIGA lo prende sempre più in basso da celle vuote, però non capisco come mai :knock:

Grazie! :super:
Openoffice 4.1.1
Avatar utente
lucky63
Volontario molto attivo
Volontario molto attivo
Messaggi: 3093
Iscritto il: martedì 18 maggio 2010, 17:01

Re: Mostrare dati da tabella

Messaggio da lucky63 »

tore descri ha scritto:Ho notato che (seppure funziona perfettamente) se guardo la formula delle celle E7, E8 ed E9 che il RIF.RIGA lo prende sempre più in basso da celle vuote, però non capisco come mai
Tratto dall'Help (cliccare sull'immagine per ingrandirla):
INDICE.png
Nella formula impostata in cella E6:
Riferimento:

Codice: Seleziona tutto

INDIRETTO($E$2)
La formula acquisisce il nome dell'area celle d'interesse (La tabella definita con "Gestione Nomi") e che imposti cambiando selezione nella Combox (PRANZO, MERENDA e CENA).


Riga:

Codice: Seleziona tutto

GIORNO.SETTIMANA($C$2;2)
La formula acquisisce il numero del giorno della settimana.
Avrai così il riscontro al numero di "Riga" alla tabella dati d'interesse.


Colonna:

Codice: Seleziona tutto

RIF.RIGA(A2)
La formula restituisce il riferimento di riga della cella A2 ossia il numero 2.
Avrai così il riscontro al numero di "Colonna" alla tabella dati d'interesse.

Se fai caso nelle formule relative al Riferimento e alla Riga sono stati utilizzati i riferimenti di cella Assoluti (Simbolo del Dollaro $) mentre nella formula relativa alla Colonna no.
Ciò fà si che copiando in basso la formula di cella E6 cambi solo la parte di formula riferita alla colonna realizzando che in
Cella A6 con la formula RIF.RIGA(A2) ottieni il valore 2
Cella A7 con la formula RIF.RIGA(A3) ottieni il valore 3
Cella A8 con la formula RIF.RIGA(A4) ottieni il valore 4
Cella A9 con la formula RIF.RIGA(A5) ottieni il valore 5
... ossia la rispettiva posizione d'interesse all'interno dell'area di riferimento ...
Quindi invece di scrivere 4 formule ne ho scritto inizialmente solo una che si è replicata automaticamente ricopiandola in basso adattandosi all'esigenza del caso.
Ora per solo quattro celle si potevano anche impostare direttamente 4 formule mettendo direttamente il numero d'interesse ma dovendone gestire moltissime diventa molto più pratico ragionare in tale ottica (almeno io la penso così) e prima ci si abitua meglio è.
Rispondi