WEEKNUM() Question

J

Jared Call

The results of WEEKNUM() don't correspond with the calendaring system I
want.

My first question is simple: How does the WEEKNUM() algorithm work? If I
can figure out what it's based on, I can probably match it to the calendar
I'm using. It looks like it's anywhere from 1 day off to 2 days off from my
calendar, depending on when my week decides to start.

The calendar I have starts on Mondays and assigns WEEK-1 to the first week
of January with at least 4 days in it. So if WEEKDAY(DATE(YEAR,1,1),2) is 5
(Friday) or greater, then the week doesn't start until WEEKDAY() yields 1.
This means that up to first 4 days of January would be considered WK 52 (or
53).

I started to wonder if there was a better way to do it, when my formula
started approaching 150 characters, and I still hadn't accounted for the WK
53 case or leap year. I've never built my own function, but something tells
me it would be the cleanest way to do it.

I have a pdf of about 15 years worth, if anyone is interested in taking a
look. Since it's .5MB, I won't try to attach it.
<http://www.capeyork.us/data/Calendar.pdf>.

Thanks in advance to the first "smart-guy" to help me out. I've been hoping
to make time to figure this out for quite a while now.
 
N

Niek Otten

Read this:

http://www.cpearson.com/excel/weeknum.htm

--
Kind regards,

Niek Otten
Microsoft MVP - Excel

| The results of WEEKNUM() don't correspond with the calendaring system I
| want.
|
| My first question is simple: How does the WEEKNUM() algorithm work? If I
| can figure out what it's based on, I can probably match it to the calendar
| I'm using. It looks like it's anywhere from 1 day off to 2 days off from my
| calendar, depending on when my week decides to start.
|
| The calendar I have starts on Mondays and assigns WEEK-1 to the first week
| of January with at least 4 days in it. So if WEEKDAY(DATE(YEAR,1,1),2) is 5
| (Friday) or greater, then the week doesn't start until WEEKDAY() yields 1.
| This means that up to first 4 days of January would be considered WK 52 (or
| 53).
|
| I started to wonder if there was a better way to do it, when my formula
| started approaching 150 characters, and I still hadn't accounted for the WK
| 53 case or leap year. I've never built my own function, but something tells
| me it would be the cleanest way to do it.
|
| I have a pdf of about 15 years worth, if anyone is interested in taking a
| look. Since it's .5MB, I won't try to attach it.
| <http://www.capeyork.us/data/Calendar.pdf>.
|
| Thanks in advance to the first "smart-guy" to help me out. I've been hoping
| to make time to figure this out for quite a while now.
|
 
B

Bob Phillips

I think you are referring to ISO week numbers.

Try this formula for calculating that week number

=INT((A1-DATE(YEAR(A1-WEEKDAY(A1-1)+4),1,3)+WEEKDAY(DATE(YEAR(A1-WEEKDAY(A1-
1)+4),1,3))+5)/7)

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Top