Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Incalzire casa fara gaz/lemne

Incalzire in pardoseala etapizata

Suprataxa card energie?!

Cum era nivelul de trai cam din a...
 probleme cu ochelarii

Impozite pe proprietati de anul v...

teava rezistenta panou apa calda

Acces in Curte din Drum National
 Sub mobila de bucatarie si sub fr...

Rezultat RMN

Numar circuite IPAT si prindere t...

Pareri brgimportchina.ro - teapa ...
 Lucruri inaintea vremurilor lor

Discuții despre TVR Sport HD.

Cost abonament clinica privata

Tremura toata, dar nu de la ro...
 

Smecherii in Excel

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

#19
Ravy

Ravy

    Don't be sad, get MAD!

  • Grup: Moderators
  • Posts: 16,168
  • Înscris: 05.01.2006
Gecs, asa este.
Eu am sugerat text doar pentru a nu se mai schimba in nici un fel acel continut. 11.34 poate sa insemne multe... de la 11,34 la 11:34, etc... si cum nu a mentionat pentru ce-i trebuie am postat solutia cea mai rapida si care nu da batai de cap pentru ce a cerut.

Dar, cum am zis si la inceput ai perfecta dreptate in ce spui referitor la clasificarea numerelor. :)

Bafta!

#20
42miticutza

42miticutza

    Junior Member

  • Grup: Members
  • Posts: 61
  • Înscris: 25.12.2008

 vata_pa_batz, on 15th January 2010, 13:55, said:

In loc de virgula insa punct si virgula ;)

Faci asa:

1) Setezi fontul pe celulele A2, B2, C3, D2 pe "webdings"
2) Copiaza formula asta in fiecare dintre celulele de mai sus. Nu uita sa schimbi in fiecare A1 cu B1....

