Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Instalare aer conditionat in apar...

Telefoane prietenoase cu vederea?

Alegere teava pentru incalzire pr...

Opinia publica despre medici/ asi...
 Senzor Temp PMOD-TMP3 cu TCN75A

Amazing Race

La multi ani @LouisCyphre!

Vinieta Bulgaria Online
 Investitie imobiliara in strainat...

Plita inducție gorenje IC340...

info schimbare buletin sectorul 4

Aplicație nivel scazut baterie
 Importul de cod extern avantaje v...

Alegere sistem usi glisante\...

Am primit credit in avans desi op...

Restituire prima casco dupa instr...
 

Validare condiții în buclă

- - - - -
  • Please log in to reply
8 replies to this topic

#1
Vladinskaya

Vladinskaya

    Rustproof Member

  • Grup: Senior Members
  • Posts: 3,225
  • Înscris: 06.03.2011
Salutări!

Dacă are cineva un pic mai multă experiență pe partea asta de excel, v-aș fi recunoscător.
Am nevoie de o formulă în coloana cu explicații. Am atașat un tabel ca să înțelegeți mai ușor.
(i-am schimbat extensia din .xlsx, că nu puteam atașa altfel, for some reason)

Vă stau la dispoziție pentru orice neclaritate.
Am încercat cu tot felul de IF-uri imbricate sau COUNT-uri, dar n-a ieșit.
Apoi am încercat un soi de loop într-un VBA script, dar nu-i dau de cap și nici sintaxa nu prea o cunosc. :(

Orice sugestie e binevenită!
Mulțumesc mult!

Attached Files



#2
__Dan__

__Dan__

    Senior Member

  • Grup: Senior Members
  • Posts: 5,060
  • Înscris: 15.04.2019
Tabelul e fix cu 4 fete si 3 orase sau e extins? Pentru ca-n al doilea caz e o problema, Excelu' n-are de unde sa "stie" de unde-s gagicile (ar trebui adaugat un rand cu localitatea de origine sub numele lor, de ex.). Strict pentru speta asta e simplu; sa vad daca-i dau de cap Posted Image
In celula C5 -> =IF(AND(D5*I5<>0;E5*J5<>0;F5*K5<>0;G5*K5<>0);"OK";"NOK"). Pentru celelalte randuri modifici nr. randului (tragi de celula cu drag & fill in sus). Dar repet, imi scapa logica de completare.

Edited by __Dan__, 15 March 2024 - 22:10.


#3
__Dan__

__Dan__

    Senior Member

  • Grup: Senior Members
  • Posts: 5,060
  • Înscris: 15.04.2019
Mai am de lucru un pic la formula Posted Image
La C2 -> =IF(OR(AND(D2=1;I2=0);AND(E2=1;J2=0);AND(F2=1;K2=0);AND(G2=1;K2=0));"NOK";"OK")
Completezi in jos.
Pare sa fie OK.

Edited by __Dan__, 15 March 2024 - 22:22.


#4
Vladinskaya

Vladinskaya

    Rustproof Member

  • Grup: Senior Members
  • Posts: 3,225
  • Înscris: 06.03.2011
Datele sunt mult mai multe, evident și pe o speță un pic diferită. Posted Image)
Aici am pus doar un sample trivial ca să fie mai simplu de abordat.

Relația directă pe care ne putem baza mereu e corespondența coloanelor.
Fata1 va fi mereu în relație cu orașul1 și așa mai departe.
Și am și cazul din final în care 2 fete sunt în relație cu ultimul oraș.

Chestiunea e doar dacă au 1 - 1 pe celulele aferente.
Cam atât. În rest sunt cazurile descrise acolo.

------------------

Ceva în genul IF-urilor tale am încercat și eu prima dată, dar apar probleme în cazul în care o pereche din mijloc nu e ok.
De exemplu:

