andrewssd3
asked on
Excel count columns in a range
I need an efficient and preferably non-volatile worksheet function to count the columns in a supplied range. I am using e.g.
Obviously I could have a simple UDF like
Any better ideas than mine?
=COUNTA($A$1:$D$1)+COUNTBLANK($A$1:$D$1)
for a range that has only one row, or I guess I could have
=COUNTA(INDEX($A$1:$E$22,1,))+COUNTBLANK(INDEX($A$1:$E$22,1,))
for a range with multiple rows.Obviously I could have a simple UDF like
Public Function ColCount(ByRef rngIn As Excel.Range) As Long
ColCount = rngIn.Columns.Count
End Function
to do this, but I'm looking for a worksheet function if possible.Any better ideas than mine?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Thanks for the grade....
Just a note on that first formula you listed
=COUNTA($A$1:$D$1)+COUNTBL ANK($A$1:$ D$1)
You have to be careful with that if any of the cells contains "formula blanks" (null strings) as both COUNTA and COUNTBLANK count those....so it's possible that that formula could give you a result of 4,5,6,7 or 8!
regards, barry
Just a note on that first formula you listed
=COUNTA($A$1:$D$1)+COUNTBL
You have to be careful with that if any of the cells contains "formula blanks" (null strings) as both COUNTA and COUNTBLANK count those....so it's possible that that formula could give you a result of 4,5,6,7 or 8!
regards, barry
If you don't then you can just use COLUMNS which will return the no of columns in a range.