#1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6
Default Countif

Most of my programming experience has come from the VBE and the various
newsgroups, now I'm stuck.

I have a sheet with info in cells from a1 to n387. Daily, another 387 items
will be added, ie O1:O387, P1:P387, etc. I need to determine the number of
items on each row that are equal to or greater than 0 and then take this
number and divide by the total number of items in the row which would then
give me the %ge of results that are not negative. My idea was that in d4 and
c4 I could put a formula which could then be filled down to work for the
rest of the rows.

I managed [d4]

[d4].Formula = "=Counta(" & [l4].Address & ":" & [iv4].End(xlToLeft).Address
& ")"

but I'm stuck on [c4] where I'm trying for something on the lines of:

[c4].Formula = "=Countif([l4]:[iv4].End(xlToLeft))=0"

but, obviously, this doesn't work. Having searched Google and tried various
combinations of this and others (Application, WorksheetFunction), I'm still
no further on. Can somebody please help.

Thanks
Martin


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 79
Default Countif

I'm not entirely clear why you don't just write the formulas in and copy
across a column each day when data is added.

It also looks like there is a flaw in your formula. Countif reads like this
with quotes around the 0 bit:

=COUNTIF(A1:A4,"=0")/COUNT(A1:A4)

Robin Hammond
www.enhanceddatasystems.com
Check out our XspandXL add-in


"Martin" wrote in message
...
Most of my programming experience has come from the VBE and the various
newsgroups, now I'm stuck.

I have a sheet with info in cells from a1 to n387. Daily, another 387

items
will be added, ie O1:O387, P1:P387, etc. I need to determine the number of
items on each row that are equal to or greater than 0 and then take this
number and divide by the total number of items in the row which would then
give me the %ge of results that are not negative. My idea was that in d4

and
c4 I could put a formula which could then be filled down to work for the
rest of the rows.

I managed [d4]

[d4].Formula = "=Counta(" & [l4].Address & ":" &

[iv4].End(xlToLeft).Address
& ")"

but I'm stuck on [c4] where I'm trying for something on the lines of:

[c4].Formula = "=Countif([l4]:[iv4].End(xlToLeft))=0"

but, obviously, this doesn't work. Having searched Google and tried

various
combinations of this and others (Application, WorksheetFunction), I'm

still
no further on. Can somebody please help.

Thanks
Martin




  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 59
Default Countif

Martin,

I was a bit confused by the references in you rpost, but I
have assumed the actual data you want to analyse begins in
column I, even though it starts at A1?
A
lso, is there any particualr reason why this has to be
done in VBA? It would seem to me to be a lot easier to
type these formulae in the cells then copy them down:
C4 =COUNTA(I4:IV4)
C5 =COUNTIF(I4:IV4,"=0")

If the formulae have to be put into each new days' row
after it has been imported, it would still be easier to
include code to copy and paste them from the previous row.

Pete


I have a sheet with info in cells from a1 to n387. Daily,

another 387 items will be added, ie O1:O387, P1:P387, etc.
I need to determine the number of items on each row that
are equal to or greater than 0 and then take this number
and divide by the total number of items in the row which
would then give me the %ge of results that are not
negative.
  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,337
Default Countif

Use this formula but be sure to array enter using control+shift+enter when
editing
=AVERAGE(IF(L1:L90,L1:L9))

"Martin" wrote in message
...
Most of my programming experience has come from the VBE and the various
newsgroups, now I'm stuck.

I have a sheet with info in cells from a1 to n387. Daily, another 387

items
will be added, ie O1:O387, P1:P387, etc. I need to determine the number of
items on each row that are equal to or greater than 0 and then take this
number and divide by the total number of items in the row which would then
give me the %ge of results that are not negative. My idea was that in d4

and
c4 I could put a formula which could then be filled down to work for the
rest of the rows.

I managed [d4]

[d4].Formula = "=Counta(" & [l4].Address & ":" &

[iv4].End(xlToLeft).Address
& ")"

but I'm stuck on [c4] where I'm trying for something on the lines of:

[c4].Formula = "=Countif([l4]:[iv4].End(xlToLeft))=0"

but, obviously, this doesn't work. Having searched Google and tried

various
combinations of this and others (Application, WorksheetFunction), I'm

still
no further on. Can somebody please help.

Thanks
Martin




  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6
Default Countif

Pete, Robin and Don,

Thanks for the quick response, having looked back at this, I take the
comment about the flaw in the formula. I realise also that my "COUNTA" is
incorrect as it has absolute references on the worksheet.

I am doing this in code because:
1. As new sets of figures are introduced, space is made for them by
inserting a column at K1. All other columns move to the right and, of
course, the references move with them.
2. Because of the number of different formulae in this workbook, I am at the
same time writing a "Backup", which is stored separately, which could be
used for reconstruction if required. (I have had a hard disk fail on me in
the past)

I said I was stuck - I was obviously also confused - Sorry!

What I am trying to do is, after new figures are inserted and everything has
been moved, take the first value, which will always be in L4 to the last
value (the equivalent of IV4.End(xlToLeft), do COUNTA for this range, and
also COUNTIF for all items in this range which are either positive or zero
and thus get a %ge figure of all non-negative results.

Don,

=AVERAGE(IF(L1:L90,L1:L9)) gives me the average value of the contents of
the cells rather than the number of positive values as a percentage of the
total number of values.

Martin

Don Guillett wrote in message ...
Use this formula but be sure to array enter using control+shift+enter when
editing
=AVERAGE(IF(L1:L90,L1:L9))




Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
How do I use a countif function according to two other countif fu. Kirsty Excel Worksheet Functions 2 February 20th 06 11:44 AM
edit this =COUNTIF(A1:F16,"*1-2*")+COUNTIF(A1:F16,"*2-1*") sctroy Excel Discussion (Misc queries) 2 September 25th 05 04:13 AM
COUNTIF or not to COUNTIF on a range in another sheet Ellie Excel Worksheet Functions 4 September 15th 05 10:06 PM
countif Renee - California Excel Worksheet Functions 4 July 11th 05 10:58 PM
COUNTIF in one colum then COUNTIF in another...??? JonnieP Excel Worksheet Functions 3 February 22nd 05 02:55 PM


All times are GMT +1. The time now is 12:27 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"