Esempio
colonna da a1 ad a20, con tanti valori diversi
All'inizio B1=costante, ad esempio 400
B2= al numero di celle tra a1 e a20 con valori maggiori di 0; ad esempio 14 (su 20)
Condizione 1
Devo effettuare la seguente verifica per ogni cella della colonna a con valori diversi da 0 (ad es. da 1 a 14)
Se An<=B1/B2 allora devo scegliere il valore An (con n da 1 a 14)....mettiamo che da questa verifica "x" celle della colonna A soddisfano la condizione (ad esempio 3 celle);
Condizione 2
poi conto le celle che non soddisfano la condizione (quindi nell'esempio saranno B2-x=11), e devo di effettuare il seguente controllo
Se An<=[B1-somma(celle che soddisfano la condizione 1)/(B2-x)] allora devo scegliere il valore An (con n da 1 a 14-x).....mettiamo che da questa verifica "y" celle della colonna A soddisfano la condizione (ad esempio 1 cella);
poi conto le celle che non soddisfano la condizione (quindi nell'esempio saranno B2-x-y=10), e devo di effettuare il seguente controllo
Se An<=[B1-somma(celle che soddisfano la condizione 1 e 2)/(B2-x)] allora devo scegliere il valore An (con n da 1 a 14-x-y).
e così via fino a che il valore [B1-somma(celle che soddisfano la condizione da 1 e i)] è superiore a tutte le celle da A1 ad A14
lo so che sembra complicato...ma è più difficile a dirsi che a farsi...(forse)
Allego file che spero aiuti a capire meglio.
si tratta di una soluzione che mi serve a ripartire una bolletta aqp con fasce di consumi
ripetere un calcolo fino ad una certa condizione
ripetere un calcolo fino ad una certa condizione
- Allegati
-
- esempio.ods
- (17.87 KiB) Scaricato 139 volte
OpenOffice 3.1 su Windows Vista
Re: ripetere un calcolo fino ad una certa condizione
Buondì, io non ci ho capito un tubo, anche perchè mi sembra che il file che hai postato non calza con la tua spiegazione. Magari metti anche i risultati che vorresti ottenere scritti a mano.
...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: ripetere un calcolo fino ad una certa condizione
hai ragione è complicato da spiegare
io devo ottenere una divisione per fasce di consumi dell'acqua.
le tre fasce di consumi complessivi sono riportati in B1, B2 e B3, e li devo ripartire secondo i consumi dei singoli che si trovano nelle celle da B10 a B23.
e si fa in questo modo:
divido B1 per il numero degli utenti che hanno consumato (nell'esempio sono 465/14). questo numero lo confronto con i consumi dei singoli. se il consumo del singolo è minore di 465/14 allora il suo consumo resta in prima fascia...nell'esempio dopo la prima verifica sono <= di 465/14 le celle B18, B20 e B23.
però....una volta fatta questa prima verifica, devo rifare la stessa cosa in questo modo: devo verificare che i restanti utenti abbiano i consumi inferiori a (465-B18-B20-B23)/(14-3) cioè devo ripartire il "resto" dei consumi sul "resto" degli utenti. nell'esempio (465-B18-B20-B23)/(14-3)=36.75 e scopro che anche B14 resta in prima fascia essendo <= di 36.75...
Questa verifica (che vorrei automatizzare) deve andare avanti fin tanto che dopo n-esimo passaggio il rapporto "resto consumi"/"resto utenti" è minore a tutti i singoli consumi (celle da B10 a B23), cosa che nel mio caso accade dopo tre passaggi e con il valore di 36.81
aiutoooo
io devo ottenere una divisione per fasce di consumi dell'acqua.
le tre fasce di consumi complessivi sono riportati in B1, B2 e B3, e li devo ripartire secondo i consumi dei singoli che si trovano nelle celle da B10 a B23.
e si fa in questo modo:
divido B1 per il numero degli utenti che hanno consumato (nell'esempio sono 465/14). questo numero lo confronto con i consumi dei singoli. se il consumo del singolo è minore di 465/14 allora il suo consumo resta in prima fascia...nell'esempio dopo la prima verifica sono <= di 465/14 le celle B18, B20 e B23.
però....una volta fatta questa prima verifica, devo rifare la stessa cosa in questo modo: devo verificare che i restanti utenti abbiano i consumi inferiori a (465-B18-B20-B23)/(14-3) cioè devo ripartire il "resto" dei consumi sul "resto" degli utenti. nell'esempio (465-B18-B20-B23)/(14-3)=36.75 e scopro che anche B14 resta in prima fascia essendo <= di 36.75...
Questa verifica (che vorrei automatizzare) deve andare avanti fin tanto che dopo n-esimo passaggio il rapporto "resto consumi"/"resto utenti" è minore a tutti i singoli consumi (celle da B10 a B23), cosa che nel mio caso accade dopo tre passaggi e con il valore di 36.81
aiutoooo
OpenOffice 3.1 su Windows Vista
Re: ripetere un calcolo fino ad una certa condizione
io devo ottenere una divisione per fasce di consumi dell'acqua.
Quindi 36,81 è giusto o sbagliato? Visto che parli di automatizzare il passaggio, immagino che sia giusto e che te tutte le volte fai un procedimento del genere.ildubbio ha scritto: Questa verifica (che vorrei automatizzare) deve andare avanti fin tanto che dopo n-esimo passaggio il rapporto "resto consumi"/"resto utenti" è minore a tutti i singoli consumi (celle da B10 a B23), cosa che nel mio caso accade dopo tre passaggi e con il valore di 36.81
aiutoooo
Sarebbe utile capire quali celle sono di input, quali quelle di lavoro e qual'è il risultato finale...vuoi scoprire semplicemente 36,81?
Inoltre, a seconda dei casi può avvenire al passaggio 4, 5, 6 ...?
Dovresti davvero preparare un nuovo allegato, perchè la tua spiegazione non chiarisce ancora ciò che vuoi ottenere. Magari organizzalo su più fogli. Nel primo foglio metti i dati di partenza (con intestazioni in alto che spieghino il significato del numero), nel secondo foglio incolli il primo aggiungendo la procedura manuale che adotti e il risultato finale, infine un terzo foglio (privo di formule) in cui incolli il primo foglio e riporti il risultato da ottenere.
p.s.
Alla fine hai preparato delle tabelle per ciascun passaggio che puoi ripetere tranquillamente n.volte con il copia e incolla, basta usare correttamente il dollaro..tu lo hai impiegato esclusivamente come doppio dollaro. Secondo me hai già trovato la risposta
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: ripetere un calcolo fino ad una certa condizione
36,81 è giusto ma solo per l'esempio indicato. Ma non è una costante. E l'esito del calcolo e delle verifiche fatte n volte.unlucky83 ha scritto:io devo ottenere una divisione per fasce di consumi dell'acqua.ildubbio ha scritto: Quindi 36,81 è giusto o sbagliato?
p.s.
Alla fine hai preparato delle tabelle per ciascun passaggio che puoi ripetere tranquillamente n.volte con il copia e incolla, basta usare correttamente il dollaro..tu lo hai impiegato esclusivamente come doppio dollaro. Secondo me hai già trovato la risposta
Dove n non è definito
Purtroppo scrivere quello che vorrei ottenere non è semplice.
Diciamo che vorrei evitare ogni volta di dover fare n copia incolla, come suggerisci tu.
OpenOffice 3.1 su Windows Vista
Re: ripetere un calcolo fino ad una certa condizione
Il calcolo viene ripetuto al massimo un numero di volte pari alle voci dell'elenco. L'elenco è fisso o è variabile?
Quello che potresti fare è preparare un foglio con già le formule inserite senza bisogno di copiare e incollare continuamente le tabelle. Inoltre se ciò non fosse evitabile dato che l'elenco potrebbe essere estremamente lungo e imprevedibile, potresti adottare formule matriciali e un layout opportuno per renderti la vita più semplice.
Se l'elenco fosse lunghissimo, quindi N esageratamente grande, si potrebbe pensare di ricorrere alle macro.
Quello che dovresti fare è cercare di spiegarci tutto e non dare nulla per scontato. Visto che esistono anche la seconda e la terza fascia ho il sospetto che la parte "seccante" del tuo lavoro di verifica dipenda anche dal fatto che dovrai fare controlli anche per queste fasce, o probabilmente ricavare i valori di soglia di fascia 2 e 3 specifici per i consumi indicati.
Se il quadro non è chiaro non è facile capire qual'è la soluzione migliore per te.
Quello che potresti fare è preparare un foglio con già le formule inserite senza bisogno di copiare e incollare continuamente le tabelle. Inoltre se ciò non fosse evitabile dato che l'elenco potrebbe essere estremamente lungo e imprevedibile, potresti adottare formule matriciali e un layout opportuno per renderti la vita più semplice.
Se l'elenco fosse lunghissimo, quindi N esageratamente grande, si potrebbe pensare di ricorrere alle macro.
Quello che dovresti fare è cercare di spiegarci tutto e non dare nulla per scontato. Visto che esistono anche la seconda e la terza fascia ho il sospetto che la parte "seccante" del tuo lavoro di verifica dipenda anche dal fatto che dovrai fare controlli anche per queste fasce, o probabilmente ricavare i valori di soglia di fascia 2 e 3 specifici per i consumi indicati.
Se il quadro non è chiaro non è facile capire qual'è la soluzione migliore per te.
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: ripetere un calcolo fino ad una certa condizione
Allego comunque file.
Foglio 1 è il tuo foglio con le formule migliorate ( utilizzo corretto del dollaro per bloccare riferimenti di righe e/o riferimenti colonne).
Foglio 2 è una versione che utilizza le formule matriciali e nel dubbio che l'elenco fosse di lunghezza indeterminata, ho preferito assegnare il nome "Elenco1" all'area celle.
Attendo chiarimenti per le altre fasce.
Foglio 1 è il tuo foglio con le formule migliorate ( utilizzo corretto del dollaro per bloccare riferimenti di righe e/o riferimenti colonne).
Foglio 2 è una versione che utilizza le formule matriciali e nel dubbio che l'elenco fosse di lunghezza indeterminata, ho preferito assegnare il nome "Elenco1" all'area celle.
Attendo chiarimenti per le altre fasce.
- Allegati
-
- esempio5.ods
- (17.87 KiB) Scaricato 136 volte
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