snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Greensand
Member
Posts: 181 Joined: Mon Oct 18, 2010 10:45 am
#1
Post
by Greensand » Fri Aug 09, 2013 12:31 pm
สวัสดีทุกท่าน
ถ้าต้องการกำหนดวัน Due Date ที่ไม่รวมวันหยุดเสาร์ อาทิตย์ และนักขัตฤกษ์
ใช้สูตรใดบ้าง เช่น Due จำนวนวัน คือ 2 วันทำการนับจากวันที่ได้รับงาน
ตัวอย่าง
รับงาน 9/8/2013 Due Date คือ 14/8/2013 เนื่องจากวันที่ 10-12/8/2013 เป็นวันหยุด
ซึ่งมีการคีย์ตารางวันหยุดไว้ใน Sheet Excel ทั้งปีไว้ใน 1 Sheet อยู่แล้ว
เพราะถ้าใช้สูตรบวก วันที่รับงาน + 2 ผลลัพธ์จะเป็น 11/8/2013 ซึ่งคำตอบที่ถูกต้อง คือ 14/8/2013
ขอบคุณ
ขอขอบคุณที่ให้ความรู้ใหม่ ๆ .......การเรียนรู้ไม่มีที่สิ้นสุด Greensand
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#2
Post
by bank9597 » Fri Aug 09, 2013 12:56 pm
Greensand wrote: สวัสดีทุกท่าน
ถ้าต้องการกำหนดวัน Due Date ที่ไม่รวมวันหยุดเสาร์ อาทิตย์ และนักขัตฤกษ์
ใช้สูตรใดบ้าง เช่น Due จำนวนวัน คือ 2 วันทำการนับจากวันที่ได้รับงาน
ตัวอย่าง
รับงาน 9/8/2013 Due Date คือ 14/8/2013 เนื่องจากวันที่ 10-12/8/2013 เป็นวันหยุด
ซึ่งมีการคีย์ตารางวันหยุดไว้ใน Sheet Excel ทั้งปีไว้ใน 1 Sheet อยู่แล้ว
เพราะถ้าใช้สูตรบวก วันที่รับงาน + 2 ผลลัพธ์จะเป็น 11/8/2013 ซึ่งคำตอบที่ถูกต้อง คือ 14/8/2013
ขอบคุณ
ให้แนบไฟล์มาด้วยเสมอครับ ผู้ตอบไม่สามารถจำลองงานตามที่คุณต้องการได้
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
Greensand
Member
Posts: 181 Joined: Mon Oct 18, 2010 10:45 am
#3
Post
by Greensand » Fri Aug 09, 2013 1:52 pm
แนบไฟล์ให้แล้วค่ะ
You do not have the required permissions to view the files attached to this post.
ขอขอบคุณที่ให้ความรู้ใหม่ ๆ .......การเรียนรู้ไม่มีที่สิ้นสุด Greensand
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#4
Post
by bank9597 » Fri Aug 09, 2013 7:15 pm
การคิดลักษณะนี้ต้องทำหลายขั้นตอนครับ เนื่องจากไม่มีสูตรตายตัวในการหาค่าครับ
ในการหาคำตอบเรื่องนี้ ต้องทำปฏิทินรายปีหรือรายเดือนขึ้นมาเอง เพราะจะต้องกำหนดวันหยุดนักขัตฤกษ์เอง
เมื่อข้อจำกัดมีดังนี้แล้ว ผมจึงได้จำลองปฏทินขึ้นมาตามกระทู้นี้ที่ผมได้ตอบให้ไปแล้ว
viewtopic.php?f=3&t=5254 เพื่อนำมาตอบในกระทู้นี้ด้วยครับ
ไม่ขออธิบายวิธีการทำ ใคร่ขอให้ไปศึกษาตามไฟล์แนบครับ เนื่องจากเกรงว่ามันยาวเกินไป หากมีข้อสงสัยให้หยิบเอามาถามได้เลยครับ
ปล. หากเปิดไฟล์นี้ด้วย Excel 2003 สูตร IFERROR จะไม่ทำงานครับ ต้องปรับสูตรใหม่อีกครั้ง
You do not have the required permissions to view the files attached to this post.
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
Greensand
Member
Posts: 181 Joined: Mon Oct 18, 2010 10:45 am
#5
Post
by Greensand » Tue Aug 13, 2013 10:09 am
ขอทราบวิธีการปรับสูตร IFERROR ใน excel 2003 ด้วยค่ะ เนื่องจากนำสูตรนี้ไปใช้งานแล้ว Result ปรากฎเป็น #NAME
ขอขอบคุณที่ให้ความรู้ใหม่ ๆ .......การเรียนรู้ไม่มีที่สิ้นสุด Greensand
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#6
Post
by bank9597 » Tue Aug 13, 2013 10:22 am
ที่ชีท Holiday เซลล์ B2 ปรับสูตรเป็น =IF(ISNA(MATCH(A2,$E$2:$E$10,0)),TEXT(A2,"dddd"),MATCH(A2,$E$2:$E$10,0)) คัดลอกลงมา
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
Greensand
Member
Posts: 181 Joined: Mon Oct 18, 2010 10:45 am
#7
Post
by Greensand » Tue Aug 13, 2013 10:26 am
ตามสูตรที่ปรับแล้ว ผลลัพธ์แสดงเป็น #N/A ขอคำแนะนำเพิ่มเติมด้วยค่ะ
ขอขอบคุณที่ให้ความรู้ใหม่ ๆ .......การเรียนรู้ไม่มีที่สิ้นสุด Greensand
Greensand
Member
Posts: 181 Joined: Mon Oct 18, 2010 10:45 am
#8
Post
by Greensand » Tue Aug 13, 2013 10:30 am
ใช้วิธีการคีย์สูตรใหม่ ทำให้สูตร IF แสดงผลถูกต้องแล้ว ขอบคุณค่ะ
ขอขอบคุณที่ให้ความรู้ใหม่ ๆ .......การเรียนรู้ไม่มีที่สิ้นสุด Greensand
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#9
Post
by bank9597 » Tue Aug 13, 2013 10:50 am
Greensand wrote: ตามสูตรที่ปรับแล้ว ผลลัพธ์แสดงเป็น #N/A ขอคำแนะนำเพิ่มเติมด้วยค่ะ
ลองดูไฟล์ตัวอย่างครับ
You do not have the required permissions to view the files attached to this post.
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
Greensand
Member
Posts: 181 Joined: Mon Oct 18, 2010 10:45 am
#10
Post
by Greensand » Tue Aug 13, 2013 11:23 am
สูตรทั้งหมดสามารถใช้งานได้แล้ว ขอบคุณมากค่ะ
Sheet Holiday (วันหยุด)
1. คีย์วันที่ทั้งหมด
2. คีย์วันที่ที่เป็นวันหยุด
3. ใช้สูตรเพื่อหาค่าตามข้อ 1 ว่าแต่ละวันเป็นวันทำการหรือไม่ ถ้าใช่จะแสดงเป็นชื่อวัน แต่ถ้าเป็นวันหยุดจะแสดงเป็นตัวเลข
4. ใช้สูตรเพื่อหาค่าตามข้อ 3 เป็นตัวแทนค่าของแต่ละวัน กรณีไม่ใช่วันทำการตัวเลขจะแสดงเป็นตัวเลขวันทำการก่อนวันหยุด
5. Worksheet ที่จะใช้อ่านวัน Due Date ใช้สูตรเพื่ออ่านค่าตามข้อ 4 ซึ่งในสูตรจะ มีตัวเลขที่ต้องบวก เช่น Due Date 2 วันทำการให้บวกด้วย 1
แต่ถ้าเป็น 6 วันทำการให้บวกด้วย 5 เป็นต้น
ขอขอบคุณที่ให้ความรู้ใหม่ ๆ .......การเรียนรู้ไม่มีที่สิ้นสุด Greensand
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#11
Post
by bank9597 » Tue Aug 13, 2013 11:37 am
Greensand wrote: สูตรทั้งหมดสามารถใช้งานได้แล้ว ขอบคุณมากค่ะ
Sheet Holiday (วันหยุด)
1. คีย์วันที่ทั้งหมด
2. คีย์วันที่ที่เป็นวันหยุด
3. ใช้สูตรเพื่อหาค่าตามข้อ 1 ว่าแต่ละวันเป็นวันทำการหรือไม่ ถ้าใช่จะแสดงเป็นชื่อวัน แต่ถ้าเป็นวันหยุดจะแสดงเป็นตัวเลข
4. ใช้สูตรเพื่อหาค่าตามข้อ 3 เป็นตัวแทนค่าของแต่ละวัน กรณีไม่ใช่วันทำการตัวเลขจะแสดงเป็นตัวเลขวันทำการก่อนวันหยุด
5. Worksheet ที่จะใช้อ่านวัน Due Date ใช้สูตรเพื่ออ่านค่าตามข้อ 4 ซึ่งในสูตรจะ มีตัวเลขที่ต้องบวก เช่น Due Date 2 วันทำการให้บวกด้วย 1
แต่ถ้าเป็น 6 วันทำการให้บวกด้วย 5 เป็นต้น
ขอบคุณมากครับ ที่พยายามทำความเข้าใจ ซึ่งดีกว่าการเอาไปใช้อย่างเดียว โดยไม่พยายามทำความเข้าใจเลย
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
Greensand
Member
Posts: 181 Joined: Mon Oct 18, 2010 10:45 am
#12
Post
by Greensand » Tue Aug 13, 2013 11:40 am
เรียน คุณ bank9597
จากสูตรตามเอกสารแนบ มีบรรทัดที่คำตอบไม่ตรงตามสูตร คือวันที่ 1/8/2013 เนื่องจากผลลัพธ์ควรจะเป็น 5/8/2013 เพราะวันที่ 3-4 เป็นวันหยุด
แต่ผลลัพธ์ที่แสดงตามสูตรเป็นวันที่ 3/8/2013 ช่วยแนะนำเพิ่มเติมด้วยค่ะ
ขอขอบคุณที่ให้ความรู้ใหม่ ๆ .......การเรียนรู้ไม่มีที่สิ้นสุด Greensand
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#13
Post
by bank9597 » Tue Aug 13, 2013 11:57 am
Greensand wrote: เรียน คุณ bank9597
จากสูตรตามเอกสารแนบ มีบรรทัดที่คำตอบไม่ตรงตามสูตร คือวันที่ 1/8/2013 เนื่องจากผลลัพธ์ควรจะเป็น 5/8/2013 เพราะวันที่ 3-4 เป็นวันหยุด
แต่ผลลัพธ์ที่แสดงตามสูตรเป็นวันที่ 3/8/2013 ช่วยแนะนำเพิ่มเติมด้วยค่ะ
ลองตามนี้ครับ
ที่ Sheet1 เซลล์ B2 แก้สูตรเป็น =INDEX(Holiday!$A$2:$A$31,MATCH(VLOOKUP($A2,Holiday!$A$2:$C$31,3,0)+2,Holiday!$C$2:$C$31,0)) คัดลอกลงมาครับ
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
Greensand
Member
Posts: 181 Joined: Mon Oct 18, 2010 10:45 am
#14
Post
by Greensand » Tue Aug 13, 2013 12:31 pm
เรียน คุณ bank9597
สูตรทำงาน ผลลัพธ์ถูกต้อง
แก้ไขสูตรใน Worksheet ที่เพื่ออ่าน Due Date โดยบวกจำนวนวันทำการ เพื่อระบุ Due Date เช่น ถ้าเป็น 5 วันทำการจากวันรับงาน
ก็บวกด้วยเลข 5
ขอบคุณค่ะ
ขอขอบคุณที่ให้ความรู้ใหม่ ๆ .......การเรียนรู้ไม่มีที่สิ้นสุด Greensand