Page 1 of 1

Weeknum : ต้องการให้มีวันที่ต่อหลัง

Posted: Fri Feb 23, 2024 10:57 am
by wisitsakbenz
เรียน อาจารย์

ต้องการให้ช่วงวันที่ต่อหลัง ดังไฟล์แนบ ต้องปรับสูตรอย่างไรครับ ขอบคุณครับ

Re: Weeknum : ต้องการให้มีวันที่ต่อหลัง

Posted: Fri Feb 23, 2024 12:03 pm
by norkaz
...

B2
=RIGHT(YEAR(A2),2)&"W"&TEXT(WEEKNUM(A2),"00")&" "&"("&MATCH(WEEKNUM(A2),WEEKNUM(--$A$2:$A$36),0)&"-"&DAY(LOOKUP(2,1/(WEEKNUM(A2)=WEEKNUM(--$A$2:$A$36)),$A$2:$A$36))&")"

Copy ลงไป

** สนับสนุนฟอรั่ม กรุณา คลิกโฆษณาที่หน้าเพจ***

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ

...

Re: Weeknum : ต้องการให้มีวันที่ต่อหลัง

Posted: Fri Feb 23, 2024 12:36 pm
by wisitsakbenz
เรียน อาจารย์ norkaz ทำไงให้สูตรเป็นปีกาครับ

ขอบคุณครับ

Re: Weeknum : ต้องการให้มีวันที่ต่อหลัง

Posted: Fri Feb 23, 2024 12:54 pm
by norkaz
wisitsakbenz wrote: Fri Feb 23, 2024 12:36 pm เรียน อาจารย์ norkaz ทำไงให้สูตรเป็นปีกาครับ

ขอบคุณครับ
ไปที่ B2 ลองกด F2 แล้ว Enter ดูครับ

** สนับสนุนฟอรั่ม กรุณา คลิกโฆษณาที่หน้าเพจ***

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ

...

Re: Weeknum : ต้องการให้มีวันที่ต่อหลัง

Posted: Fri Feb 23, 2024 1:11 pm
by wisitsakbenz
เรียน อาจารย์ครับ

เอาไปใช้งานจริง สูตรคำนวณนานมาก และผิดครับ
23W45 (187-11) ที่ถูก 23W45 (5-11)
23W46 (532-18) ที่ถูก 23W46 (6-18)
.
.
.

ต้องปรับสูตรอย่างไรครับ ขอบคุณครับ

Re: Weeknum : ต้องการให้มีวันที่ต่อหลัง

Posted: Fri Feb 23, 2024 1:29 pm
by norkaz
...

สูตรที่เขียนไปควรถูกต้อง ตามตัวอย่าง ที่ให้มาทุกประการครับ

1. ตัวอย่าง ที่ท่านเจ้าของคำถามสอบถามมา มีวันที่ ไม่ซ้ำกัน และเรียงกัน แบบ วันต่อวัน ส่วน การนำไปใช้ คือวันที่ซ้ำกัน ตัวอย่างที่ท่านเจ้าของคำถาม สอบถามมา กับ ตัวอย่างที่นำไปใช้จริง ไม่สอดคล้องกัน ผลลัพธ์ จากการนำสูตรไปใช้ ย่อมไม่ถูกต้องครับ


2. การคำนวณ ช้า ลองปรับ ให้ใช้ตามช่วงข้อมูลจริง หรือเผื่อไปเล็กน้อย ประมาณ 6,000 แถว ตามจริง การ เลือกช่วง จำนวน 1 แสน แถว หมายถึง การเลือก เผื่อไปประมาณ 270 ปี หาก ซึ่ง ในความเป็นจริง อาจจะไม่จำเป็น ต้องเผื่อข้อมูลไปถึง 270 ปี ครับ

3. ผมรบกวน ทำตัวอย่าง " ตามที่ต้องนำไปใช้จริง " และอธิบาย เงื่อนไข ในการเขียนสูตรตามผลลัพธ์ นั้น เพื่อความเข้าใจที่ตรงกันครับ

** สนับสนุนฟอรั่ม กรุณา คลิกโฆษณาที่หน้าเพจ***

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ

...

Re: Weeknum : ต้องการให้มีวันที่ต่อหลัง

Posted: Fri Feb 23, 2024 2:32 pm
by wisitsakbenz
เรียน อาจารย์