Coloana1 cu Valoarea1 = pereche bună de 1
se trece de condiție
Coloana2 cu Valoarea2 =pereche de 1 cu 0 sau de 0 cu 0
se oprește și se afișează verdictul "NOK"
Coloana3 cu Valoarea3 = pereche bună de 1 (dar degeaba, că nu mai ajunge a fi verificată)

Deci nu e ok treaba cu IF-urile imbricate.

Abordarea mea secundă a fost să am o parcurgere în buclă până când numărul de perechi bune pe care le găsesc este egal cu numărul așteptat, din coloana C.
Dacă se termină lista de perechi și numărul așteptat nu e ajuns, se afișează "NOK".
Dar "While"-ul clasic din programare nu pare să fie neapărat ceva nativ excel-ului. Sau nu mi-e clar mie exact cum se pune la treabă.

LE: "Excel does not have a native WHILE function like many programming languages, it does offer iterative calculations through its features like Data Tables, Goal Seek and Excel VBA."

Edited by Vladinskaya, 15 March 2024 - 22:33.


#5
__Dan__

__Dan__

    Senior Member

  • Grup: Senior Members
  • Posts: 5,060
  • Înscris: 15.04.2019
Eu zic ca merge si cu if-uri imbricate, dar e mult de gandit (trebuiesc evaluate toate variantele de intrari) si nu ma mai ajuta mintea (in nici un caz la ora 23).
C4 -> =IF(OR(AND(D4=1;I4=0);AND(E4=1;J4=0);AND(F4=1;K4=0);AND(G4=1;K4=0);AND(D4=0;I4=1);AND(E4=0;J4=1);
AND(F4+G4=0;K4=1));"NOK";"OK")
Verific-o.

Edited by __Dan__, 15 March 2024 - 23:00.


#6
Vladinskaya

Vladinskaya

    Rustproof Member

  • Grup: Senior Members
  • Posts: 3,225
  • Înscris: 06.03.2011
Da, am verificat-o și e ok pentru ce am explicat eu, mulțumesc mult!

Doar că acum când am adaptat-o la cazul meu real, mi-am dat seama că am gândit greșit inițial la fete și orașe. Posted Image)
Dacă cel puțin o fată din orașul Cluj apare, e ok. Adică nu tre' să fie toate din Cluj prezente cu 1, e ok să fie și una da și una nu.
Câtă vreme orașul e reprezentat de cineva e ok.

Deci în cazul ăsta, pentru linia 5 din excel-ul postat de mine:
X-X-0-1 cu X-X-1 ar trebui să afișeze OK.
la fel și
X-X-1-0 cu X-X-1

Dar mă mai uit și eu, oricum, bună abordarea cu OR și condiția nefavorabilă la interior. Good job!

Edited by Vladinskaya, 15 March 2024 - 23:01.


#7
__Dan__

__Dan__

    Senior Member

  • Grup: Senior Members
  • Posts: 5,060
  • Înscris: 15.04.2019
Cred ca ti-am rezolvat si necesitatea de macar o clujeanca in formula anterioara. Bafta!

#8
__Dan__

__Dan__

    Senior Member

  • Grup: Senior Members
  • Posts: 5,060
  • Înscris: 15.04.2019

 Vladinskaya, on 15 martie 2024 - 22:28, said:

Dar "While"-ul clasic din programare nu pare să fie neapărat ceva nativ excel-ului. Sau nu mi-e clar mie exact cum se pune la treabă.
Excel-ul chiar n-are "While". Pentru ca nu-i limbaj de programare. VBA-ul insa pe care i-l poti "atasa" stie de cicluri do while...loop. Orice functii incluse intr-un tabel pot fi replicate printr-un cod, care are avantajul flexibilitatii si al iteratiilor. Poate candva va voi prezenta un "masterpiece" de genul.

#9
Vladinskaya

Vladinskaya

    Rustproof Member

  • Grup: Senior Members
  • Posts: 3,225
  • Înscris: 06.03.2011
Cam puțin dormiți, nenea Dan! Posted Image

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate