Stopare crestere proportionala intre 2 valori si reluare crestere dupa a doua valoare

Informatii despre cum se utilizeaza Microsoft Excel 2007. Calcule, Formule, Functii, Tabele pivot, Analiza datelor, etc
rolysudest
Mesaje: 20
Membru din: Sâm Oct 22, 2016 10:38 am

Stopare crestere proportionala intre 2 valori si reluare crestere dupa a doua valoare

Mesaj de rolysudest » Mar Ian 24, 2023 11:43 am

Salutare!
Ma poate ajuta cineva? E destul de complicat... :D
Am deja DOUĂ formule în două celule (coloane), dependente de aceeasi celula de input, AF1695:

Coloana 1) (celula rezultat, AY1695) =IF(AF1695>=5200,MAX(150,ROUNDUP((AF1695-200)/25,-1))+100,MAX(150,ROUNDUP(AF1695/25,-1)))
Aș dori să upgradez această formulă cu următoarele condiții:
* Dacă 7450<AF1695<=8950, rezultatul celulei AY1695 trebuie să rămână fix, să rămână același, sa nu mai urce proportional, sa ramana ca la AF = 7451.
* Dacă AF>8950, valoarea celulei va crește proporțional din nou, de unde a ramas, dar cu +50 în loc de +100. ((AF1695-200)/25,-1))+50

Coloana 2) (celula rezultat, BC1695) =IF(AF1695>=5200,MAX(150,ROUNDUP((AF1695-200)/25,-1)),MAX(150, ROUNDUP(AF1695/25,-1)))
Aș dori să upgradez această formulă cu următoarele condiții:
* Dacă 7450<AF1695<=8950, la rezultatul celulei BC1695 sa se adauge valoarea care nu mai este adăugată în AY1695 (pentru că valoarea acesteia nu crește)
* Dacă AF>8950, valoarea BC1695 va crește proporțional din nou, de unde a ramas, cu +50. ((AF1695-200)/25,-1))+50

EXEMPLU;
Valoarea AF este 7450; Valoarea rezultatului AY(Coloana 1) va fi 390 și valoarea BC(Coloana 2) va fi 290
Valoarea AF este 7451; Valoarea rezultatului AY(Coloana 1) va fi 400 și valoarea BC(Coloana 2) va fi 300
Valoarea AF este 7800; Valoarea rezultatului AY(Coloana 1) va fi 400 și valoarea BC(Coloana 2) va fi 320
Valoarea AF este 8000; Valoarea rezultatului AY(Coloana 1) va fi 400 și valoarea BC(Coloana 2) va fi 340
Valoarea AF este 8300; Valoarea rezultatului AY(Coloana 1) va fi 400 și valoarea BC(Coloana 2) va fi 360
Valoarea AF este 8500; Valoarea rezultatului AY(Coloana 1) va fi 400 și valoarea BC(Coloana 2) va fi 380
Valoarea AF este 8800; Valoarea rezultatului AY(Coloana 1) va fi 400 și valoarea BC(Coloana 2) va fi 400
Valoarea AF este 8950; Valoarea rezultatului AY(Coloana 1) va fi 400 și valoarea BC(Coloana 2) va fi 400
Valoarea AF este 9000; rezultatul valoarea AY(coloana 1) va fi 410 și valoarea BC(coloana 2) va fi 410
Valoarea AF este 9300; Valoarea rezultatului AY(Coloana 1) va fi 420 și valoarea BC(Coloana 2) va fi 420
Valoarea AF este 9500; Valoarea rezultatului AY(Coloana 1) va fi 430 și valoarea BC(Coloana 2) va fi 430
Valoarea AF este 9800; Valoarea rezultatului AY(Coloana 1) va fi 440 și valoarea BC(Coloana 2) va fi 440
Si asa mai departe...

Multumesc mult pentru ajutor!

Indigo-ONE
Mesaje: 440
Membru din: Mar Dec 11, 2018 8:54 pm

Re: Stopare crestere proportionala intre 2 valori si reluare crestere dupa a doua valoare

Mesaj de Indigo-ONE » Mar Ian 24, 2023 12:09 pm

Salutare,

Te astepti ca cineva sa-ti refaca fisierul, ca apoi sa incerce vreo solutie?
Ataseaza fisierul si daca e cazul explica amanuntit ce doresti si pune manual datele rezultate (fara formule).


"I fear the day that technology will surpass our human interaction. The world will have a generation of idiots."
Albert Einstein

rolysudest
Mesaje: 20
Membru din: Sâm Oct 22, 2016 10:38 am

Re: Stopare crestere proportionala intre 2 valori si reluare crestere dupa a doua valoare

Mesaj de rolysudest » Mar Ian 24, 2023 4:47 pm

Salutare, ai dreptate :)
Revin cu tabelul excel simplificat, atasat.
Trebuie sa postez inca o data textul cu denumirile celulelor modificate, deoarece am sters f multe coloane si randuri.

Am deja DOUĂ formule în două celule (coloane), dependente de aceeasi celula de input, E7

Coloana 1) (celula rezultat, J7) =IF(E7>=5200,MAX(150,ROUNDUP((E7-200)/25,-1))+100,MAX(150,ROUNDUP(E7/25,-1)))
Aș dori să upgradez această formulă cu următoarele condiții:
* Dacă 7450<E7<=8950, rezultatul celulei J7 trebuie să rămână fix, să rămână același, sa nu mai urce proportional, sa ramana ca la E7 = 7451.
* Dacă E7>8950, valoarea J7 va crește proporțional din nou, de unde a ramas, dar cu +50 în loc de +100. ((J7-200)/25,-1))+50

Coloana 2) (celula rezultat, L7) =IF(E7>=5200,MAX(150,ROUNDUP((E7-200)/25,-1)),MAX(150, ROUNDUP(E7/25,-1)))
Aș dori să upgradez această formulă cu următoarele condiții:
* Dacă 7450<E7<=8950, la rezultatul celulei L7 sa se adauge valoarea care nu mai este adăugată în J7 (pentru că valoarea acesteia nu mai crește)
* Dacă E7>8950, valoarea L7 va crește proporțional din nou, de unde a ramas, cu +50. ((E7-200)/25,-1))+50

EXEMPLU;
Valoarea E7 este 7450; Valoarea J (Coloana 1) va fi 390 și valoarea L (Coloana 2) va fi 290
Valoarea E7 este 7451; Valoarea J (Coloana 1) va fi 400 și valoarea L (Coloana 2) va fi 300
Valoarea E7 este 7800; Valoarea J (Coloana 1) va fi 400 și valoarea L (Coloana 2) va fi 320
Valoarea E7 este 8000; Valoarea J (Coloana 1) va fi 400 și valoarea L (Coloana 2) va fi 340
Valoarea E7 este 8300; Valoarea J (Coloana 1) va fi 400 și valoarea L (Coloana 2) va fi 360
Valoarea E7 este 8500; Valoarea J (Coloana 1) va fi 400 și valoarea L (Coloana 2) va fi 380
Valoarea E7 este 8800; Valoarea J (Coloana 1) va fi 400 și valoarea L (Coloana 2) va fi 400
Valoarea E7 este 8950; Valoarea J (Coloana 1) va fi 400 și valoarea L (Coloana 2) va fi 400
Valoarea E7 este 9000; Valoarea J (Coloana 1) va fi 410 și valoarea L (coloana 2) va fi 410
Valoarea E7 este 9300; Valoarea J (Coloana 1) va fi 420 și valoarea L (Coloana 2) va fi 420
Valoarea E7 este 9500; Valoarea J (Coloana 1) va fi 430 și valoarea L (Coloana 2) va fi 430
Valoarea E7 este 9800; Valoarea J (Coloana 1) va fi 440 și valoarea L (Coloana 2) va fi 440

Si asa mai departe...

Multumesc mult pentru ajutor!

cip.st
Moderator
Moderator
Mesaje: 550
Membru din: Vin Iun 06, 2014 1:43 pm
Localitate: Iași