ข้อมูลจริงในแต่ละเดือนตกประมาณ 2000 Row ซึ่งในแต่ละเดือนไม่สามารถกำหนดตายตัวได้ว่ากี่ Row และข้อมูลจะเก็บประมาณ 2 ปี เลยสร้างไว้เป็น 100000 ครับ

ข้อมูลที่ต้องการตามไฮไลท์สีเหลือนะครับ
รบกวนอาจารย์ด้วยครับ ขอบคุณครับ

Re: Weeknum : ต้องการให้มีวันที่ต่อหลัง

Posted: Fri Feb 23, 2024 6:12 pm
by norkaz
...

C2

=B2&" "&"("&DAY(INDEX($A$2:$A$5553,MATCH(WEEKNUM(A2),INDEX(WEEKNUM(--$A$2:$A$5553),0),0)))&"-"&DAY(LOOKUP(2,1/(WEEKNUM(A2)=WEEKNUM(--$A$2:$A$55530)),$A$2:$A$55530))&")"

Copy ลงไป

** สนับสนุนฟอรั่ม กรุณา คลิกโฆษณาที่หน้าเพจ***

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ

...

Re: Weeknum : ต้องการให้มีวันที่ต่อหลัง

Posted: Tue Feb 27, 2024 8:25 am
by wisitsakbenz
เรียน อาจารย์ norkaz

ลองนำไปใช้งาน เมื่อมีการเพิ่ม row จะมีการประมวลผลช้ามากเลยครับ
สามารถปรับสูตรให้ประมวลผลเร็วกว่านี้หรือไม่ครับ
ขอบคุณครับ

Re: Weeknum : ต้องการให้มีวันที่ต่อหลัง

Posted: Tue Feb 27, 2024 9:03 am
by norkaz
..

เอาสูตรนี้ไปวาง แล้ว ปรับช่วงไปตามจริง -- รบกวนช่วยแจ้งผลให้ทราบด้วยครับ ถ้ายังช้าอยู่ อาจจะต้องใช้ คอลัมน์ ของ Weeknum ไปช่วยครับ..


C2

=B2&" "&"("&DAY(INDEX($A$2:$A$5553,MATCH(WEEKNUM(A2),INDEX(WEEKNUM(--$A$2:$A$5553),0),0)))&"-"&DAY(LOOKUP(2,1/(WEEKNUM(A2)=WEEKNUM(--$A$2:$A$5553)),$A$2:$A$5553))&")"

Copy ลงไป

** สนับสนุนฟอรั่ม กรุณา คลิกโฆษณาที่หน้าเพจ***

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ

Re: Weeknum : ต้องการให้มีวันที่ต่อหลัง

Posted: Tue Feb 27, 2024 9:14 am
by wisitsakbenz
เรียน อาจารย์ norkaz

ลองเอาไปใช้งาน มีอาการช้า และหน่วงครับ
รบกวนอาจารย์อีกครั้งครับ ขอบคุณครับ

Re: Weeknum : ต้องการให้มีวันที่ต่อหลัง

Posted: Tue Feb 27, 2024 9:33 am
by norkaz
...

E2
=WEEKNUM(A2)

C2
=B2&" "&"("&DAY(INDEX($A$2:$A$5553,MATCH(WEEKNUM(A2),$E$2:$E$5553,0)))&"-"&DAY(LOOKUP(2,1/(E2=$E$2:$E$5553),$A$2:$A$5553))&")"

** สนับสนุนฟอรั่ม กรุณา คลิกโฆษณาที่หน้าเพจ***

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ

...

Re: Weeknum : ต้องการให้มีวันที่ต่อหลัง

Posted: Tue Feb 27, 2024 11:16 am
by wisitsakbenz
เรียน อาจารย์ norkaz

ลองเอาไปใช้งาน มีอาการช้า และหน่วงครับ
รบกวนอาจารย์อีกครั้งครับ ขอบคุณครับ

Re: Weeknum : ต้องการให้มีวันที่ต่อหลัง

Posted: Tue Feb 27, 2024 12:29 pm
by norkaz
...

สูตรที่ใช้ ระดับ 5000 แถว ไม่น่าช้า ผมเทสแล้ว เร็วอยู่ครับ
ถ้าจะช้าต้องระดับ แสนแถวขึ้นไป น่าจะมีผลต่อความเร็วช้าที่ แตกต่างกันชัดเจน

