:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

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

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
wisitsakbenz
Silver
Silver
Posts: 531
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

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

#1

Post by wisitsakbenz »

เรียน อาจารย์

ต้องการให้ช่วงวันที่ต่อหลัง ดังไฟล์แนบ ต้องปรับสูตรอย่างไรครับ ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
norkaz
Gold
Gold
Posts: 1752
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

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

#2

Post 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 กรุงเทพฯ

...
You do not have the required permissions to view the files attached to this post.
wisitsakbenz
Silver
Silver
Posts: 531
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

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

#3

Post by wisitsakbenz »

เรียน อาจารย์ norkaz ทำไงให้สูตรเป็นปีกาครับ

ขอบคุณครับ
User avatar
norkaz
Gold
Gold
Posts: 1752
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

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

#4

Post by norkaz »

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

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

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

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

...
wisitsakbenz
Silver
Silver
Posts: 531
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

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

#5

Post by wisitsakbenz »

เรียน อาจารย์ครับ

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

ต้องปรับสูตรอย่างไรครับ ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
norkaz
Gold
Gold
Posts: 1752
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

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

#6

Post by norkaz »

...

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

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


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

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

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

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

...
wisitsakbenz
Silver
Silver
Posts: 531
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

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

#7

Post by wisitsakbenz »

เรียน อาจารย์

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

ข้อมูลที่ต้องการตามไฮไลท์สีเหลือนะครับ
รบกวนอาจารย์ด้วยครับ ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
norkaz
Gold
Gold
Posts: 1752
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

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

#8

Post 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 กรุงเทพฯ

...
You do not have the required permissions to view the files attached to this post.
wisitsakbenz
Silver
Silver
Posts: 531
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

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

#9

Post by wisitsakbenz »

เรียน อาจารย์ norkaz

ลองนำไปใช้งาน เมื่อมีการเพิ่ม row จะมีการประมวลผลช้ามากเลยครับ
สามารถปรับสูตรให้ประมวลผลเร็วกว่านี้หรือไม่ครับ
ขอบคุณครับ
User avatar
norkaz
Gold
Gold
Posts: 1752
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

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

#10

Post 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 กรุงเทพฯ
wisitsakbenz
Silver
Silver
Posts: 531
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

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

#11

Post by wisitsakbenz »

เรียน อาจารย์ norkaz

ลองเอาไปใช้งาน มีอาการช้า และหน่วงครับ
รบกวนอาจารย์อีกครั้งครับ ขอบคุณครับ
User avatar
norkaz
Gold
Gold
Posts: 1752
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

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

#12

Post 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 กรุงเทพฯ

...
You do not have the required permissions to view the files attached to this post.
wisitsakbenz
Silver
Silver
Posts: 531
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

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

#13

Post by wisitsakbenz »

เรียน อาจารย์ norkaz

ลองเอาไปใช้งาน มีอาการช้า และหน่วงครับ
รบกวนอาจารย์อีกครั้งครับ ขอบคุณครับ
User avatar
norkaz
Gold
Gold
Posts: 1752
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

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

#14

Post 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 กรุงเทพฯ

...
You do not have the required permissions to view the files attached to this post.
wisitsakbenz
Silver
Silver
Posts: 531
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

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

#15

Post by wisitsakbenz »

เรียน อาจารย์ norkaz

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

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

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

รบกวนอาจารย์อีกครั้งครับ ขอบคุณครับ
User avatar
norkaz
Gold
Gold
Posts: 1752
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

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

#16

Post by norkaz »

...

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

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

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

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ
wisitsakbenz
Silver
Silver
Posts: 531
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

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

#17

Post by wisitsakbenz »

เรียน อาจารย์ norkaz

แนบไฟล์ให้แล้วครับ ถ้าลบ Row ให้น้อยลง สูตรที่ได้ถูกต้อง
รบกวนอาจารย์ด้วยครับ ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
norkaz
Gold
Gold
Posts: 1752
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

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

#18

Post by norkaz »

...

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

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

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ
User avatar
norkaz
Gold
Gold
Posts: 1752
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

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

#19

Post 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 กรุงเทพฯ

...
You do not have the required permissions to view the files attached to this post.
wisitsakbenz
Silver
Silver
Posts: 531
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

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

#20

Post by wisitsakbenz »

เรียน อาจารย์ norkaz

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