Re: Stopare crestere proportionala intre 2 valori si reluare crestere dupa a doua valoare

Mesaj de cip.st » Mie Ian 25, 2023 11:42 am

1. Cam multe date personale legate de 3Sud-Est :lol:
2. La ce bani par a de învârti acolo, nu au găsi câteva sute de euro pentru o aplicație dedicată...

în fine, ca distracție, uite o abordare:

Extrage-ți separat regulile de calcul. De exemplu pentru prima coloană eu am identificat regulile:
R1: 0< Contract<=3750 =>150
R2: 3750<Contract<=5200 =>=Round(Baza/25,-1)
R3: 5200<Contract<=7450 =>=Round(Baza/25,-1)+100
R4: 7450<Contract<=8950 =>=400
R5: 8950<Contract<=infinit =>=Round(Baza/25,-1)+50

OBS. Vezi că în text ai spus regula „* Dacă E7>8950, valoarea J7 va crește proporțional din nou, de unde a ramas, dar cu +50 în loc de +100. ((J7-200)/25,-1))+50”, dar de calculat ai calculat cu „(E7/25,-1)+50”, adică cu valoarea întreagă a contractului, fără să mai scazi 200.

Pe exemplul tău, unde E7 este valoarea contractului iar G7 este valoarea Bazei de repartizare, formula pentru prima coloană este:

Cod: Selectaţi tot

=CHOOSE(VLOOKUP(E7,{0,1;3751,2;5201,3;7451,4;8951,5},2,TRUE),150,ROUND(G7/25,-1),ROUND(G7/25,-1)+100,400,ROUND(G7/25,-1)+50)
pentru restul... distracție plăcută!

rolysudest
Mesaje: 20
Membru din: Sâm Oct 22, 2016 10:38 am

Re: Stopare crestere proportionala intre 2 valori si reluare crestere dupa a doua valoare

Mesaj de rolysudest » Mie Feb 01, 2023 2:55 pm

Salutare Cip(rian?) si scuze pentru raspunsul intarziat, dar am fost plecat din tara! Multumesc mult pentru raspuns si pentru ajutorul (mare) si dezinteresat!
First of all, nu trebuie sa ne bazam pe stereotipuri, eu fug de ele, sa stii ca notorietatea nu este, de foarte multe ori, direct proportionala cu marimea contului din banca. E vorba de 12 oameni in echipa. :)

Revenind la subiect si multumindu-ti inca o data pentru ajutor, remarc complexitatea formulei (eu sunt la ABC). :)
Poate ma insel, dar in formula rotunjirea la 10 pare ca se face in mod "clasic", de la 5 in sus, nu de la 0,0....01. Asa ca am modificat la tine in formula ROUND CU ROUNDUP. Sa imi spui daca am procedat corect.

In alta ordine de idei, crezi ca m-ai putea ajuta si cu formula din coloana K? Nu inteleg cum sa modific conditiile, e prea mult pentru mine. :D
Cu mov deschis sunt valorile din coloana K, puse manual de mine, cum ar trebui sa rezulte.
Si da-mi Revolut-ul tau. :lol:
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

rolysudest
Mesaje: 20
Membru din: Sâm Oct 22, 2016 10:38 am

Re: Stopare crestere proportionala intre 2 valori si reluare crestere dupa a doua valoare

Mesaj de rolysudest » Joi Feb 02, 2023 12:21 am

Pentru coloana K:

=CHOOSE(VLOOKUP(E7,{0,1;3751,2;5201,3;7451,4;8951,5},2,TRUE),150,ROUNDUP(G7/25,-1),ROUNDUP(G7/25,-1),ROUNDUP(G7/25+(I7-300),-1),ROUNDUP(G7/25,-1)+F7/4)

Cum ti se pare? Poti sa arunci o privire, te rog? Mie imi pare ca functioneaza, dar poate am omis ceva :)
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

cip.st
Moderator
Moderator
Mesaje: 550
Membru din: Vin Iun 06, 2014 1:43 pm
Localitate: Iași

Re: Stopare crestere proportionala intre 2 valori si reluare crestere dupa a doua valoare