ลองใช้ คอลัมน์ ไปช่วย เพิ่มตามนี้ครับ

E2
=WEEKNUM(A2)

F2
=DAY(INDEX($A$2:$A$5553,MATCH(E2,$E$2:$E$5553,0)))

G2
=DAY(LOOKUP(2,1/(E2=$E$2:$E$5553),$A$2:$A$5553))

C2
=B2&" "&"("&F2&"-"&G2&")"

ถ้ายังช้าอยู่ น่าจะเป็นที่ ความเร็วของ คอมที่ใช้ครับ

** สนับสนุนฟอรั่ม กรุณา คลิกโฆษณาที่หน้าเพจ***

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ

...

Re: Weeknum : ต้องการให้มีวันที่ต่อหลัง

Posted: Tue Feb 27, 2024 3:21 pm
by wisitsakbenz
เรียน อาจารย์ norkaz

ผมแก้ให้ในแต่ละอาทิตย์เริ่มต้นด้วยวันศุกร์ สิ้นสุดวันพฤหัสบดี สูตรจะคำนวณผิด
ไม่แน่ใจว่าผมทำผิดตรงไหนหรือไม่ครับ

เนื่องจากไฟล์มีขนาดใหญ่ ผม Shared ผ่าน Google drive ครับ ตาม link ด้านล่าง

https://docs.google.com/spreadsheets/d/ ... sp=sharing

รบกวนอาจารย์อีกครั้งครับ ขอบคุณครับ

Re: Weeknum : ต้องการให้มีวันที่ต่อหลัง

Posted: Tue Feb 27, 2024 3:41 pm
by norkaz
...

WEEKNUM จะเริ่มต้นที่วัน อาทิตย์ และ จบที่วันเสาร์ เสมอ
ถ้าเริ่มที่วันอื่น สูตรที่เขียนไปทั้งหมดนั้น จะขัดแย้งกับ WEEKNUM

ลองตัดตัวอย่าง มาพอประมาณ แบบเดิม แนบเป็นไฟล์ Excel มาดูครับ

** สนับสนุนฟอรั่ม กรุณา คลิกโฆษณาที่หน้าเพจ***

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ

Re: Weeknum : ต้องการให้มีวันที่ต่อหลัง

Posted: Tue Feb 27, 2024 4:31 pm
by wisitsakbenz
เรียน อาจารย์ norkaz

แนบไฟล์ให้แล้วครับ ถ้าลบ Row ให้น้อยลง สูตรที่ได้ถูกต้อง
รบกวนอาจารย์ด้วยครับ ขอบคุณครับ

Re: Weeknum : ต้องการให้มีวันที่ต่อหลัง

Posted: Tue Feb 27, 2024 7:23 pm
by norkaz
...

ลองแยกชีท Weeknum แบบ ปีต่อปีดูครับ การคิด ข้ามปี WEEKNUM จะวนกลับมาเริ่มต้นใหม่เสมอ ทำให้การนับ ไม่ตรงกับที่ต้องการ ตามที่อยากให้เป็นแบบนั้นครับ

** สนับสนุนฟอรั่ม กรุณา คลิกโฆษณาที่หน้าเพจ***

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ

Re: Weeknum : ต้องการให้มีวันที่ต่อหลัง

Posted: Wed Feb 28, 2024 7:40 am
by norkaz
...

กรณีทำแบบเดิม ไม่แยก ปี
ลองปรับไปแบบนี้ดูครับ

D2
=YEAR(A2)&TEXT(WEEKNUM(A2,15),"00")

E2
=DAY(INDEX($A$2:$A$6000,MATCH(D2,$D$2:$D$6000,0)))

F2
=DAY(LOOKUP(2,1/(D2=$D$2:$D$6000),$A$2:$A$6000))

** ส่วน ความเร็วช้า ขึ้นกับ จำนวนข้อมูลครับ ถ้าข้อมูล จำนวนมากๆ หลายๆหมื่นแถว ก็มีโอกาสช้าได้ครับ

** สนับสนุนฟอรั่ม กรุณา คลิกโฆษณาที่หน้าเพจ***

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ

...

Re: Weeknum : ต้องการให้มีวันที่ต่อหลัง

Posted: Wed Feb 28, 2024 9:05 am
by wisitsakbenz
เรียน อาจารย์ norkaz

ได้แล้วครับ ขอบคุณอาจารย์ที่ช่วยเหลือครับ