Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Presbiopia - la 43 ani ?

Termen transcriere autovehicul

Cazare Timisoara pe 4-5 zile

Primele zile ale internetului per...
 Ditra 25

Casti USB-C ptr A-54

Aplicatie medicala / asistent med...

De ce vor atația politicieni...
 ERR_ADDRESS_UNREACHABLE

Legea 18/1968 Se mai aplica?

Digi conectare 2 routere prin fir

Succesiune notar versus instanta ...
 Montaj aer conditionat in balcon ...

Cont curent mulți valuta far...

Sugestii plan casa

Experiente cu firme care cumpara ...
 

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,827
  • Î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

Bun venit pe Forumul Softpedia!

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