Mesaj de cip.st » Joi Feb 02, 2023 11:59 am

Tu ești cel mai în măsură să spui dacă rezultatul respectă algoritmul dorit sau nu. Formula prin care ajungi la rezultat e o chestiune subsidiară.

Din punctul meu de vedere foarte important este să îți extragi regulile de la început și să le verifici că sunt corecte (vezi observațiile din primul post).

Regulile extrase de mine pentru coloana 2 sunt:
R1: 0< Contract<=3750 =>150
R2: 3750<Contract<=7450 =>=Round(Baza/25,-1)
R3: 7450<Contract<=7450 =>=2*Round(Baza/25,-1)-300
R4: 8950<Contract<=infinit =>=Round(Baza/25,-1)+50

Pentru aceste reguli, rezultă formula:

Cod: Selectaţi tot

=CHOOSE(VLOOKUP(E7,{0,1;3751,2;7451,3;8951,4},2,TRUE),150,ROUNDUP(G7/25,-1),2*ROUNDUP(G7/25,-1)-300,ROUNDUP(G7/25,-1)+50)
Mai jos voi detalia modul în care am construit formula, ca în felul acesta să poți să o modifici singur ori de câte ori ai nevoie:
►Choose îmi selectează efectiv ce formulă trebuie aplicată în baza rezultatului furnizat de Vlookup. Primul argument este indexul, iar următoarele sunt alternativele de furnizat pe baza indexului.
►Vlookup-ul caută în prima coloană din matricea definită între paranteze acolade valoarea bazei și returnează valoarea din coloana 2. Datorită prezenței argumentului TRUE (aproximative match) căutarea se termină pe rândul pentru care valoarea căutată este mai mare decât cea din matrice, dar mai mică decât cea de pe rândul următor.
Exemplu:
pentru ușurință închipuie-ți că matricea ,{0,1;3751,2;7451,3;8951,4} este reprezentată așa:
0 - 1
3751 - 2
7451 - 3
8951 - 4
Dacă eu caut valoarea 4300, Vlookup îmi întoarce 2 deoarece 3751<=4300 și 4300<7451.
►Formulele pentru reguli sunt evidente...

Spor!

rolysudest
Mesaje: 20
Membru din: Sâm Oct 22, 2016 10:38 am

Re: Stopare crestere proportionala intre 2 valori si reluare crestere dupa a doua valoare

Mesaj de rolysudest » Joi Feb 02, 2023 12:29 pm

Salut Cip

Multumesc frumos pentru raspuns!
In coloana K, cu mov, am pus manual cat trebuie sa iasa si in coloana L e acum rezultatul (coloana a doua).
Se pare ca la formula ta e undeva ceva omis, cateva rezultate nu ies cum ar trebui. Imi pare ca doar ceea ce trece de cifra unitatilor 5 in coloana H iese bine, desi vad ca ai pus ROUNDUP peste tot.
Toate cele bune!
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

cip.st
Moderator
Moderator
Mesaje: 550
Membru din: Vin Iun 06, 2014 1:43 pm
Localitate: Iași

Re: Stopare crestere proportionala intre 2 valori si reluare crestere dupa a doua valoare

Mesaj de cip.st » Joi Feb 02, 2023 12:53 pm

În fișierul „...- Roly.xlsx”, începând cu al doilea rând din tabel utilizezi în formule referințe către rândul anterior, nu către cel curent.

rolysudest
Mesaje: 20
Membru din: Sâm Oct 22, 2016 10:38 am

Re: Stopare crestere proportionala intre 2 valori si reluare crestere dupa a doua valoare

Mesaj de rolysudest » Joi Feb 02, 2023 2:58 pm

Da, scuze, gresisem la copiere. Am corectat.
In loc de valorile fixe 100 sau 50 am pus F7/2 sau F7/4. Pentru cazul in care, vreodata, valoarea lui F se modifica.
Acum e bine? :)

Multumesc mult pentru ajutor!
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

Scrie răspuns

Înapoi la “Intrebari despre Excel 2007”