[Risolto] Calcolo all'interno di una formula
[Risolto] Calcolo all'interno di una formula
Salve a tutti. So che la domanda possa sembrare un pò particolare ma volevo sapere se tramite una formula era possibile fare un calcolo all'interno di una formula stessa. Porto 2 semplici esempi :
1° esempio : =INDIRIZZO(RIF.RIGA($V$12);22+RIF.RIGA(A1)*8-8;4)
In questo 1° caso mi servirebbe calcolare automaticamente la parte che va dal valore 22 fino al -8. Il valore A1 all'interno della parentesi deve essere inteso come +1. Fatto a mano il calcolo viene fatto in questo modo : [22+(1*8-8=0)]. Quindi 22+0=22
2° esempio : =INDIRIZZO(RIF.RIGA($V$12);22+RIF.RIGA(A2)*1+1;4)
Anche in questo 2° caso occorre partire dal valore 22 fino al -1. Il valore A2 all'interno della parentesi deve essere inteso come +2. Risultato finale 22+3=25
1° esempio : =INDIRIZZO(RIF.RIGA($V$12);22+RIF.RIGA(A1)*8-8;4)
In questo 1° caso mi servirebbe calcolare automaticamente la parte che va dal valore 22 fino al -8. Il valore A1 all'interno della parentesi deve essere inteso come +1. Fatto a mano il calcolo viene fatto in questo modo : [22+(1*8-8=0)]. Quindi 22+0=22
2° esempio : =INDIRIZZO(RIF.RIGA($V$12);22+RIF.RIGA(A2)*1+1;4)
Anche in questo 2° caso occorre partire dal valore 22 fino al -1. Il valore A2 all'interno della parentesi deve essere inteso come +2. Risultato finale 22+3=25
Ultima modifica di Nando69 il venerdì 13 maggio 2022, 16:58, modificato 3 volte in totale.
Libre Office 7.3.0.3
Re: Calcolo all'interno di una formula
Non ho capito, allega un file di esempio con dati, spiegazioni e risultato desiderato.
-------------------
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
Re: Calcolo all'interno di una formula
Qui un file d'esempio
- Allegati
-
- file d'esempio.ods
- (21.66 KiB) Scaricato 81 volte
Libre Office 7.3.0.3
Re: Calcolo all'interno di una formula
Ciao. Anche col file non mi è per niente chiaro cosa vuoi ottenere.
Detto ciò se quel A1 tra parentesi è riferito alla funzione RIF.RIGA, il risultato di RIF.RIGA(A1) è 1 e diventa 2, 3, 4, 5, ecc...man mano che trascini la formula in basso.
Detto ciò se quel A1 tra parentesi è riferito alla funzione RIF.RIGA, il risultato di RIF.RIGA(A1) è 1 e diventa 2, 3, 4, 5, ecc...man mano che trascini la formula in basso.
...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
Re: Calcolo all'interno di una formula
Dalla formula
=INDIRIZZO(RIF.RIGA($V$12);22+RIF.RIGA(A1)*8-8;4)
si prende solo la parte che va da 22 fino a -8 e si fa il calcolo. Quindi : 22+RIF.RIGA(A1)*8-8
22+(1*8)-8 = 0 (zero)
E' possibile fare questo automaticamente tramite una formula ? Se la cosa risulta troppo astrusa,non c'è problema. Metto [Risolto]
Il risultato di RIF.RIGA(A1) che da 1 diventa 2, 3, 4, 5 man mano che trascini la formula in basso,non modifica il problema
=INDIRIZZO(RIF.RIGA($V$12);22+RIF.RIGA(A1)*8-8;4)
si prende solo la parte che va da 22 fino a -8 e si fa il calcolo. Quindi : 22+RIF.RIGA(A1)*8-8
22+(1*8)-8 = 0 (zero)
E' possibile fare questo automaticamente tramite una formula ? Se la cosa risulta troppo astrusa,non c'è problema. Metto [Risolto]
Il risultato di RIF.RIGA(A1) che da 1 diventa 2, 3, 4, 5 man mano che trascini la formula in basso,non modifica il problema
Libre Office 7.3.0.3
Re: Calcolo all'interno di una formula
Il Risolto va messo soltanto se viene riportata la soluzione
-------------------
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
Re: Calcolo all'interno di una formula
Il valore 22 è un valore fisso o può variare ?Nando69 ha scritto:si prende solo la parte che va da 22 fino a -8 e si fa il calcolo
Il simbolo (+) di addizione dopo il valore 22 è un parametro fisso o può variare anche in - / * … ?
Il simbolo (*) di moltiplicazione dopo il rif.riga() è un parametro fisso o può variare anche in + - / … ?
Il simbolo prima dell'ultimo valore da gestire può essere solo (-) sottrazione o (+) addizione o può variare anche in / * … ?
.
.
Re: Calcolo all'interno di una formula
Ciao. Chiarisco i tuoi dubbi, o almeno ci provo
1) Il valore 22 è un valore fisso o può variare ?
R) No,non è fisso e può variare
2) Il simbolo (+) di addizione dopo il valore 22 è un parametro fisso o può variare anche in - / * … ?
R) Il simbolo (+) di addizione dopo il valore 22 è un parametro fisso
3) Il simbolo (*) di moltiplicazione dopo il rif.riga() è un parametro fisso o può variare anche in + - / … ?
R) Il simbolo (*) di moltiplicazione dopo il rif.riga() potrebbe variare anche in + - /
4) Il simbolo prima dell'ultimo valore da gestire può essere solo (-) sottrazione o (+) addizione o può variare anche in / * … ?
Il simbolo prima dell'ultimo valore da gestire potrebbe variare anche in (/) divisione oppure (*) moltiplicazione
1) Il valore 22 è un valore fisso o può variare ?
R) No,non è fisso e può variare
2) Il simbolo (+) di addizione dopo il valore 22 è un parametro fisso o può variare anche in - / * … ?
R) Il simbolo (+) di addizione dopo il valore 22 è un parametro fisso
3) Il simbolo (*) di moltiplicazione dopo il rif.riga() è un parametro fisso o può variare anche in + - / … ?
R) Il simbolo (*) di moltiplicazione dopo il rif.riga() potrebbe variare anche in + - /
4) Il simbolo prima dell'ultimo valore da gestire può essere solo (-) sottrazione o (+) addizione o può variare anche in / * … ?
Il simbolo prima dell'ultimo valore da gestire potrebbe variare anche in (/) divisione oppure (*) moltiplicazione
Libre Office 7.3.0.3
Re: Calcolo all'interno di una formula
Per quanto riguarda il risultato che vuoi ottenere in colonna G puoi utilizzare in G1 la seguente formula chiave e poi ricopiarla in basso:
Per quanto riguarda il risultato che vorresti ottenere in colonna F con solo formule, alle condizioni che hai rappresentato e per quella che era la mia idea, ci vorrebbero credo circa 16 test nidificati nella funzione =SE() e un combinato di molte altre funzioni il tutto con una formula che già dopo poche combinazioni di riscontro stava diventando lunghissima/complicata/caotica per cui ho abbandonato l'idea optando per una macro collegata al pulsante “Calcola la stringa”.
Forse altri possono proporti soluzioni migliori e/o riescono a trasformarti il concetto base della mia macro in una funzione personalizzata.
.
Codice: Seleziona tutto
=SE(E1="";"";SE(CODICE(STRINGA.ESTRAI(E1;2;1))<58;STRINGA.ESTRAI(E1;1;1);SE(CODICE(STRINGA.ESTRAI(E1;3;1))<58;STRINGA.ESTRAI(E1;1;2);STRINGA.ESTRAI(E1;1;3))))
Codice: Seleziona tutto
Sub CalcolaStringaComeFormula
Doc = ThisComponent
Foglio = Doc.Sheets.GetByName("Foglio2")
Cursore = Foglio.createCursor
Cursore.gotoEndOfUsedArea(false)
UltimaRiga = Cursore.RangeAddress.EndRow
For Riga = 0 To UltimaRiga
CellaEx = Foglio.GetCellByPosition(4,Riga)
CellaFx = Foglio.GetCellByPosition(5,Riga)
If CellaEx.String = "" Then
CellaFx.String = ""
Else
FormulaDellaCellaEx = CellaEx.Formula
PuntoVirgolaPosizione1 = Instr(1,FormulaDellaCellaEx,";")
PuntoVirgolaPosizione2 = Instr(PuntoVirgolaPosizione1+1,FormulaDellaCellaEx,";")
StringaDaElaborareComeFormula = Mid(FormulaDellaCellaEx,PuntoVirgolaPosizione1+1,PuntoVirgolaPosizione2-PuntoVirgolaPosizione1-1)
CellaFx.Formula = "=" & StringaDaElaborareComeFormula
ValoreCellaFx = CellaFx.Value
CellaFx.Value = ValoreCellaFx
End If
Next Riga
End sub
.
- Allegati
-
- Test - Macro - CalcolaStringaComeFormula.ods
- (24.38 KiB) Scaricato 68 volte
Re: [Risolto] Calcolo all'interno di una formula
Ciao Lucky. Scusa,non ho capito come hai ricavato il pulsante " CALCOLA LA STRINGA",come hai fatto a sovrascriverlo sul foglio ed anche come hai fatto a scrivere all'interno di questo rettangolo la frase stessa " CALCOLA LA STRINGA" . Puoi spiegarmi per favore ? Grazie
- Allegati
-
- pulsante calcola la stringa.jpg (130.89 KiB) Visto 1943 volte
Libre Office 7.3.0.3
Re: Calcolo all'interno di una formula
Le tue nuove richieste meritavano di essere trattate come nuovo argomento/quesito essendo completamente diverse dal quesito iniziale che per altro avevi già segnato come risolto.
Invito @Charlie a valutare il caso di scorporarle e renderle autonome come nuovo argomento.
Menu > Visualizza > Barre strumenti > "Controlli Formulario" e attivi la barra relativa a tali controlli.
Posizionando il mouse sopra le sue varie icone appare il loro rispettivo nome.
Cliccare sull'icona “Modo struttura” (In OpenOffice: Bozza On/Off) per attivare la modalità Struttura/Bozza.
Le icone che prima non erano abilitate ora lo sono.
Cliccare sull'icona di nome "Pulsante"
Posizionarsi sul punto desiderato del foglio di lavoro.
Tenere premuto tasto sinistro del mouse e trascinare fino alle dimensioni desiderate del pulsante ...
Notare che il pulsante creato ha come definizione standard la parola “Pulsante” e sul perimetro otto quadrattini indicanti che si è in modalità “Struttura/Bozza”.
Tasto Dx del mouse sul Pulsante appena creato > Proprietà del controllo > Generale > Didascalia.
Nella casella a fianco trovi la scritta di default “Pulsante” che puoi sostituire con quella di tua preferenza.
Chiudendo la finestra delle proprietà del controllo troverai poi nel pulsante la scritta da te impostata.
Nelle “ Proprietà del controllo > Generale “ puoi valutare di apportare anche altre modifiche alle rispettive voci secondo le tue preferenze/esigenze del caso ...
Nelle “ Proprietà del controllo > Eventi “ puoi invece scegliere a quale evento associare una macro … seguendo il percoso fino alla macro interessata …
Terminate le modifiche di preferenza occorre cliccare di nuovo sull'icona modalità “Struttura/Bozza” per rendere operativo il collegamento del pulsante alla macro associata ...
.
.
Re: Calcolo all'interno di una formula
Ciao,grazie. Tutto chiaro,eccetto una cosa. Quando arrivo in "Proprietà del controllo > Eventi " mi rimane tutto grigio e non riesco a scrivere nulla,tanto più scegliere a quale evento associare la macro seguendo come dici tu il percoso fino alla macro interessata
- Allegati
-
- 13 maggio.jpg (129.42 KiB) Visto 1884 volte
Libre Office 7.3.0.3
Re: Calcolo all'interno di una formula
.
Devi usare l'icona "Pulsante" e non l'icona "Pulsante di scelta".
. . . .
Segui il percorso di selezione della macro ...
.
Devi usare l'icona "Pulsante" e non l'icona "Pulsante di scelta".
. . . .
Segui il percorso di selezione della macro ...
.
Re: Calcolo all'interno di una formula
Perfetto,grazie. Metto "Risolto" e scusa per il disturbo
Libre Office 7.3.0.3