Come definire una funzione
-
- Messaggi: 595
- Iscritto il: giovedì 12 gennaio 2012, 20:33
Come definire una funzione
Ciao a tutti
Vi chiedo un aiuto per questo semplice problema. Lavoro con Openoffice 4.1.1
Ho provato a definire una funzione (es:Mese) e vi elenco i passaggi che ho fatto
Inserisci -> Nomi -> Definisci -> Nel campo Nome ho inserito il nome Mese -> nel campo Riferito a ho messo la formula con o senza = -> poi ho pigiato sia ok che aggiungi ma appare ESPRESSIONE NON VALIDA
Scusatemi ma non riesco e non capisco dove sbaglio
Grazie 1000
Sandro
Vi chiedo un aiuto per questo semplice problema. Lavoro con Openoffice 4.1.1
Ho provato a definire una funzione (es:Mese) e vi elenco i passaggi che ho fatto
Inserisci -> Nomi -> Definisci -> Nel campo Nome ho inserito il nome Mese -> nel campo Riferito a ho messo la formula con o senza = -> poi ho pigiato sia ok che aggiungi ma appare ESPRESSIONE NON VALIDA
Scusatemi ma non riesco e non capisco dove sbaglio
Grazie 1000
Sandro
openoffice 4.1.1
Re: Come definire una funzione
Nomi, definisci serve per assegnare un nome ad un range di celle e non a creare una funzione, questa si crea tramite macro
https://wiki.openoffice.org/wiki/IT/Doc ... _Functions
https://wiki.openoffice.org/wiki/IT/Doc ... _Functions
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
-
- Messaggi: 595
- Iscritto il: giovedì 12 gennaio 2012, 20:33
Re: Come definire una funzione
Ciao patel,
Il link è molto chiaro.
Scusa però se provo ancora la mia domanda da un'altro punto di vista per capire meglio. Ambasciatore non porta pena.
Un collega che lavora con excel mi ha detto di provare a fare questa cosa e io non riesco.
che sarebbero gli equivalenti di:
Ps: forse devo sostituire il
Posso dirgli che con calc non è possibile definire una funzione in questo modo ma devo usare solo macro oppure esiste un modo che tu utilizzeresti per raggiungere il risultato?
Da incompetente ti chiedo se è possibile fare:
Inserisci -> Nomi -> Definisci -> Nel campo Nome (inserisco: Mese) -> Nel campo Riferito a: (metto la cella di riferimento) -> Aggiungo la formula .......
Grazie 1000
Sandro
Il link è molto chiaro.
Scusa però se provo ancora la mia domanda da un'altro punto di vista per capire meglio. Ambasciatore non porta pena.
Un collega che lavora con excel mi ha detto di provare a fare questa cosa e io non riesco.
Secondo lui si fanno questi passaggi:Definisci "Mese":
=INDICE(INDIRETTO("'c'!H"&INDICE(121+(RIF.RIGA('c'!$A$1:$A$12)-1)*200;CONFRONTA(MAX(SE((('c'!$H$1:$H$2512<>"")*(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(MAIUSC('c'!$H$1:$H$2512);"GENNAIO";"");"FEBBRAIO";"");"MARZO";"");"APRILE";"");"MAGGIO";"");"GIUGNO";"");"AGOSTO";"");"SETTEMBRE";"");"OTTOBRE";"");"NOVEMBRE";"");"DICEMBRE";"")<>"")>0);RIF.RIGA('c'!$H$1:$H$2512)));121+(RIF.RIGA('c'!$A$1:$A$12)-1)*200;1)));)
Codice: Seleziona tutto
Calc:
Inserisci - Nomi - Definisci...
Codice: Seleziona tutto
Excel:
Scheda Formule>Gestione Nomi>Nuovo>Campo nome e Campo riferito a:
Nel Campo nome: nome formula
Nel Campo riferito a: Incolli la formula
con!
trattandosi di excel.
Posso dirgli che con calc non è possibile definire una funzione in questo modo ma devo usare solo macro oppure esiste un modo che tu utilizzeresti per raggiungere il risultato?
Da incompetente ti chiedo se è possibile fare:
Inserisci -> Nomi -> Definisci -> Nel campo Nome (inserisco: Mese) -> Nel campo Riferito a: (metto la cella di riferimento) -> Aggiungo la formula .......
Grazie 1000
Sandro
openoffice 4.1.1
Re: Come definire una funzione
Ciao secondo me il problema sta nella formula, perchè probabilmente la definizione dei nomi (di calc) non accetta formule matriciali. Quel
MAX(SE((('c'!$H$1:$H$2512<>"")
e
MAIUSC('c'!$H$1:$H$2512)
rendono la formula matriciale.
MAX(SE((('c'!$H$1:$H$2512<>"")
e
MAIUSC('c'!$H$1:$H$2512)
rendono la formula matriciale.
...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
Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
-
- Messaggi: 595
- Iscritto il: giovedì 12 gennaio 2012, 20:33
Re: Come definire una funzione
Ciao gioh66
Ti volevo chiedere 2 cose:
- Se essendo stata fatta da un collega che lavora solo con Excel questa funzione ha dei caratteri che vanno cambiati. Io ho la senzazione che il "!" va cambiato con il "." Mi sbaglio?
- Questa formula si può usare nascondendola in una celle che vogliamo e poi invece di usare la formula definita uso il riferimento della cella?
Grazie 1000
sandro
Ti volevo chiedere 2 cose:
- Se essendo stata fatta da un collega che lavora solo con Excel questa funzione ha dei caratteri che vanno cambiati. Io ho la senzazione che il "!" va cambiato con il "." Mi sbaglio?
- Questa formula si può usare nascondendola in una celle che vogliamo e poi invece di usare la formula definita uso il riferimento della cella?
Grazie 1000
sandro
openoffice 4.1.1
Re: Come definire una funzione
Ciao @patelpatel ha scritto:Nomi, definisci serve per assegnare un nome ad un range di celle e non a creare una funzione, questa si crea tramite macro
https://wiki.openoffice.org/wiki/IT/Doc ... _Functions
E' possibile definire dei nomi di formula vedi l'esempio in fondo a questa pagina https://wiki.openoffice.org/wiki/Docume ... med_Ranges
Ho provato e funziona , vedi qui viewtopic.php?f=9&t=9369#p51609
Per giunta questa possibilità di procedere l'avevo proposta proprio a sandro, ma a quanto pare l'ha dimenticata.
Nell'altra discussione ho definito un nome per una formula "potenzialmente matriciale" ma scritta senza specificarla come tale. Quando in una cella ho richiamato il nome della formula, ho impostato la formula della cella come formula matriciale.gioh66 ha scritto:Ciao secondo me il problema sta nella formula, perchè probabilmente la definizione dei nomi (di calc) non accetta formule matriciali. Quel
MAX(SE((('c'!$H$1:$H$2512<>"")
e
MAIUSC('c'!$H$1:$H$2512)
rendono la formula matriciale.
Quindi per me l'errore sta nella formula che non è per calc, ma per excel, oppure ti sei scordato di impostare come formula matriciale la formula che hai inserito nella cella che richiama il nomeformula.
Chiaramente hai ragione, in calc per richiamare delle celle che si trovano in altri fogli non devi usare il punto esclamativo e nemmeno inserire il nome tra ', ma una cosa tipo questasandro merlino ha scritto: - Se essendo stata fatta da un collega che lavora solo con Excel questa funzione ha dei caratteri che vanno cambiati. Io ho la senzazione che il "!" va cambiato con il "." Mi sbaglio?
Codice: Seleziona tutto
=Foglio2.C4:C13
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
Re: Come definire una funzione
@unluky83
Perfetto tanto meglio se il problema non è nella forma matriciale (buono a sapersi), allora come dici il problema potrebbe stare nella formula che non viene "digerita" da calc.
@Sandro
se provi a sostituire il ! con il punto di sicuro male non fa, visto che l'uso del punto è nella sintassi nativa delle formule di calc.
Perfetto tanto meglio se il problema non è nella forma matriciale (buono a sapersi), allora come dici il problema potrebbe stare nella formula che non viene "digerita" da calc.
@Sandro
se provi a sostituire il ! con il punto di sicuro male non fa, visto che l'uso del punto è nella sintassi nativa delle formule di calc.
...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
Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
-
- Messaggi: 595
- Iscritto il: giovedì 12 gennaio 2012, 20:33
Re: Come definire una funzione
Ciao e grazie ancora una volta a tutti e due per l'aiuto che provate a darmi
@unlucky83
Non mi sono dimenticato ma non mi vergogno però a dirti che questo messaggio è stato aperto perchè non sono riuscito a farlo di nuovo per risolvere il messaggio ancora aperto con nome:
Funzione ordina decrescentemente prestazione di dipendenti per il quale siamo sempre in attesa dai capi che si decidano per di colonne di appoggio.
Mi arrabatto dove posso per trovare una soluzione alternativa e mi avevano suggerito di definire funzioni e di fare un tentativo con delle formule suggerite per excel ma mi sono fermato subito. Le funzioni te le allego sull'altro argomento appena sostituisco il"!" con il "." .
@gioh66
Provo a sostituire il"!" con il "."
Grazie
sandro
@unlucky83
Confermo e l'ho anche usata in alcuni format che mi hanno risolto quel problema.E' possibile definire dei nomi di formula vedi l'esempio in fondo a questa pagina https://wiki.openoffice.org/wiki/Docume ... med_Ranges
Scusami ma ci tengo a dirti che per me è incomprensibile. Non sono all'altezza di leggere una cosa del genere
Ho provato e funziona , vedi qui viewtopic.php?f=9&t=9369#p51609
Per giunta questa possibilità di procedere l'avevo proposta proprio a sandro, ma a quanto pare l'ha dimenticata.
Non mi sono dimenticato ma non mi vergogno però a dirti che questo messaggio è stato aperto perchè non sono riuscito a farlo di nuovo per risolvere il messaggio ancora aperto con nome:
Funzione ordina decrescentemente prestazione di dipendenti per il quale siamo sempre in attesa dai capi che si decidano per di colonne di appoggio.
Mi arrabatto dove posso per trovare una soluzione alternativa e mi avevano suggerito di definire funzioni e di fare un tentativo con delle formule suggerite per excel ma mi sono fermato subito. Le funzioni te le allego sull'altro argomento appena sostituisco il"!" con il "." .
@gioh66
Provo a sostituire il"!" con il "."
Grazie
sandro
openoffice 4.1.1
-
- Messaggi: 595
- Iscritto il: giovedì 12 gennaio 2012, 20:33
Re: Come definire una funzione
Ciao
Scusate se insisto ma ho trovato questo link
dove si fa vedere che nel campo Riferito a devo mettere la cella.
La mia domanda è: La formula dove la metto e come?
Grazie
sandro
Scusate se insisto ma ho trovato questo link
Codice: Seleziona tutto
https://forum.openoffice.org/it/forum/viewtopic.php?f=9&t=2054
La mia domanda è: La formula dove la metto e come?
Grazie
sandro
openoffice 4.1.1
Re: Come definire una funzione
Buondì, la formula devi inserirla nel campo"Riferito a". In quello spazio inserisci o un intervallo di celle o una formula a cui dare un 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
Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
-
- Messaggi: 595
- Iscritto il: giovedì 12 gennaio 2012, 20:33
Re: Come definire una funzione
Ciao gioh66
Grazie per la risposta che mi hai dato. Ho fatto un'altro tentativo e sono arrivato alla conclusione che su 3 funzioni da definire 2 sono entrate ma una non ancora. A questo punto penso che ci siano problemi di sintassi. Te le mostro
Definisci "Unici":
Definisci "Conta_Unici":
Definisci "Mese":(non si inserisce)
Ti allego il file
Se hai qualche altro suggerimento è ben accetto
Grazie
sandro
Grazie per la risposta che mi hai dato. Ho fatto un'altro tentativo e sono arrivato alla conclusione che su 3 funzioni da definire 2 sono entrate ma una non ancora. A questo punto penso che ci siano problemi di sintassi. Te le mostro
Definisci "Unici":
Codice: Seleziona tutto
=T(INDIRETTO("'c'.H"&PICCOLO(SE(FREQUENZA(SE(VAL.ERRORE(CONFRONTA(SCARTO(INDIRETTO("'c'.H"&CONFRONTA(Mese;'c'.$H$1:$H$2512;0)+4);;;188);SCARTO(INDIRETTO("'c'.H"&CONFRONTA(Mese;'c'.$H$1:$H$2512;0)+4);;;188);0));FALSO;CONFRONTA(SCARTO(INDIRETTO("'c'.H"&CONFRONTA(Mese;'c'.$H$1:$H$2512;0)+4);;;188);SCARTO(INDIRETTO("'c'.H"&CONFRONTA(Mese;'c'.$H$1:$H$2512;0)+4);;;188);0));RIF.RIGA('c'.$A$1:$A$188))>0;RIF.RIGA('c'.$A$1:$A$188));RIF.RIGA(INDIRETTO("A1:A"&MATR.SOMMA.PRODOTTO((SE(FREQUENZA(SE(VAL.ERRORE(CONFRONTA(SCARTO(INDIRETTO("'c'.H"&CONFRONTA(Mese;'c'.$H$1:$H$2512;0)+4);;;188);SCARTO(INDIRETTO("'c'.H"&CONFRONTA(Mese;'c'.$H$1:$H$2512;0)+4);;;188);0));FALSO;CONFRONTA(SCARTO(INDIRETTO("'c'.H"&CONFRONTA(Mese;'c'.$H$1:$H$2512;0)+4);;;188);SCARTO(INDIRETTO("'c'.H"&CONFRONTA(Mese;'c'.$H$1:$H$2512;0)+4);;;188);0));RIF.RIGA('c'.$A$1:$A$188))>0;RIF.RIGA('c'.$A$1:$A$188))<>FALSO)*1))))+CONFRONTA(Mese;'c'.$H$1:$H$2512;0)+3))
Codice: Seleziona tutto
=MATR.SOMMA.PRODOTTO((SE(FREQUENZA(SE(VAL.ERRORE(CONFRONTA(SCARTO(INDIRETTO("'c'.H"&CONFRONTA(Mese;'c'.$H$1:$H$2512;0)+4);;;188);SCARTO(INDIRETTO("'c'.H"&CONFRONTA(Mese;'c'.$H$1:$H$2512;0)+4);;;188);0));FALSO;CONFRONTA(SCARTO(INDIRETTO("'c'.H"&CONFRONTA(Mese;'c'.$H$1:$H$2512;0)+4);;;188);SCARTO(INDIRETTO("'c'.H"&CONFRONTA(Mese;'c'.$H$1:$H$2512;0)+4);;;188);0));RIF.RIGA('c'.$A$1:$A$188))>0;RIF.RIGA('c'.$A$1:$A$188))<>FALSO)*1)
Codice: Seleziona tutto
=INDICE(INDIRETTO("'c'.H"&INDICE(121+(RIF.RIGA('c'.$A$1:$A$12)-1)*200;CONFRONTA(MAX(SE((('c'.$H$1:$H$2512<>"")*(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(MAIUSC('c'.$H$1:$H$2512);"GENNAIO";"");"FEBBRAIO";"");"MARZO";"");"APRILE";"");"MAGGIO";"");"GIUGNO";"");"AGOSTO";"");"SETTEMBRE";"");"OTTOBRE";"");"NOVEMBRE";"");"DICEMBRE";"")<>"")>0);RIF.RIGA('c'.$H$1:$H$2512)));121+(RIF.RIGA('c'.$A$1:$A$12)-1)*200;1)));)
Se hai qualche altro suggerimento è ben accetto
Grazie
sandro
- Allegati
-
- ordina decrescentemente prestazione di dipendenti - n1 - Copia.ods
- (132.16 KiB) Scaricato 107 volte
openoffice 4.1.1