=IF(A1=1;"%";(IF(A1=2;"&";(IF(A1=3;"s";(IF(A1=4;"""")))))))
3) Valorile 1, 2, 3 sau 4 in celulele A1, B1, C1 sau D1 iti vor da automat exact simbolurile cautate de tine in celulele A2, B2...

Pana la afisarea simbolurilor cum obtinem clasamentul de pe randul 2 ?

#21
gecs

gecs

    Member

  • Grup: Members
  • Posts: 795
  • Înscris: 12.02.2008

 42miticutza, on 25th June 2010, 11:51, said:

Pana la afisarea simbolurilor cum obtinem clasamentul de pe randul 2 ?
Folosind functia RANK.

Pentru A2:
=RANK(A1;$A$1:$D$1;1)
copiata pana in D2.


Pe urma, pentru afisarea simbolurilor respective selectezi range-ul A3:D3, setezi font-ul pe Webdings, iar in A3 folosesti formula:
=MID("%&s""";A2;1)
pe care o copiezi pana in D3.

#22
42miticutza

42miticutza

    Junior Member

  • Grup: Members
  • Posts: 61
  • Înscris: 25.12.2008
Multumesc foarte mult Gecs !!! Am incercat sa introduc formula folosind meniul formulelor dar nu apar referinte relative $A$1, merge doar daca introduc manual. Mai sunt setari de facut in xls ?

Sau nu am completat corect campurile "Number, Ref si Order"

Edited by Ravy, 25 June 2010 - 12:33.


#23
gecs

gecs

    Member

  • Grup: Members
  • Posts: 795
  • Înscris: 12.02.2008
Referintele pot fi modificate din RELATIVE (A1) in ABSOLUTE ($A$1), sau MIXTE ($A1, A$1) prin apasarea tastei F4. Ca sa scrii, de exemplu, functia RANK din exemplul de mai sus, in A2 tastezi "=RANK(" (fara ghilimele), dai un click in A1, tastezi ";", selectezi range-ul A1:D1, APESI F4 (referinta se va transforma din relativa in absoluta - daca mai apesi pe F4 referinta respectiva va deveni mixta cu blocarea randului, apoi mixta cu blocarea coloanei, apoi din nou relativa, apoi din nou absoluta s.a.m.d.), dupa care tastezi ";1)" si Enter. Tot cu F4 se poate modifica tipul de referinta si intr-o formula deja scrisa - se selecteaza cu mouse-ul (dublu-click) referinta respectiva si se apasa F4 de cate ori e nevoie.

In versiunile de la 2007 in sus inclusiv, la tastarea semnului "=" urmat de o litera apare un drop-down list in care sunt functiile care incep cu litera respectiva, din care se poate selecta functia iar tastarea urmatoarelor litere din numele functiei duce la o cautare incrementala automata in acesta lista. In momentul in care functia dorita e cea selectata se apasa TAB si numele functiei va aparea in intregime in bara de formule urmat si de prima paranteza. De exemplu, daca vrei sa folosesti functia MID, in celula respectiva se tasteaza "=mi" - in acest moment functia MID e selectata automat din drop-down list, se tasteaza TAB si in bara de formule va aparea "=MID(".

In exemplul cu clasamentul poti sa elimini cifrele din randul 2 si sa faci sa apara direct simbolurile Webdings folosind in A2 formula:
=MID("%&s""";RANK(A1;$A$1:$D$1;1);1)
copiata pana in D2 si cu celulele respective folosind fontul Webdings.

Edited by Ravy, 25 June 2010 - 12:33.


#24
graurus

graurus

    New Member

  • Grup: Members
  • Posts: 8
  • Înscris: 09.08.2007
Salut

As avea nevoie de un mic ajutor in realizarea unei formule

Am un tabel, ca in imaginea de mai jos

Vreau sa verific conditia sa fie doar o valoare de 1 pe acel rand, iar in locul unde se gaseste acea valoare de 1(presupunand ca este doar una) sa se afesize valoare specifica pe coloana respectiva (pe care am atribuit-o eu)

Verificarea de conditie sa se faca in mod dinamic pt ca e posibil sa se mai adauge coloane pe viitor si nu vreau sa modific formula de fiecare data

Pt fiecare element in parte am reusit

Pt cazul in care sunt mai multe valori(deci conditia nu se respecta) am realizat formula de care am nevoi

Astept sugestii

Multumesc

Attached Files


Edited by graurus, 29 June 2010 - 09:39.


#25
gecs

gecs

    Member

  • Grup: Members
  • Posts: 795
  • Înscris: 12.02.2008
Desi n-am inteles prea bine ce vrei, cred ca tot la o formula pe baza unui IF ajungi:

=IF(COUNTIF(range,1)=1,valoare,altceva)

unde:
range poate fi definit folosind functia OFFSET cu al cincilea argument parametrizat in functie de numarul coloanei unde incepe range-ul de valori de pe randul respectiv si numarul coloanei unde se afla formula.

Ca exemplu, pentru situatia din poza atasata:

OFFEST($B3,0,0,1,COLUMN()-2)

si atunci

COUNTIF(OFFEST($B3,0,0,1,COLUMN()-2),1)

va returna numarul de aparitii al cifrei 1 in range-ul care incepe in B3, are 1 rand si 4 coloane. Daca mai inserezi/stergi coloane intre coloana B si coloana F (unde se afla formula) range-ul returnat de OFFSET va avea un rand si atatea coloane cate returneaza expresia COLUMN()-2 (unde COLUMN() returneaza numarul coloanei curente - cea in care sunt scrise formulele).

#26
graurus

graurus

    New Member

  • Grup: Members
  • Posts: 8
  • Înscris: 09.08.2007
if(and($A3=0,$B3=0,$C3=0,$D3=1),30,if(and($A3=0,$B3=0,$C3=1,$D3=0),15,if(and($A3=0,$B3=1,$C3=0,$D3=0),10,if(and($A3=1,$B3=0,$C3=0,$D3=0),100)

aceasta e formula mea pt ce vreau eu in care se verifica conditia pt fiecare element in parte
eu doresc sa fac treaba aceasta dinamic, adica sa nu mai fie nevoie sa fac verificarea conditiei pt fiecare caz
ai inteles acum ce anume doresc?  :D

#27
gecs

gecs

    Member

  • Grup: Members
  • Posts: 795
  • Înscris: 12.02.2008
In primul rand ca formula nu bate cu poza. Daca pe coloana A ai Nr.crt. doar in randul 3 vei avea valoarea 1 - pe urma vor fi 2, 3, 4 s.a.m.d., apoi B3 corespunde coloanei in care pe randul 2 ai inscrisa valoarea "A", C3 coloanei in care pe randul 2 ai inscrisa valoarea "B" s.a.m.d.

In al doilea rand "dinamicitatea" despre care vorbesti (adaugi/stergi coloane) nu poate functiona cu valori inscrise doar in formule (ma refer la 30, 15, 10 si 100) - tot va trebui sa modifici formulele daca inserezi/stergi coloane.

In al treilea rand n-ai spus daca in range-ul testat ai INTOTDEAUNA doar o aparitie a cifrei 1 - nici formula ta nu trateaza varianta in care exista mai multe aparitii ale valorii 1, sau niciuna. Daca niciuna din variantele testate in IF-uri nu e cea din range-ul respectiv, formula ta va returna FALSE.

Va trebui intai sa te lamuresti asupra tuturor problemelor enuntate mai sus si apoi sa reformulezi EXACT ce vrei. Eu pot sa presupun ce vrei si pot sa imaginez n variante de formule pentru cele n variante care ar rezulta din presupunerile respective, dar singura varianta corecta e cea pe care NUMAI tu o poti explica pana la capat.

De exemplu, daca in loc de A, B, C, D pe randul 2 ai inscrie valorile 100, 10, 15, 30, in F3 poti folosi formula:

=SUMPRODUCT($B3:E3,$B$2:E$2)

Cu formula de mai sus, daca inserezi o coloana in range-ul B:E si in randul 2 adaugi in coloana respectiva valoarea care se va lua in calcul in cazul in care pe coloana respectiva apare de la randul 3 in jos valoarea 1, formula va functiona "dinamic", asa cum vrei. La fel si daca stergi o coloana din range-ul sus-mentionat.

#28
graurus

graurus

    New Member

  • Grup: Members
  • Posts: 8
  • Înscris: 09.08.2007

 graurus, on 29th June 2010, 10:37, said:

....
Pt cazul in care sunt mai multe valori(deci conditia nu se respecta) am realizat formula de care am nevoi
....

inca de la prima postare am precizat ca sunt cazuri de aparitii multiple

in legaturi cu formula data de exemplu imi cer scuze, intr-adevar e asa cum zici tu, dar e doar ca si idee cam ce doresc eu

iar ca sa fiu si mai la subiesct mai jos am pus capul de tabel in care am nevoie de formula, si formula realizata de mine...poate acum o sa intelegi cam despre ce e vorba:

=IF($B8="o",IF(AND($C8=0,$D8=0,$E8=0,$F8=0,$G8=1),L_32,IF(AND($C8=0,$D8=0,$E8=0,$F8=1,$G8=0),CB_40,IF(AND($C8=0,$D8=0,$E8=1,$F8=0,$G8=0),
WC_sus_110,IF(AND($C8=0,$D8=1,$E8=0,$F8=0,$G8=0),Ms_r_75,IF(AND($C8=1,$D8=0,$E8=0,$F8=0,$G8=0),ssv_50,LOOKUP($K8,debit_max_coloane,
DN_debit_max_coloane))))),"")

unde:

L_32, CB_40, WC_sus_110, Ms_r75, ssv_50=sunt celule cu denumire schimbata si cae au valori specifice

debit_max_coloane,DN_debit_max_coloane=tabele denumite

atribuierea acestor valori (L_32, CB_40, WC_sus_110, Ms_r75, ssv_50) "dinamic" se poate realiza printr-o functie de tipul LOOKUP()

ce nu stiu eu sa fac este verificarea conditiei ca pe primul rand sa existe doar o valoare de 1

precizez ca in poza sunt doar 2 linii de tabel si este cu de caracter implementare a formulelor, deci o sa fie mai multe linii si mai multe tabele cu acelasi cap de tabel(tabel=coloana M1, urmatorul tabel ar fi "coloana M2" , etc.. dar toate o sa fie sub acelasi cap de tabel)

Attached Files


Edited by graurus, 30 June 2010 - 06:59.


#29
gecs

gecs

    Member

  • Grup: Members
  • Posts: 795
  • Înscris: 12.02.2008
1. Verificarea conditiei ca intr-un anume range sa existe doar o valoare de 1 e simpla: COUNTIF(range,1)=1, sau SUMPRODUCT(--(range=1))=1.

2. In general, pentru a evita cascada de IF-uri se foloseste un tabel de valori (cu cele pe care le-ai numit L_32, CB_40, WC_sus_110, Ms_r75, ssv_50) si o cautare in acest tabel cu LOOKUP, sau INDEX + MATCH. Tabelului respectiv ii poti da un nume si atunci pentru returnarea valorilor asociate diverselor configuratii de n de 0 si un 1 poti avea in formula secvente ca:

LOOKUP(1,range,tabel_valori)

sau

INDEX(tabel_valori,MATCH(1,range,0))

In formulele de mai sus tabel_valori si range trebuie sa aiba acelasi numar de elemente.

3. Pentru "dinamicitatea" despre care vorbeai trebuie ca in formule sa scrii range-ul folosind referinte mixte, care la copierea formulei sa actualizeze doar partea de referinta relativa si care sa permita inserarea/stergerea de coloane. In exemplul anterior, cel cu SUMPRODUCT, sper ca ai remarcat ca range-urile aveau referinte de forma:

$B3:E3

si

$B$2:E$2

unde coloana E, nefiind prefixata de $ permitea inserarea/stergerea de coloane intre B:E (formula fiind pe coloana F, inserarea unei coloane ar fi mutat-o pe coloana G si range-urile s-ar fi adaptat automat, devenind $B3:F3 si $B$2:F$2)

In situatia in care folosesti tabele de valori (asa cum am sugerat la pct. 2) poti face ca si acele tabele de valori sa fie dinamice. Daca pui valorile respective intr-un alt sheet (si asa e cel mai bine), presupunem Sheet2 incepand din A1, in Name Manager - Ctrl+F3 (sau dialogul Define Name in versiunile anterioare lui 2007) poti folosi formula:

=OFFSET(Sheet2!$A$1,0,0,COUNTA(Sheet2!$A$1:$A$100))

pentru numele tabel_valori si in felul asta poti adauga pana la 100 de valori pe coloana A, daca ai nevoie, iar numele respectiv va fi asociat intotdeauna numai range-ului care contine valori, CU CONDITIA sa nu existe randuri libere intre valorile respective.

Edited by gecs, 30 June 2010 - 09:06.


#30
graurus

graurus

    New Member

  • Grup: Members
  • Posts: 8
  • Înscris: 09.08.2007
super ideile
m-ai luminat un pic
o sa revin in curand cu ceva rezultate dupa ce mai gandesc un pic situatia mea

mersi gecs... esti tare  :OK:

#31
azazica

azazica

    Member

  • Grup: Members
  • Posts: 728
  • Înscris: 08.01.2008
salutare, sunt mai nou in excel si nu am gasit ceea ce cautam si ma gandeam daca ma poate ajuta cineva cu o formula sau ceva de genul..
am un tabel in care pe un rand(reprezentant o luna) trebuie sa trec zilele lucratoare notate cu w ...daca in luna respectiva masina este stricata voi trece  litera d (damage) ..
acum, la sfarsiutul lunii va trebui sa trec numarul de zile lucrate, numarul de zile cu damage si la sfarsit totalul zilelor  w+d; cum fac, ce formula sa folosesc pt a-mi adauga automat numarul = cu cate w sunt si cate  d  sunt, totalul il voi face cu =10+2 enter....

w w w w   w w d w w d w w  10 2 12  

voi atasa si un fisier si sper ca am postat cat de cat ok

multam fain

Attached Files


Edited by azazica, 18 November 2010 - 17:23.


#32
dorin_2k

dorin_2k

    Master Member

  • Grup: Senior Members
  • Posts: 48,069
  • Înscris: 01.12.2001
in cele 2 celule scrii formulele
=COUNTIF(I5:AL5;"=d")
=COUNTIF(I5:AL5;"=w")

Apoi le "tragi" in jos

Edited by dorin_2k, 18 November 2010 - 17:32.


#33
azazica

azazica

    Member

  • Grup: Members
  • Posts: 728
  • Înscris: 08.01.2008
super tare, stiam pama la=COUNT  mai departe ma inpotmolisem :D  multumesc inca odata

#34
N-ter

N-ter

    Active Member

  • Grup: Members
  • Posts: 1,230
  • Înscris: 07.11.2006
cum fac roundup catre anumite valori date? de exemplu daca numarul dat de mine e intre 9 si 12 (sa zicem 10.143) sa afiseze intr-o alta casuta 12, daca e intre 12 si 16 (sa zicem 13.114) sa afiseze 16, etc.
totusi as vrea ca daca trece cu mai putin de 0.5 de un numar din sir, rotunjirea sa fie inferioara (de exemplu daca e 12.5 devine 16, dar daca e 12.49 devine 12).

sa pun if-uri pentru fiecare valoare din sir nu e prea eficient fiindca sirul e mare si nici nu cred ca ma lasa sa pun atatea if-uri la un loc.

Edited by N-ter, 24 December 2010 - 17:56.


#35
gecs

gecs

    Member

  • Grup: Members
  • Posts: 795
  • Înscris: 12.02.2008

 N-ter, on 24th December 2010, 17:55, said:

cum fac roundup catre anumite valori date? de exemplu daca numarul dat de mine e intre 9 si 12 (sa zicem 10.143) sa afiseze intr-o alta casuta 12, daca e intre 12 si 16 (sa zicem 13.114) sa afiseze 16, etc.
totusi as vrea ca daca trece cu mai putin de 0.5 de un numar din sir, rotunjirea sa fie inferioara (de exemplu daca e 12.5 devine 16, dar daca e 12.49 devine 12).

sa pun if-uri pentru fiecare valoare din sir nu e prea eficient fiindca sirul e mare si nici nu cred ca ma lasa sa pun atatea if-uri la un loc.
Folosesti un tabel de valori asociate in care cauti cu:
=INDEX(tabel[coloana2],MATCH(valoare,tabel[coloana1],1))
Pe coloana 1 a tabelului inscrii "pragurile" ordonate ascendent, iar pe coloana 2 valorile pentru roundup.

0	   0
0.5	 0
5.5	 9
9.5	 12
12.5	16
16.5	21
Un tabel ca cel de mai sus folosit in formula va returna:
0 pentru orice valoare intre 0 si <0.5
5 pentru orice valoare >=0.5 si <5.5;
9 pentru orice valoare >=5.5 si <9.5;
12 pentru orice valoare >=9.5 si <12.5;
21 pentru orice valoare >=16.5.

Presupunand ca ai numerele de testat in coloana A, iar tabelul de mai sus in G1:H6, in B1 folosesti:
=(INDEX($H$1:$H$6,MATCH($A1,$G$1:$G$6,1))
Daca in tabelul folosit pentru "roundup" nu exista pe coloana unde se cauta cu MATCH si o valoare mai mica sau macar egala cu cea mai mica valoare cautata, formula va returna eroare - asta e motivul pentru care am folosit valoarea 0 pe prima coloana a tabelului. Poti sa folosesti in acea celula a tabelului un =MIN(A:A), ca sa fii sigur ca nu ratezi valoarea respectiva si de acolo sa pornesti cu "pragurile".

#36
N-ter

N-ter

    Active Member

  • Grup: Members
  • Posts: 1,230
  • Înscris: 07.11.2006
mersi gecs. :)

Anunturi

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

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