Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
The Tattooist of Auschwitz (2024)

Se poate recupera numar de telefo...

Upgrade de la MacBook Pro M1 cu 8...

Ce tip de monitor am nevoie pt of...
 Resoftare camera supraveghere

Cu ce va aparati de cainii agresi...

Nu imi platiti coletul cu cardul ...

Exista vreun plan de terorizare p...
 Schimbare adresa DNS IPv4 pe rout...

Recomandare Barebone

Monede JO 2024

Suprasolicitare sistem electric
 CIV auto import

Mutare in MOZAMBIC - pareri, expe...

Scoatere antifurt airtag de pe ha...

Magnet in loc de clește pent...
 

Count and Sum

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

#1
tzuny

tzuny

    Junior Member

  • Grup: Members
  • Posts: 120
  • Înscris: 16.07.2009
Din nou va salut VB guys.
Am o tabela in excel.
Cap de tabela :
Timp       | Date masurate($B5) |  Masuratori eronate |  Timp(Frecventa)    Timp2

00:00:00   54,880             54,88000107    0 01:00:00
01:00:00 49,721     Ha                  1
02:00:00    52,191         52,19077924                   0        01:00:00
03:00:00    49,686                                     Ha     1
04:00:00    50,247            50,24746735 0
05:00:00    52,359        52,35869203                 0 02:00:00
06:00:00    48,997    Ha   1
07:00:00    52,305 52,30469259    0
08:00:00    50,112     50,11161015                    0
09:00:00    49,997     Ha                             1

Pentru Masuratori eronate am functia : =IF(($B5>40)*OR($B5<50);"Ha";$B5) (verifica daca din valorile masurate se incadreaza in limite si daca nu pune valoarea daca nu pune Ha=Valoare buna)

Pentru (Frecventa) am : =IF(C5="Ha";IF(C6="Ha";0;1);0) (calculeaza frecventa de cate ori iese din limitele admise )

Intr-o alta coloana as vrea timpul cat a stat in afara limitelor gen(coloana Timp2). Nu stiu exact cum am putea face aceasta functie daca nu e o rutina exact a valorilor eronate.(Adik : pot sa am 3 valori Ha=Bune dupa care 14 valori eronate ceea ce inseamna 14 ore dupa care 1 valoare buna dupa care 3 valori eronate si tot asa.) As putea generaliza aceasta functie. M-am gandit la un Count ....if.....

#2
nexusm

nexusm

    Senior Member

  • Grup: Senior Members
  • Posts: 2,793
  • Înscris: 07.07.2011
Parerea mea, avand in vedere ca observ o continua dezvoltare a acelui excel, este aceea de a renunta la a face calcule cu ajutorul formulelor din excel.
Cu alte cuvinte, calculeaza, fa-ti ce statistici vrei cu ajutorul codului si pe urma poti popula un excel (daca asta vrei neaparat) cu valorile aferente nevoilor tale.
Cu toate ca nu se poate spune ca este chiar un cod IDE, folosirea unor astfel de metode se vor dovedi mai devreme sau mai tarziu, paguboase.
In locul tau m-as orienta catre urmatorul scenariu.
Presupunand ca device-ul ce genereaza valorile citite le scrie direct in excel, cu ajutorul unui cod scris le-as citi/analiza/trata asa cum am nevoie.
Acest tabel l-as pastra ca "fisier sursa".
Functie de rezultatele obtinute prin codul scris as popula un alt tabel excel cu noile date.
Aduc ca argument "codul scris" plecand de la ideea ca in perspectiva dezvoltarii proiectului ai cele mai multe sanse ca la un moment dat excel-ul ca atare sa nu te mai poata ajuta.
Foloseste-l ca interfata de citire a datelor si ulterior ca interfata de afisare a rezultatelor.

#3
tzuny

tzuny

    Junior Member

  • Grup: Members
  • Posts: 120
  • Înscris: 16.07.2009
Din cate am inteles, imi sugerezi sa scriu toate formulele si tot in cod (macrouri)?

#4
tehnics

tehnics

    acolo unde vara-i zi la miezul noptii

  • Grup: Senior Members
  • Posts: 30,841
  • Înscris: 01.11.2005
...da...e mai simplu, mai usor de urmarit si de gasit bugurile...

#5
tzuny

tzuny

    Junior Member

  • Grup: Members
  • Posts: 120
  • Înscris: 16.07.2009
=(SMALL(IF($D$5:$D$50=$D$6;MATCH(ROW($D$5:$D$50);ROW($D$5:$D$50)););ROW(D6)+1)-SMALL(IF($D$5:$D$50=$D$6;MATCH(ROW($D$5:$D$50);ROW($D$5:$D$50)););ROW(D6))-1) . Am gasit acesta formula care face count de cate ori se afla intre valoarea 1(Din coloana timp(frecventa)).Ar fi okay pentru ca as inmulti cu cat dureaza 1 inregistrare. Dar am o problema imi da erori de genul :

#NUM!
#N/A
#NUM!
#N/A
#NUM!
#NUM!
#N/A
#NUM!
#NUM!
#N/A
#NUM!
#N/A
#NUM!
#NUM!
#N/A
#NUM!
#NUM!
#N/A
#NUM!
#NUM!

#6
nexusm

nexusm

    Senior Member

  • Grup: Senior Members
  • Posts: 2,793
  • Înscris: 07.07.2011
Cod in Macro este o solutie de tip 50/50.
Eu ma gandesc la scrierea codului in VB, care nu are nicio legatura cu vreun Macro.
In opinia mea tot ceea ce ar trebui facut cu tabelul 'Interfata de Afisare', ar fi, eventuala formatare a coloanelor functie de tipul de date ce ar trebui sa afiseze.
Dar calculele de baza nu s-ar face decat in cod VB (sau alt limbaj), in acest fel avand controlul total asupra intregului proiect.
Nu stiu cata programare cunosti, la fel si cat VBA sau ce capacitate ai de a manipula sau construi un Macro.
La fel nu stiu daca acesta este un prioect 'unic' (ceva de genul, unul in viata si atunci chiar nu merita sa aprofundezi codul necesar), dar daca tu crezi ca este posibil sa nu te opresti aici, atunci nu exista alta solutie viabila decat sa manipulezi totul prin cod (orice limbaj)
Daca nu crezi ca te vei mai lovi de astfel de probleme, atunci poti incerca sa gasesti fel de fel de solutii date de altii (cu bune intentii) dar pe care nu le vei intelege mai mult de 60% si chiar daca iti vei atinge obiectivul niciodata nu vei intelege cum ai ajuns la final (ce sa mai zic despre o eventuala experienta)
Gandeste-te la solutiile gasite din surse externe (cum ar fi acest forum) ca la o invitatie de a aprofunda si de a invata/experimenta diverse solutii si nu la o modalitate de a aplica punctual o solutie la o problema existenta (si poate presanta pe moment).

Edited by nexusm, 13 December 2013 - 19:05.


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